Presentation is loading. Please wait.

Presentation is loading. Please wait.

Based on Chapter 5 of the book [McConnell 2006]

Similar presentations


Presentation on theme: "Based on Chapter 5 of the book [McConnell 2006]"— Presentation transcript:

1 Based on Chapter 5 of the book [McConnell 2006]
CS 709B Advanced Software Project Management and Development Software Estimation - III Based on Chapter 5 of the book [McConnell 2006] Steve McConnell, Software Estimation: Demystifying the Black Art, Microsoft Press, 2006 May 3, 2012

2 Outline Estimate Influences Project Size
Kind of Software Being Developed Personnel Factors Programming Language Other Project Influences

3 Project Size Size can be measured in
Project size is the single most significant contributor to project costs, effort, and schedule Size can be measured in Lines of code (LOC) Function points Number of requirements, etc. Organizations don’t pay attention and: Estimate costs, effort and schedule without not knowing how big the software will be Do not adjust costs, effort and schedule when the software size is consciously increased

4 Project Size

5 Project Size In software, larger the groups of people involved, larger the communication overhead

6 Project Size The consequence is software’s diseconomy of scale
Outside software, an economy of scale implies that the bigger you get (e.g., a plant), the smaller the cost per unit produced becomes In software, on the contrary, the larger the system becomes, the greater the cost per each unit will be

7 Project Size The diseconomy of scale in smaller projects

8 Project Size Aggravating factors in larger projects: project conditions that degrade productivity more quickly than average as project size increases

9 Project Size Nominal effort: 10K to 100K LOC: 13x
Worst case growth: 10K to 100K LOC: 17x 10K to 1000K LOC: 300x

10 Project Size In conclusion, effort scales up exponentially with size (not linearly) The main implication of diseconomies of scale is that you cannot estimate correctly a new project based on past projects if they differ significantly in size To compute the impact of diseconmies of scale, use software tools, e.g., the author’s Construx Estimate (free download) In similar size projects the diseconomies of scale can be however ignored

11 Project Size About the same size projects are defined as being a factor of 3 from largest to smallest. In such projects you can safely use a ratio-based estimate, such as LOC/staff month

12 Kind of Software

13 Kind of Software Accounting for the industry you are working in:
Use results in Table 5-2 as a starting point. Note ranges are large, with a typical factor of 10 between high and low ends Use an estimating model such as Cocomo II, but remember not to use to many control knobs Use historical data from your organization (best approach) The kind of software you are developing is the second-most significant contributor to project effort and schedule

14 Personnel Factors Personnel factors can swing a project estimate by as much as factor of 22 (ranked worst on right vs. ranked right on left, on all categories)

15 Personnel Factors Numerous studies since 1960s have shown 10:1 to 20:1 differences in individual and team performances Implications: You cannot accurately estimate a project if you don’t have some idea of who will be doing the work Most accurate estimations are when you know who specifically will be doing the work that you estimate Within a particular organization there is not that much variation though (less than 10:1) because both top-tier and bottom-tier developers tend to migrate towards groups of similar skills

16 Programming Language The programming language used affects the estimates in four ways: Team’s experience with the language has an impact of about 40% on the overall productivity rate Some languages generate more functionality per LOC than others (Table 5-3) The associated tool support and environment can vary effort up to 50% (from best to worst) Interpreted languages tend to be more productive (about 2 times) than compiled languages

17 Programming Language

18 Other Factors (Cocomo II)
Subjectivity creeping in Cocomo II is due more to “usage failure” than to “method failure” Cocomo II has conducted the most statistically rigorous analysis of factors incorporated Cocomo II’s adjustment factors help gain an understanding of different project influences The method includes Effort Multipliers (EMs) Table 5-4 contains EMs from “Very Low” (e.g. 1.22) to “Very High” (e.g. 0.81) The Influence Factor is the ratio Very Low/Very High (e.g., 1.51) and indicates the degree of the factor’s influence on the overall estimate

19 Other Factors (Cocomo II)

20 Other Factors (Cocomo II)

21 Other Factors (Cocomo II)

22 Other Factors (Cocomo II)

23 Other Factors (Cocomo II)


Download ppt "Based on Chapter 5 of the book [McConnell 2006]"

Similar presentations


Ads by Google