10 Keys to Successful Software Projects

Embed Size (px)

DESCRIPTION

Good book for project management

Text of 10 Keys to Successful Software Projects

10 Keys to Successful Software ProjectsAn Executive Guide 2000 Construx Software Builders, Inc. All Rights Reserved. www.construx.com

D e l ering Software P iv roject Success

Construx

Background

State of the Art vs. State of the PracticeThe gap between the best software engineering practice and the average practice is very wideperhaps wider than in any other engineering discipline. Fred Brooks

Construx Software (www.construx.com)

3

Productivity Varies Significantly10:1 variations in productivity between different companies working in the same industries v Productivity is a learned characteristic and can be changedv

Construx Software (www.construx.com)

4

Typical Project OutcomesMore 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 Overruns1. 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 * ExecutionAssign values between 0% -100% for Planning and Execution. Multiply to determine your chance of success.

Construx Software (www.construx.com)

7

Planning

Key #1Clear Vision

Clear VisionProject 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 goalsv

Construx Software (www.construx.com)

10

Example:v

What kind of Rapid Development do you want?u u u

Speed oriented Schedule-risk oriented Visibility oriented

v

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 Case6 Months: Nominal Schedule

Average ProjectRisk of Overrun

Rapid Project

Construx Software (www.construx.com)

13

Sometimes it Justified s (sometimes not)6 Months: Nominal Schedule

Average ProjectRisk of Overrun

Rapid ProjectCompetitor will release next version of their productConstrux Software (www.construx.com) 14

Key #2Stable, Complete, Written Requirements

RequirementsRequirements 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 reasonsvConstrux Software (www.construx.com) 16

Techniques for Defining Stable RequirementsRequirements 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/inspectionsvConstrux Software (www.construx.com) 17

Key #3Detailed User Interface Prototypes

User Interface PrototypesAddresses the most common project riskchanging 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 successfullyv

Construx Software (www.construx.com)

19

Key #4Effective Project Management

Project ManagementPoor planning/management is the second most common project risk v Project planning/management is a high leverage area v Some people don appreciate the leverage t of project management they never ve seen good project management!v

Construx Software (www.construx.com)

21

Project Manager Responsibilitiesv

Where do most project managers come from? v What are they trained to do? v Good software management require significant software-specific expertiseu u

u u

Scope estimation Cost, effort & schedule computation Lifecycle selection QA planning

u u u u

Technical staffing Project tracking Risk management Data collection

Construx Software (www.construx.com)

22

Key #5Accurate Estimates

Need for Accurate EstimatesUnrealistic/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

Typical Estimation EffectivenessOver/Under Percentage in Effort Estimates20% 0%

-145% Without Historical Data Variance between -145% to +20% (Mostly Level 1 and 2)From 120 Projects in Boeing Information SystemsConstrux Software (www.construx.com) 25

Improved EstimationOver/Under Percentage in Effort Estimates20% 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 SystemsConstrux Software (www.construx.com) 26

Improved EstimationProject Performance Compared to Estimate600% Actual Results as a Percentage of Estimated Results 500% 400% 300% 200% 100% 0% 0 1 2 SW-CMM LevelConstrux Software (www.construx.com)

3

4

From a set of U.S. Air Force projects

27

Improved EstimationProject Performance Compared to Estimate600% Actual Results as a Percentage of Estimated Results 500% 400% 300% 200% 100% 0% 0 1 2 SW-CMM LevelConstrux Software (www.construx.com)

3

4

From a set of U.S. Air Force projects

28

Improved EstimationProject Performance Compared to Estimate600% Actual Results as a Percentage of Estimated Results 500% 400% 300% 200% 100% 0% 0 1 2 SW-CMM LevelConstrux Software (www.construx.com)

3

4

From a set of U.S. Air Force projects

29

Effect of Estimation AccuracyNon-linear impact due to planning errors, upstream defects, high-risk practices

Cost Effort Schedule

Linear impact due to Parkinson Law s

Underestimation

Overestimation

< 100%

100%

>100%

Target as a Percentage of Nominal EstimateConstrux Software (www.construx.com) 30

Accurate EstimationEstimation is a specialized technical skill v Treat estimation as a mini-project v Plan to reestimate periodicallyv

Construx Software (www.construx.com)

31

Execution

Key #6Two-Phase Budgeting

Estimate RefinementProject cost (effort and size) 4x

2x 1.5x 1.25x 1.0x 0.8x 0.67x 0.5x

0.25x Time

Construx Software (www.construx.com)

34

Two-Phase Estimation and BudgetingProject 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 Time

Construx Software (www.construx.com)

35

Benefitsv 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 basis36

Construx Software (www.construx.com)

Key #7A Focus on Quality

Defect Costs Increase the Longer Defects Stay in Process50-200X

Cost to Correct50-200X

Phase That a Defect Is CreatedRequirements Architecture Detailed design Construction

1X

1X

Requirements Architecture

Detailed design

Construction

Release

Construx Software (www.construx.com)

Phase That a Defect Is Corrected

38

Fixing Upstream Defects Upstream is High Leverage

$QA Late in the Project QA Early in the Project

Construx Software (www.construx.com)

39

Fix More Defects Earlier!50-200X

Not Here Fix Here50-200X

Cost to Correct

Phase That a Defect Is CreatedRequirements Architecture Detailed design Construction

1X

1X

Requirements Architecture

Detailed design

Construction

Release

Construx Software (www.construx.com)

Phase That a Defect Is Corrected

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 just be tacked onto the end tvConstrux Software (www.construx.com) 41

Key #8Technology Expertise

Technology ExpertiseMany projects suffer because of poor adoption of new technology v New technology = high risk v Golf analogyvu u

Technology as golf clubs Best practices as technique

v

Expertise in technology matters; software engineering technique matters much more43

Construx Software (www.construx.com)

Key #9Active Risk Management

Software is Risky Businessv

KPMG Study:u

u

u

55% of runaway projects did no risk management 38% did some, but half of those didn use their t risk