10 Keys to Successful Software Projects An Executive Guide © 2000 Construx Software Builders, Inc. All Rights Reserved. www.construx.com
Construx
Del ivering Software Project Success
Background
State of the Art vs. State of the Practice “The gap between the best software engineering practice and the average practice is very wide–perhaps wider than in any other engineering discipline.” – Fred Brooks
Construx Software (www.construx.com)
3
Productivity Varies Significantly 10:1 variations in productivity between different companies working in the same industries v Productivity is a learned characteristic and can be changed v
Construx Software (www.construx.com)
4
Typical Project Outcomes More than 200% Late 6% 101-200% Late 16%
Cancelled 29%
51-100% Late 9%
Source: Standish Group Survey, 1999 (from a survey of 8000 business systems projects) Construx Software (www.construx.com)
21-50% Late 8% Less than 20% Late 6%
On-Time 26% 5
Most Common Sources of Cancellations and Overruns 1. Ill-defined or changing requirements 2. Poor project planning/management 3. Uncontrolled quality problems 4. Unrealistic expectations/inaccurate estimates 5. Naive adoption of new technology
Construx Software (www.construx.com)
6
Project Success
Success = Planning * Execution Assign values between 0% -100% for Planning and Execution. Multiply to determine your chance of success.
Construx Software (www.construx.com)
7
Planning
Key #1 Clear Vision
Clear Vision Project teams work toward the goals you set for them v Too many goals = no goals v Good vision statement describes what to leave out— prioritizes v Product vision affects achievement of business goals v
Construx Software (www.construx.com)
10
Example: v
What kind of Rapid Development do you want? u u u
v
Speed oriented Schedule-risk oriented Visibility oriented
Without clear vision you can end up with a project outcome completely counter to your goals
Construx Software (www.construx.com)
11
Speed-Oriented Practices-Better Best Case ... 6 Months: Nominal Schedule
Average Project “Rapid” Project
Construx Software (www.construx.com)
12
… Worse Worst Case 6 Months: Nominal Schedule
Average Project Risk of Overrun
“Rapid” Project
Construx Software (www.construx.com)
13
Sometimes it’s Justified (sometimes not) 6 Months: Nominal Schedule
Average Project Risk of Overrun
“Rapid” Project Competitor will release next version of their product Construx Software (www.construx.com)
14
Key #2 Stable, Complete, Written Requirements
Requirements Requirements change is the most common software project risk v Comprehensive, 100% stable requirements are usually not possible, but... v Most requirements changes arise from requirements that were incompletely defined in the first place, not “changing markets” or other similar reasons v
Construx Software (www.construx.com)
16
Techniques for Defining Stable Requirements Requirements workshop v User interface prototyping v User interview v Use cases v User manual as spec v Usability studies v Incremental delivery v Requirements reviews/inspections v
Construx Software (www.construx.com)
17
Key #3 Detailed User Interface Prototypes
User Interface Prototypes Addresses the most common project risk–changing requirements v Involves users with a “hot” medium v Correlated with lower costs, shorter schedules, and higher user satisfaction v Significant skill required to develop prototypes successfully v
Construx Software (www.construx.com)
19
Key #4 Effective Project Management
Project Management Poor planning/management is the second most common project risk v Project planning/management is a high leverage area v Some people don’t appreciate the leverage of project management— they’ve never seen good project management! v
Construx Software (www.construx.com)
21
Project Manager Responsibilities v
Where do most project managers come from? v What are they trained to do? v Good software management require significant software-specific expertise u u
u u
Scope estimation Cost, effort & schedule computation Lifecycle selection QA planning
Construx Software (www.construx.com)
u u u u
Technical staffing Project tracking Risk management Data collection
22
Key #5 Accurate Estimates
Need for Accurate Estimates Unrealistic/unjustified expectations are a major cause of project problems v State of the art is dramatically better than the state of the practice v For example, the average project overruns its planned schedule by more than 100% (and many projects are much worse) v
Construx Software (www.construx.com)
24
Over/Under Percentage in Effort Estimates
Typical Estimation Effectiveness 20% 0%
-145% Without Historical Data Variance between -145% to +20% (Mostly Level 1 and 2) From 120 Projects in Boeing Information Systems Construx Software (www.construx.com)
25
Over/Under Percentage in Effort Estimates
Improved Estimation 20% 0%
-145% Without Historical Data Variance between -145% to +20% (Mostly Level 1 and 2)
With Historical Data Variance between +20% to -20% (Level 3) From 120 Projects in Boeing Information Systems
Construx Software (www.construx.com)
26
Improved Estimation Project Performance Compared to Estimate Actual Results as a Percentage of Estimated Results
600% 500% 400% 300% 200% 100% 0% 0
1
2
3
4
SW-CMM Level Construx Software (www.construx.com)
From a set of U.S. Air Force projects
27
Improved Estimation Project Performance Compared to Estimate Actual Results as a Percentage of Estimated Results
600% 500% 400% 300% 200% 100% 0% 0
1
2
3
4
SW-CMM Level Construx Software (www.construx.com)
From a set of U.S. Air Force projects
28
Improved Estimation Project Performance Compared to Estimate Actual Results as a Percentage of Estimated Results
600% 500% 400% 300% 200% 100% 0% 0
1
2
3
4
SW-CMM Level Construx Software (www.construx.com)
From a set of U.S. Air Force projects
29
Effect of Estimation Accuracy Non-linear impact due to planning errors, upstream defects, high-risk practices
Cost Effort Schedule
Overestimation
Underestimation
< 100%
Linear impact due to Parkinson’s Law
100%
>100%
Target as a Percentage of Nominal Estimate Construx Software (www.construx.com)
30
Accurate Estimation Estimation is a specialized technical skill v Treat estimation as a mini-project v Plan to reestimate periodically v
Construx Software (www.construx.com)
31
Execution
Key #6 Two-Phase Budgeting
Estimate Refinement Project cost (effort and size) 4x
2x 1.5x 1.25x 1.0x 0.8x 0.67x 0.5x
0.25x
Construx Software (www.construx.com)
Time
34
Two-Phase Estimation and Budgeting Project cost (effort and size) 4x
Typical time that commitments are made
2x 1.5x 1.25x 1.0x 0.8x 0.67x 0.5x
VS. Time that commitments should be made
0.25x
Construx Software (www.construx.com)
Time
35
Benefits v v
v v v
Delays commitment until time when a commitment can be meaningful Forces activities that should occur upstream actually to occur upstream u Requirements, technical planning, quality planning, etc. Helps set realistic expectations for all project stakeholders Improves coordination with non-software groups Improves execution by putting plans on more informed basis
Construx Software (www.construx.com)
36
Key #7 A Focus on Quality
Defect Costs Increase the Longer Defects Stay in Process 50-200X
Cost to Correct 50-200X
Phase That a Defect Is Created
1X
Requirements
1X
Architecture Detailed design Construction
Requirements Architecture
Construx Software (www.construx.com)
Detailed design
Construction
Phase That a Defect Is Corrected
Release
38
Fixing Upstream Defects Upstream is High Leverage
$ QA Late in the Project
Construx Software (www.construx.com)
QA Early in the Project
39
Fix More Defects Earlier! 50-200X
Not Here
Cost to Correct
Fix Here 50-200X
Phase That a Defect Is Created
1X
Requirements
1X
Architecture Detailed design Construction
Requirements Architecture
Construx Software (www.construx.com)
Detailed design
Construction
Phase That a Defect Is Corrected
Release
40
Why Focus on Quality? For most projects, unplanned defect correction work is the largest cost driver (40-80% of total) v Can focus on quality for sake of economics (as above) v Can focus on quality for sake of quality (not needed nearly as often) v Quality must be planned into the project; it can’t just be tacked onto the end v
Construx Software (www.construx.com)
41
Key #8 Technology Expertise
Technology Expertise Many projects suffer because of poor adoption of new technology v “New technology” = high risk v Golf analogy v
u u
v
Technology as golf clubs Best practices as technique
Expertise in technology matters; software engineering technique matters much more
Construx Software (www.construx.com)
43
Key #9 Active Risk Management
Software is Risky Business v
KPMG Study: u
u
u
v
55% of runaway projects did no risk management 38% did some, but half of those didn’t use their risk findings after the project was underway 7% didn’t know whether they did risk management
Total: About 80% of runaway projects did no meaningful risk management
Construx Software (www.construx.com)
45
Role of Risk Management About as many projects fail as are delivered on time v More than 50% of projects show their problems during initial development v About 25% show their problems during initial planning v Active risk management keeps small problems from turning into big, projectkilling problems v
Construx Software (www.construx.com)
46
Relationship to Business Risk Taking Perception is that high energy companies take risks v Reality is that most companies are beset by risks from all sides— they aren’t choosing which risks they take v Key to success: Manage non-strategic risks so that you can take strategic risks v
Construx Software (www.construx.com)
47
Key #10 Do the Right Thing
Key Elements of Execution v
Take care of your people u u u u
Staffing Training Motivation/morale Work environment
Follow the plan v It works! v
Construx Software (www.construx.com)
49
Construx
Del ivering Softw are Proje ct Success
Contact Information Services
Software Resources
v Custom Software Solutions v Consulting v Seminars
v
[email protected] v www.construx.com