0% found this document useful (0 votes)
43 views14 pages

Time and Resource Estimation, Part 2: Next Class: Read CMMI Papers. Hand in Case Studies by Noon Before Class

This document discusses resource estimation for software projects. It provides tables with estimates for the shortest possible, efficient, and nominal schedules and team sizes for systems, business, and shrink-wrap products of varying sizes. For a 30,000 line systems product, the estimates given are 9 months, 13 months, and 16 months for the fastest, efficient, and nominal approaches respectively. For a 50,000 line product using the nominal approach, the estimates are 20 months for a system, 11 months for business, and 14 months for shrink-wrap. The document also discusses factors that affect estimation accuracy and techniques for schedule recovery when projects fall behind.

Uploaded by

bdiit
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views14 pages

Time and Resource Estimation, Part 2: Next Class: Read CMMI Papers. Hand in Case Studies by Noon Before Class

This document discusses resource estimation for software projects. It provides tables with estimates for the shortest possible, efficient, and nominal schedules and team sizes for systems, business, and shrink-wrap products of varying sizes. For a 30,000 line systems product, the estimates given are 9 months, 13 months, and 16 months for the fastest, efficient, and nominal approaches respectively. For a 50,000 line product using the nominal approach, the estimates are 20 months for a system, 11 months for business, and 14 months for shrink-wrap. The document also discusses factors that affect estimation accuracy and techniques for schedule recovery when projects fall behind.

Uploaded by

bdiit
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

1.

264 Lecture 4
Time and resource estimation, part 2

Next class: Read CMMI papers. Hand in case studies by noon before class
1

Schedule estimation from tables


Shortest possible schedule. (You cant beat this.)

Talent from top 10%, years of experience in environment


Ideal management, all staff available day 1
Requirements known day 1 and dont change
Tools, offices, methods are ideal

Efficient schedule.

Talent from top 25%, low turnover


Competent management, staff available as needed
Requirements changes are minor (5%); tools, offices are
effective

Nominal schedule

Talent from top 50%, turnover 12% per year


Some familiarity with tools and environment
2

Schedule estimation from tables


Shortest Possible Schedules
Systems Products

Business Products

Shrink-Wrap
Products

System Size
Schedule
Effort
Schedule
Effort
Schedule
Effort
(lines of code) (months) (man-months) (months) (man-months) (months) (man-months)

10,000

25

3.5

4.2

15,000

40

4.1

4.9

13

20,000

57

4.6

11

5.6

19

25,000

74

5.1

15

24

30,000

110

5.5

22

37

35,000

10

130

5.8

26

44

40,000

11

170

34

45,000

11

195

39

57
66

50,000

11

230

46

79

60,000

12

285

57

98

70,000

13

350

71

120

80,000

14

410

83

10

90,000

14

480

96

10

140
170

100,000

15

540

110

11

120,000

16

680

10

140

11

140,000

17

820

10

160

12

160,000

18

960

10

190

13

280
335

180,000

19

1,100

11

220

13

390

200,000

20

1,250

11

250

14

440

250,000

22

1,650

13

330

15

580

300,000

24

2,100

14

420

16

725

400,000

27

2,900

15

590

19

500,000

30

3,900

17

780

20

1,000
1,400

190
240

Image by MIT OpenCourseWare.

Schedule estimation from tables


Efficient Schedules
Systems Products

Shrink-Wrap
Products

Business Products

System Size
Schedule
Effort
Schedule
Effort
Schedule
Effort
(lines of code) (months) (man-months) (months) (man-months) (months) (man-months)

5.9

12

11

18

14

23

20

32

24

10

39

30

10

34

11

49
57

190

10

40

11

67

240

10

49

12

83

19

290

11

61

13

100

80,000

20

345

12

71

14

90,000

21

400

12

82

15

120
140

100,000

22

450

13

93

15

120,000

23

560

14

115

16

140,000

25

670

15

140

17

160,000

26

709

15

160

18

235
280

180,000

28

910

16

190

19

320

200,000

29

1,300

17

210

20

360

250,000

32

1,300

19

280

22

470

300,000

34

1,650

20

345

24

590

400,000

38

2,350

22

490

27

42

3,100

25

640

29

830
1,100

10,000

24

4.9

15,000

10

38

5.8

20,000

11

54

25,000

12

70

30,000

13

97

35,000

14

120

40,000

15

140

45,000

16

170

50,000

16

60,000

18

70,000

500,000

160
195

Image by MIT OpenCourseWare.

Schedule estimation from tables


Nominal Schedules
Systems Products

Business Products

Shrink-Wrap
Products

System Size
Schedule
Effort
Schedule
Effort
Schedule
Effort
(lines of code) (months) (man-months) (months) (man-months) (months) (man-months)

48

15

12

76

15

24

14

110

21

34

25,000

15

140

27

10

44

30,000

16

185

37

11

59

35,000

17

220

10

44

12

71

40,000

18

270

10

54

13

45,000

19

310

11

61

13

88
100

50,000

20

360

11

71

14

115

60,000

21

440

12

88

15

145

70,000

23

540

13

105

16

175

80,000

24

630

14

125

17

90,000

25

730

15

140

17

210
240

100,000

26

820

15

160

18

120,000

28

1,000

16

200

20

140,000

30

1,200

17

240

21

160,000

32

1,400

18

280

22

400
470

180,000

34

1,600

19

330

23

540

200,000

35

1,900

20

370

24

610

250,000

38

2,400

22

480

26

800

300,000

41

3,000

24

600

29

1,000

400,000

47

4,200

27

840

32

500,000

51

5,500

29

1,100

35

1,400
1,800

10,000

10

15,000
20,000

270
335

Image by MIT OpenCourseWare.

Questions
How long would it take to write a 30,000 line
systems product with the three different
approaches (fastest, efficient, nominal)?
How large would the team be in each case?
Explain the differences

How long would it take to write 50,000 line


systems, business and shrink-wrap products with
a nominal approach?
How large would the team be in each case?
Explain the differences

Graph calendar months, person months versus


lines of code for a systems product, any approach

Describe whether its linear or nonlinear


Just graph a few points; you dont need all of them
If nonlinear, in what way? Economies or diseconomies of
scale?

You dont need to apply ranges in this exercise

Answers

30,000 line systems product with the three different approaches?

How large would the team be in each case?

Explain the differences

50,000 line product with nominal approach

Team size

Explain the differences

Graphs: Nonlinear. Resources (person months) have diseconomies


of scale. Schedule time growth less than linear. Team size grows
very quickly.

9 months fastest possible


13 months efficient
16 months nominal

12 people fastest possible


7-8 people efficient
11-12 people nominal

Staff quality, process maturity (people, process)


20 months system, 11 months business, 14 months shrink-wrap
18 system, 6.5 business, 8 shrink-wrap
Systems software requires much more design, care in implementation,
testing, and will have many more bugs
Shrink wrap software must be more general and more easily configured
and supported than business software

Estimate refinement
Example of Single-Point-Estimation
History
Point in Project

Estimate
(man- months)

Initial product concept

100

Approved product concept

100

Requirements specification

135

Product design specification

145

Detailed design specification

160

Final

170

Image by MIT OpenCourseWare.

Example of a Range-Estimation
History
Point in Project

Estimate
(man- months)

Initial product concept

25-400

Approved product concept

50-200

Requirements specification

90-200

Product design specification

120-180

Detailed design specification

145-180

Final

170

Image by MIT OpenCourseWare.

Scheduling problems
Developers/analysts/consultants underestimate
task durations by 20-30% on average
And omit 30-50% of tasks

Average small project estimate is off by 100%


Big projects are worse

Once deadlines are missed, more effort is spent


explaining and re-planning
Schedule pressures affect morale, quality
40% of software errors are due to schedule pressure
Gambling in technical approach often occurs
This occurs in non-software projects as well
9

Scheduling pressures
Causes

Wishful thinking by customers, managers


No awareness of software estimation methods
Poor negotiating skills

75% of developers are introverts, only 33% of population is


Marketers, managers tend to be 10 years older and negotiate
for a living
Developers oppose negotiating tricks (high initial estimates,
etc.)

Cures

Principled negotiation

Separate people from positions (cooperate, explore options)


Focus on interests, not positions (find underlying needs)
Find mutual gains (phasing, fewer features, add resources)
Insist on using objective criteria (dont negotiate the estimate
itself)
10

Scheduling: Feature set control


Early project: feature set reduction
Minimal spec
Requirements scrubbing
Versioned development

Mid-project: feature creep control

Change analysis, change control board


Versioned development
Short development cycles

Late project: feature cuts

Eliminate low priority features

Remember:

A 50% cut in project size yields a 75% reduction in


resources and about a 50% reduction in schedule
11

Scheduling: Recovery
Most projects are in recovery mode much of the time

Primary problem is not how to finish quickly, but how to finish


at all

Options

Cut software/project size


Increase productivity with short-term improvements
Slip the schedule

Recovery plan

People: improve morale, correct major personnel and major


leadership problems
Adding people to a late project only makes it later

Process: fix classic errors, miniature milestones, risk mgt


Product: stabilize requirements, cut features, fix bugs
12

Summary: resource estimation

Almost always use spiral/agile model: Multiples of:


Requirements, design, implementation, QA

Use requirements and design documents to


estimate resources using function points
Requirements define product scope
Choose technology, determine lines of code

Estimate schedule, personnel

System type (systems, business, shrink wrap)


Process type (fastest, efficient, nominal, other)
Apply convergence graph to all estimates

Adjust as things change

Spirals, negotiation, feature management


Mini milestones, risk mgt, avoid classic mistakes

This works in non-software projects just as well

Shortest possible schedule: more expensive


Bigger project than past: diseconomies, more expensive
Less talented team than usual: longer, more expensive

13

MIT OpenCourseWare
http://ocw.mit.edu

1.264J / ESD.264J Database, Internet, and Systems Integration Technologies


Fall

For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.

You might also like