19.1 Influences on Effort


19.1 Influences on Effort

The largest influence on a project's effort is the size of the software being built. The second largest influence is your organization's productivity.

Table 19-1 illustrates the ranges of productivities between different software projects. The data in the table illustrates the hazards both of using industry-average data and of not considering the effect of diseconomies of scale. Embedded software projects, such as the Lincoln Continental and IBM Checkout Scanner projects, tend to generate code at a slower rate than shrink-wrapped projects such Microsoft Excel. If you used "average" productivity data from the wrong kind of project, your estimate could be wrong by a factor of 10 or more.

Table 19-1: Examples of Productivity Variation Among Different Kinds of Software Projects (* = Estimated)

Product

New Lines of Code Equivalent

Staff Years

Year Built

Approximate Cost in 2006 Dollars

$/LOC

LOC/Staff Year

IBM Chief Programmer Team Project

83,000

9

1968

1,400,000*

$17

9,200

Lincoln Continental

83,000

35

1989

2,900,000

$35

2,400

IBM Checkout Scanner

90,000

58

1989

4,900,000

$55

1,600

Microsoft Word for Windows 1.0

249,000

55

1989

8,500,000*

$34

4,500

NASA SEL Project

249,000

24

2002

3,700,000*

$15

10,000

Lotus 123 v. 3

400,000

263

1989

36,000,000

$90

1,500

Microsoft Excel 3.0

649,000

50*

1990

7,700,000

$12

13,000

Citibank Teller Machine

780,000

150

1989

22,000,000

$28

5,200

Windows NT 3.1 (first version)

2,880,000

2,000*

1994

200,000,000

$70

1,400

Space Shuttle

25,600,000

22,096

1989

2,000,000,000

$77

1,200

Sources: "Chief Programmer Team Management of Production Programming" (Baker 1972), "Microsoft Corporation: Office Business Unit" (Iansiti 1994), "How to Break the Software Logjam" (Schlender 1989), "Software Engineering Laboratory (SEL) Relationships, Models, and Management Rules" (NASA, 1991), Microsoft Secrets (Cusumano and Selby 1995).

Within the same industry, productivity can still vary significantly. Microsoft Excel 3.0 produced code at about 10 times the rate that Lotus 123 v.3 did, even though both projects were trying to build similar products and were conducted within the same timeframe.

Even within the same organization, productivity can still vary because of diseconomies of scale and other factors. The Microsoft Windows NT project produced code at a much slower rate than other Microsoft projects did, both because it was a systems software project rather than an applications software project and because it was much larger.

The lowest rate of productivity in Table 19-1 on a line-of-code-per-staff-year basis is the Space Shuttle software, but it would be a mistake to characterize that development team as unproductive. For projects of that size, the odds of outright failure exceed 50% (Jones 1998). The fact that the project finished at all is a major accomplishment. Its productivity was only 15% less than the Windows NT project even though the Space Shuttle software was 10 times the size of the Windows NT project, which is impressive.

If you don't have historical data on your organization's productivity, you can approximate your productivity by using industry-average figures for different kinds of software: internal business systems, life-critical systems, games, device drivers, and so on. But beware of the factor of 10 differences in productivity for different organizations within the same industry. If you do have data on your organization's historical productivity, you should use that data to convert your size estimates to effort estimates instead of using industry-average data.




Software Estimation. Demystifying the Black Art
Software Estimation: Demystifying the Black Art (Best Practices (Microsoft))
ISBN: 0735605351
EAN: 2147483647
Year: 2004
Pages: 212

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net