Presentation is loading. Please wait.

Presentation is loading. Please wait.

Estimating Software Projects & Activity Scheduling in the Dynamic, Multi-Project Setting: Choosing Heuristics Through Deterministic Simulation.

Similar presentations


Presentation on theme: "Estimating Software Projects & Activity Scheduling in the Dynamic, Multi-Project Setting: Choosing Heuristics Through Deterministic Simulation."— Presentation transcript:

1 Estimating Software Projects & Activity Scheduling in the Dynamic, Multi-Project Setting: Choosing Heuristics Through Deterministic Simulation

2 Acknowledgements Estimating Software Project Estimating Software Project R. Agarwal, Manish Kumar, Yogesh, S. Mallick, R.M. Bharadwaj, D. Anantwar Activity Scheduling in the Dynamic, Multi- Project Setting: Choosing Heuristics Through Deterministic Simulation Activity Scheduling in the Dynamic, Multi- Project Setting: Choosing Heuristics Through Deterministic Simulation Robert C. Ash, Division of Business and Economics Indiana University Southeast

3 Introduction What? What? Why? Why? How? How?

4 Approaches for Defining Software Volume Parametric Parametric Heuristic Heuristic

5 Parametric Approaches COCOMO COCOMO COCOMOII COCOMOII COCOTS COCOTS Function Points Function Points Newer Approaches: Object metrics & Graphical User Interfaces (GUI) metrics Newer Approaches: Object metrics & Graphical User Interfaces (GUI) metrics

6 Most fundamental calculation: Most fundamental calculation: (PM) (PM) A = proportionality constant B = depends on development mode SIZE = SLOC, KLOC PM = Person-Months COCOMO (COnstructive COst MOdel)

7 COCOMO - MODELS Basic Model Basic Model– Intermediate Model Intermediate Model Detailed Model Detailed Model– Time to develop (TDEV) (months) Time to develop (TDEV) (months)–

8 Example: Project of 3k LOC (Organic Mode) Basic Model: Effort = 2.4 * 31.05 = 7.6 PM TDEV = 2.5 * 7.6^.38 = 5.4 Months Avg. staffing = 7.6/5.4 = 1.4 person(s) Intermediate Model: EAF = 1.30 * 1.10 = 1.43 Effort = EAF * 3.2 * (3k)^1.05 = 14.5 PM TDEV = 2.5 * 14.5^.38 = 6.9 Months Avg. staffing = 14.5/6.9 = 2.1 person(s)

9 COCOMO II Advanced version of COCOMO. Advanced version of COCOMO. Two Models developed to be used for two stages of software development: Two Models developed to be used for two stages of software development: –Early Design Model –Post-Architecture Model

10 Stages/Equations Basic Equation: Early Design Model Post-Architecture Model Well understood project Moderate fidelity estimates Well understood requirements Well understood architecture Detailed project characterization High-fidelity estimates Stable requirements baseline Stable architecture baseline

11 COCOTS (COnstructive COTS) COTS Component assessment COTS Component assessment Tailoring Tailoring Development and Testing of “glue” code Development and Testing of “glue” code Increase level programming due to volatility Increase level programming due to volatility

12 Function Point Analysis Developed to overcome difficulties associated with LOC as a measure for predicting effort. Developed to overcome difficulties associated with LOC as a measure for predicting effort. Measures from functional perspective independent of technology. Measures from functional perspective independent of technology. Track and monitor scope creep. Track and monitor scope creep. FP Counts can be compared at end of phases. FP Counts can be compared at end of phases.

13 Major Components External Inputs (EI) External Inputs (EI) External Outputs (EO) External Outputs (EO) External Inquiry (EQ) External Inquiry (EQ) Internal Logical Files (ILFs) Internal Logical Files (ILFs) External Logical File (EIFs) External Logical File (EIFs)

14 Function Point Count FP = UAF x VAF FP = UAF x VAFTotal Complexity of Components Low Average High Type of Component __ x 10 = __ x 7 = __ x 5 = EIFs __ x 15 = __ x 10 = __ x 7 = ILFs __ x 6 = __ x 4 = __ x 3 = EQ __ x 7 = __ x 5 = __ x 4 = EO __ x 5 = __ x 4 = __ x 3 = EI TOTAL ADJUSTED FUNCTION POINTS (FP) MULTIPLIED VALUE ADJUSTOR FACTOR (VAF) TOTAL NUMBER OF UNADJUSTED FUNCTION POINTS (UAF)

15 Benefits of Function Point Analysis Used to size software applications more accurately. Used to size software applications more accurately. Different people can use them to obtain the same measure. Different people can use them to obtain the same measure. Easily understood by the non-technical user. Easily understood by the non-technical user.

16 Heuristic Approaches Bottom Up Bottom Up Top Down Top Down Expert Judgment : Wideband Delphi Expert Judgment : Wideband Delphi Estimation by Analogy Estimation by Analogy Deterministic Simulation Deterministic Simulation

17 Deterministic Simulation Overcome shortcomings found in other project scheduling tools. Overcome shortcomings found in other project scheduling tools. –Assume unlimited personnel and resources. –Applied to one project at a time. Effective tool for choosing the heuristics that best fits the projects and activities. Effective tool for choosing the heuristics that best fits the projects and activities.

18 Pre-conditions for Deterministic Simulation Database for critical project resource pools. Database for critical project resource pools. Activity information for known projects loaded in project software program. Activity information for known projects loaded in project software program. Algorithm loaded in project software program. Algorithm loaded in project software program.

19 Example ID # Activity Description Immedi ate Predece ssor 1 Customer service problem call - 2 Detailed interview of customer 1 3 Detailed interview of original software design team and review of detailed documentation 1 4 Determination of problem root cause and reproduction of the problem 2,3 5 Brainstorm for solutions and development of solution 4 6 Modify database 5 7 Modify code 5 8 Test the modifications 6,7 9 Implement the solution 8 Scheduling Heuristic Description for project activity resource loadings & initiation (RL& I) MinSlack RL&I first the precedence-feasible Activity with the minimum total slack SPT RL&I first the precedence-feasible activity w/the shortest activity duration SASP RL&I first the precedence-feasible activity w/the shortest duration from the shortest project. MinLFT RL&I first the precedence-feasible activity w/the minimum late finish time. MaxNPV RL&I first the precedence-feasible activity that will maximize the project net present value.

20 Conclusion Which cost estimation model? Which cost estimation model? How to measure software size in LOC or FPs? How to measure software size in LOC or FPs? What constitutes a good estimate? What constitutes a good estimate?


Download ppt "Estimating Software Projects & Activity Scheduling in the Dynamic, Multi-Project Setting: Choosing Heuristics Through Deterministic Simulation."

Similar presentations


Ads by Google