Myths

60
10 Myths of 10 Myths of Rapid Development Rapid Development Steve McConnell Steve McConnell © 2000-2001. All Rights Reserved. © 2000-2001. All Rights Reserved. Construx Construx Delivering Software Project Success Delivering Software Project Success

description

test doc

Transcript of Myths

Page 1: Myths

10 Myths of 10 Myths of Rapid DevelopmentRapid Development

Steve McConnellSteve McConnell

© 2000-2001. All Rights Reserved.© 2000-2001. All Rights Reserved.

ConstruxConstruxDelivering Software Project SuccessDelivering Software Project Success

Page 2: Myths

Myth #1Myth #1

Rapid Development Rapid Development is a New Issueis a New Issue

Page 3: Myths

consulting training software projects construx.com

3

Rapid Development Has Been Rapid Development Has Been an Issue for 30 Years!an Issue for 30 Years!

Gene Bylinsky (1967)Gene Bylinsky (1967)“All significant programming problems “All significant programming problems turn out to be emergencies"turn out to be emergencies"

Fred Brooks (Mythical Man-Month, 1975):Fred Brooks (Mythical Man-Month, 1975):

““More software projects have gone awry More software projects have gone awry for lack of calendar time than all other for lack of calendar time than all other causes combined.”causes combined.”

Page 4: Myths

consulting training software projects construx.com

4

Why Do We Need Why Do We Need Rapid Development?Rapid Development?

1. Developers estimate the schedule1. Developers estimate the schedule

2. Marketing cuts the schedule by 50%2. Marketing cuts the schedule by 50%

3. Team skips requirements because there 3. Team skips requirements because there isn’t enough time for itisn’t enough time for it

4. Team skips design because there isn’t 4. Team skips design because there isn’t enough time for itenough time for it

5. Team begins coding and testing5. Team begins coding and testing

Let’s walk our way through a typical project:Let’s walk our way through a typical project:

Page 5: Myths

consulting training software projects construx.com

5

Why Do We Need Why Do We Need Rapid Development? (cont.)Rapid Development? (cont.)

7. Team codes “quick and dirty” solutions to 7. Team codes “quick and dirty” solutions to design problemsdesign problems

The project gets laterThe project gets later

6. Team adds features that were missed when 6. Team adds features that were missed when

requirements work was skipped requirements work was skipped

The project gets laterThe project gets later

Page 6: Myths

consulting training software projects construx.com

6

Why Do We Need Why Do We Need Rapid Development? (cont.)Rapid Development? (cont.)

After many more of these cycles...After many more of these cycles...

9. Team releases the software over budget 9. Team releases the software over budget and with less functionality than desired … and with less functionality than desired …

close to the time developers originally close to the time developers originally estimated in Step 1!estimated in Step 1!

8. Team fixes the bugs created by the quick 8. Team fixes the bugs created by the quick and dirty workaroundsand dirty workarounds

The project gets laterThe project gets later

Page 7: Myths

Myth #2Myth #2

Productivity Is About the Productivity Is About the Same at Every CompanySame at Every Company

Page 8: Myths

consulting training software projects construx.com

8

Productivity Varies a LotProductivity Varies a Lot

20:1 variations in productivity between 20:1 variations in productivity between different programmersdifferent programmers

10:1 variations in productivity between 10:1 variations in productivity between different companies working in the same different companies working in the same industriesindustries

Productivity is a learned characteristic Productivity is a learned characteristic and can be changedand can be changed

Page 9: Myths

Myth #3Myth #3

Working Hard Promotes Working Hard Promotes Rapid DevelopmentRapid Development

Page 10: Myths

consulting training software projects construx.com

10

Old SayingOld Saying

““It’s better to work smart It’s better to work smart than to work hard”than to work hard”

Page 11: Myths

consulting training software projects construx.com

11

Microsoft Changed the Old Microsoft Changed the Old Saying to...Saying to...

““It’s better to work smart It’s better to work smart andand hard” hard”

Page 12: Myths

consulting training software projects construx.com

12

Amazon.com Changed the Amazon.com Changed the Saying to...Saying to...

““It’s better to work smart It’s better to work smart andand hard hard andand long!” long!”

This is the state of most of the software This is the state of most of the software world todayworld today

Page 13: Myths

consulting training software projects construx.com

13

Reality Check: Reality Check:

Cancelled29%

51-100% Late9%

101-200% Late16%

More than 200% Late

6%

On-Time26%

21-50% Late8%

Less than 20% Late

6%

Project Resolutions

Page 14: Myths

consulting training software projects construx.com

14

Reality Check: Reality Check: Typical Project ResolutionsTypical Project Resolutions

Only about 25% of all projects are Only about 25% of all projects are delivered on timedelivered on time

About 75% of all projects are either late or About 75% of all projects are either late or cancelled cancelled

As many projects are cancelled as As many projects are cancelled as delivered on timedelivered on time

Page 15: Myths

consulting training software projects construx.com

15

Bottom Line Bottom Line

Working hard Working hard andand smart usually means smart usually means working working dumbdumb!!

The average project spends 40-80% of its The average project spends 40-80% of its budget on unplanned rework (defect budget on unplanned rework (defect corrections)--that is working dumb corrections)--that is working dumb

The average project burns out its The average project burns out its developers--that is working dumbdevelopers--that is working dumb

““Work smart, not hard” turns out to be the Work smart, not hard” turns out to be the right idea after allright idea after all

Page 16: Myths

Myth #4Myth #4

Short Estimates Produce Short Estimates Produce Short ProjectsShort Projects

Page 17: Myths

consulting training software projects construx.com

17

Effect of Estimation AccuracyEffect of Estimation Accuracy

Linear impact due to Parkinson’s Law

Non-linear impact due to planning errors, upstream defects, high-risk practices

100% >100%< 100%

Target as a Percentage of Nominal Estimate

OverestimationUnderestimation

CostEffort

Schedule

Page 18: Myths

consulting training software projects construx.com

18

Short Estimates Increase Cost Short Estimates Increase Cost and Scheduleand Schedule

Short estimates lead to planning mistakes Short estimates lead to planning mistakes and quality mistakes that make projects and quality mistakes that make projects take take longerlonger

Underestimation is a common, severe Underestimation is a common, severe problemproblem

Very little estimation is actually done--Very little estimation is actually done--mostly target settingmostly target setting

Part of achieving true rapid development Part of achieving true rapid development is making software estimates rationalis making software estimates rational

Page 19: Myths

consulting training software projects construx.com

19

Improved EstimationImproved Estimation

From a set of U.S. Air Force projects

Project Performance Compared to Estimate

0%

100%

200%

300%

400%

500%

600%

0 1 2 3 4

SW-CMM Level

Act

ual

Res

ult

s as

a P

erce

nta

ge

of

Est

imat

ed R

esu

lts

Page 20: Myths

consulting training software projects construx.com

20

Improved EstimationImproved Estimation

From a set of U.S. Air Force projects

Project Performance Compared to Estimate

0%

100%

200%

300%

400%

500%

600%

0 1 2 3 4

SW-CMM Level

Act

ual

Res

ult

s as

a P

erce

nta

ge

of

Est

imat

ed R

esu

lts

Page 21: Myths

consulting training software projects construx.com

21

Improved EstimationImproved Estimation

From a set of U.S. Air Force projects

Project Performance Compared to Estimate

0%

100%

200%

300%

400%

500%

600%

0 1 2 3 4

SW-CMM Level

Act

ual

Res

ult

s as

a P

erce

nta

ge

of

Est

imat

ed R

esu

lts

Page 22: Myths

consulting training software projects construx.com

22

Improved EstimationImproved Estimation

Estimates must be made accurate before Estimates must be made accurate before rapid development is achievedrapid development is achieved

This typically means This typically means increasing increasing estimates estimates (common practice is under-estimation)(common practice is under-estimation)

This is hard because people want to This is hard because people want to believe they will develop software faster believe they will develop software faster than they usually dothan they usually do

Page 23: Myths

Myth #5Myth #5

You Can Trade-Off Quality for You Can Trade-Off Quality for Schedule or CostSchedule or Cost

Page 24: Myths

consulting training software projects construx.com

24

Cost of QualityCost of Quality

For most projects, unplanned defect For most projects, unplanned defect correction work is the largest cost driver correction work is the largest cost driver (40-80% of total cost)(40-80% of total cost)

Page 25: Myths

consulting training software projects construx.com

25

Late Defect Correction is Late Defect Correction is Expensive Expensive

Phase That a Defect Is Created

Cost to Correct

Requirements

Architecture

Detailed design

Construction

Requirements Architecture Detailed design

Construction Release

50-200X

1X

Phase That a Defect Is Corrected

50-200X

1X

Page 26: Myths

consulting training software projects construx.com

26

Phase That a Defect Is Created

Cost to Correct

Requirements

Architecture

Detailed design

Construction

Requirements Architecture Detailed design

Construction Release

50-200X

1X

Phase That a Defect Is Corrected

50-200X

1X

Fix More Defects Earlier!Fix More Defects Earlier!

Fix Here

Not Here

Page 27: Myths

consulting training software projects construx.com

27

Phase That a Defect Is Created

Cost to Correct

Requirements

Architecture

Detailed design

Construction

Requirements Architecture Detailed design

Construction Release

10X?1X

Phase That a Defect Is Corrected

10X?

1X

Reduce Defect Cost Increase!Reduce Defect Cost Increase!

Page 28: Myths

consulting training software projects construx.com

28

A focus on quality typically reduces effort A focus on quality typically reduces effort and shortens scheduleand shortens schedule

Effort/ Cost/Schedule

Percentage of DefectsRemoved Before Release

95% 100%

The averageorganization is

here ( 85%)

Cost of QualityCost of Quality

Page 29: Myths

consulting training software projects construx.com

29

Cost of QualityCost of Quality

When organizations focus on quality, they When organizations focus on quality, they typically improve in all categories at oncetypically improve in all categories at once

Typical results (13 company study):Typical results (13 company study): Duration: 3.5 yearsDuration: 3.5 years Productivity gain per year: 35% (186% total)Productivity gain per year: 35% (186% total) Schedule reduction per year: 19% (52% total)Schedule reduction per year: 19% (52% total) Post-release defect report reduction per year: Post-release defect report reduction per year:

39% (82% total)39% (82% total)

Page 30: Myths

Myth #6Myth #6

Customers and Management Customers and Management Want Rapid DevelopmentWant Rapid Development

Page 31: Myths

consulting training software projects construx.com

31

Speed-OrientedSpeed-Oriented Practices Practices

6 Months: Nominal Schedule

Competitor will release next version of their

product

Risk of Overrun

AverageProject

“Rapid”Project

Page 32: Myths

consulting training software projects construx.com

32

6 Months: Nominal Schedule

Beginning of Holiday Sales Season or Trade

Show

AverageProject

“Rapid”Project

Risk of Overrun

Risk-Oriented PracticesRisk-Oriented Practices

Page 33: Myths

consulting training software projects construx.com

33

6 Months: Nominal Schedule

Risk of Overrun

AverageProject

“Rapid”Project

Project review meeting where project is cancelled due to

general nervousness

Visibility-Oriented PracticesVisibility-Oriented Practices

Page 34: Myths

Myth #7Myth #7

Smart Programmers Exert Smart Programmers Exert the Biggest Productivity the Biggest Productivity

ImpactImpact

Page 35: Myths

consulting training software projects construx.com

35

A Lot of Truth to ThisA Lot of Truth to This

20:1 difference in productivity among 20:1 difference in productivity among programmers with similar experience programmers with similar experience levelslevels

Similar differences in design quality, Similar differences in design quality, program size, debugging performance, program size, debugging performance, and debugging effectivenessand debugging effectiveness

Programmer effectiveness varies Programmer effectiveness varies tremendouslytremendously

But ...But ...

Page 36: Myths

consulting training software projects construx.com

36

What if...What if...

A company has two star programmers…A company has two star programmers… That spend the whole project arguing with That spend the whole project arguing with

each other instead of working?each other instead of working?

Page 37: Myths

consulting training software projects construx.com

37

What if...What if...

A company’s star programmers are A company’s star programmers are assigned to a project …assigned to a project …

That’s ultimately cancelled?That’s ultimately cancelled?

Page 38: Myths

consulting training software projects construx.com

38

What if…What if…

A company’s star programmers very A company’s star programmers very quickly produce functionality …quickly produce functionality …

That’s eventually cut from the product in That’s eventually cut from the product in order to meet a ship date?order to meet a ship date?

Page 39: Myths

consulting training software projects construx.com

39

Smart Individuals Don’t Smart Individuals Don’t Guarantee Rapid ResultsGuarantee Rapid Results

We should not ignore the importance of We should not ignore the importance of smart programmers, but we must realize smart programmers, but we must realize smart programmers are just one of many smart programmers are just one of many influences on a project’s scheduleinfluences on a project’s schedule

Team cohesion matters at least as muchTeam cohesion matters at least as much Organizational characteristics make a Organizational characteristics make a

significant difference toosignificant difference too

Page 40: Myths

Myth #8Myth #8

Software Processes Apply Software Processes Apply Only to Large, Old-Fashioned, Only to Large, Old-Fashioned,

Bureaucratic ProjectsBureaucratic Projects

Page 41: Myths

consulting training software projects construx.com

41

Telcordia Telcordia (assessed at CMM Level 5)(assessed at CMM Level 5)

FCC mandated a changeFCC mandated a change Telcordia applied Level 5 practices to a Telcordia applied Level 5 practices to a

project to…project to… Make changes in 3,000 instructionsMake changes in 3,000 instructions Spread through 40% of a code baseSpread through 40% of a code base Consisting of 1 million LOCConsisting of 1 million LOC No errors reported in next year of operationNo errors reported in next year of operation Project took Project took 9 hours9 hours from requirements from requirements

analysis through regression testinganalysis through regression testing

Page 42: Myths

consulting training software projects construx.com

42

Good Processes are Based on Good Processes are Based on Common SenseCommon Sense

QualityCreativeChaos

MindlessChaos

MindlessBureaucracy

Yes NoY

es

No

Documented ProcessC

om

mo

n S

en

se

Source: Telcordia Technologies: The Journey to High Maturity, Bill Pitterman, IEEE Software, July 2000

Page 43: Myths

Myth #9Myth #9

Systematic Development Systematic Development Approaches Hurt MoraleApproaches Hurt Morale

Page 44: Myths

consulting training software projects construx.com

44

Effect of Process on MoraleEffect of Process on Morale

50 Company Survey: 50 Company Survey:

Percentage of Percentage of people that people that rated their rated their morale as morale as “good” or “good” or “excellent”:“excellent”:

0%

10%

20%

30%

40%

50%

60%

SW-CMMLevel 1

SW-CMMLevel 2

SW-CMMLevel 3

Page 45: Myths

consulting training software projects construx.com

45

What’s Really Bad for Morale?What’s Really Bad for Morale?

Long hoursLong hours Unrealistic schedulesUnrealistic schedules High stressHigh stress Feeling of low productivityFeeling of low productivity Working on poor-quality softwareWorking on poor-quality software

Page 46: Myths

consulting training software projects construx.com

46

Reports from Process-Reports from Process-Intensive CompaniesIntensive Companies

Cheyenne Mountain ATAMS Project: Cheyenne Mountain ATAMS Project:

““Engineers on the project viewed it as a Engineers on the project viewed it as a positive experience. They felt the process positive experience. They felt the process brought out everyone's best performance, brought out everyone's best performance, and they said they would be reluctant to and they said they would be reluctant to develop software without it.”develop software without it.”

Page 47: Myths

consulting training software projects construx.com

47

Reports from Process-Reports from Process-Intensive CompaniesIntensive Companies

Telcordia (CMM Level 5): Telcordia (CMM Level 5):

““Our software business has doubled, our Our software business has doubled, our profits have grown, and we have measured profits have grown, and we have measured customer satisfaction at better than 95%. customer satisfaction at better than 95%. Our on-time delivery is 98% to 99% over the Our on-time delivery is 98% to 99% over the last three years. Our employee turnover last three years. Our employee turnover rate is in low single digits.”rate is in low single digits.”

Page 48: Myths

Myth #10Myth #10

Development in Development in “Internet Time” is Faster “Internet Time” is Faster

Than Old Fashioned Than Old Fashioned DevelopmentDevelopment

Page 49: Myths

consulting training software projects construx.com

49

Key QuestionKey Question

How is development in “Internet Time” How is development in “Internet Time” different from previous kinds of different from previous kinds of development?development?

Page 50: Myths

consulting training software projects construx.com

50

Traditional EstimateTraditional Estimate

Effort

Program Size

Traditional Estimated Effort

Page 51: Myths

consulting training software projects construx.com

51

Traditional ResultsTraditional Results

Effort

Program Size

Actual Effort

Traditional Estimated Effort

Page 52: Myths

consulting training software projects construx.com

52

Traditional Estimated Effort

““Internet Time” EstimateInternet Time” Estimate

Effort

Program Size

“Internet Time” Estimate

Actual Effort

Page 53: Myths

consulting training software projects construx.com

53

Effort

Program Size

Internet Time Effort

Traditional Estimated Effort

“Internet Time” Estimate

Internet Time ResultsInternet Time Results

Page 54: Myths

What’s Really Changed?What’s Really Changed?

Page 55: Myths

consulting training software projects construx.com

55

19801980

Mainframe developers worked long hoursMainframe developers worked long hours They bought their own pizzaThey bought their own pizza

Page 56: Myths

consulting training software projects construx.com

56

19901990

PC developers worked long hoursPC developers worked long hours ““Enlightened management” bought their Enlightened management” bought their

pizzapizza

Page 57: Myths

consulting training software projects construx.com

57

20002000

Web developers work long hoursWeb developers work long hours Venture capitalists buy their pizza!Venture capitalists buy their pizza!

Page 58: Myths

consulting training software projects construx.com

58

20012001

With widespread cost cutting...With widespread cost cutting... We’re back to buying our own pizza!We’re back to buying our own pizza!

Page 59: Myths

consulting training software projects construx.com

59

ConclusionsConclusions

Rapid development is possible!Rapid development is possible! Some companies are developing amazingly Some companies are developing amazingly

rapidly (e.g., Telcordia)rapidly (e.g., Telcordia) Achieving rapid development requires a Achieving rapid development requires a

combination of process and common sensecombination of process and common sense It requires a commitment to avoid the It requires a commitment to avoid the

problems associated with the 10 mythsproblems associated with the 10 myths

Page 60: Myths

consulting training software projects construx.com

60

ConsultingConsulting Project ReviewsProject Reviews Requirements Requirements

WorkshopsWorkshops Project PlanningProject Planning CoachingCoaching Organizational Organizational

AssessmentsAssessments

TrainingTraining Public SeminarsPublic Seminars Onsite Seminars Onsite Seminars Training Needs Training Needs

AssessmentAssessment Customized Customized

CurriculumsCurriculums Executive BriefingsExecutive Briefings

Software ProjectsSoftware Projects

Construx ServicesConstrux Services