Myths
-
Upload
crocketthopper -
Category
Economy & Finance
-
view
522 -
download
4
description
Transcript of 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
Myth #1Myth #1
Rapid Development Rapid Development is a New Issueis a New Issue
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.”
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:
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
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
Myth #2Myth #2
Productivity Is About the Productivity Is About the Same at Every CompanySame at Every Company
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
Myth #3Myth #3
Working Hard Promotes Working Hard Promotes Rapid DevelopmentRapid Development
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”
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”
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
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
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
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
Myth #4Myth #4
Short Estimates Produce Short Estimates Produce Short ProjectsShort Projects
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
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
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
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
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
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
Myth #5Myth #5
You Can Trade-Off Quality for You Can Trade-Off Quality for Schedule or CostSchedule or Cost
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)
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
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
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!
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
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)
Myth #6Myth #6
Customers and Management Customers and Management Want Rapid DevelopmentWant Rapid Development
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
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
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
Myth #7Myth #7
Smart Programmers Exert Smart Programmers Exert the Biggest Productivity the Biggest Productivity
ImpactImpact
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 ...
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?
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?
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?
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
Myth #8Myth #8
Software Processes Apply Software Processes Apply Only to Large, Old-Fashioned, Only to Large, Old-Fashioned,
Bureaucratic ProjectsBureaucratic Projects
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
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
Myth #9Myth #9
Systematic Development Systematic Development Approaches Hurt MoraleApproaches Hurt Morale
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
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
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.”
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.”
Myth #10Myth #10
Development in Development in “Internet Time” is Faster “Internet Time” is Faster
Than Old Fashioned Than Old Fashioned DevelopmentDevelopment
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?
consulting training software projects construx.com
50
Traditional EstimateTraditional Estimate
Effort
Program Size
Traditional Estimated Effort
consulting training software projects construx.com
51
Traditional ResultsTraditional Results
Effort
Program Size
Actual Effort
Traditional Estimated Effort
consulting training software projects construx.com
52
Traditional Estimated Effort
““Internet Time” EstimateInternet Time” Estimate
Effort
Program Size
“Internet Time” Estimate
Actual Effort
consulting training software projects construx.com
53
Effort
Program Size
Internet Time Effort
Traditional Estimated Effort
“Internet Time” Estimate
Internet Time ResultsInternet Time Results
What’s Really Changed?What’s Really Changed?
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
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
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!
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!
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
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