From Estimating Software Costs: Bringing Realism To Estimating, 2nd Edition.
- Initial requirements are seldom more than 50 percent complete
- Requirements grow at about 2 percent per calendar month during development
- About 20 percent of initial requirements are delayed until a second release
- Finding and fixing bugs is the most expensive software activity
- Creating paper documents is the second most expensive software activity
- Coding is the third most expensive software activity
- Meetings and discussion are the fourth most expensive activity
- Most forms of testing are less that 30 percent efficient in finding bugs
- Most forms of testing touch less than 50 percent of the code being tested
- There are more defects in requirements and design than in source code
- There are more defects in test cases than in the software itself
- Defects in requirements, design and code average 5.0 per function point
- Total defect-removal efficiency before release averages only about 80 percent
- About 15 percent of software defects are delivered to customers
- Delivered defects are expensive and cause customer dissatisfaction
- About 5 percent of modules in applications will contain 50 percent of all defects
- About 7 percent of all defect repairs will accidentally inject new defects
- Software reuse is the only effective for materials that approach zero defects
- About 5 percent of software outsource contracts end up in litigation
- About 35 percent of projects greater that 10,000 function points will be canceled
- About 50 percent of project greater than 110,000 function points will be one year late
- The failure mode for most cost estimates is to be excessively optimistic.
- Productivity rates in the U.S. are about 10 function points per staff month
- Assignment scopes for development are about 150 function points
- Assignment scopes for maintenance are about 750 function points
- Development costs about $1,200 per function point in the U.S.
- Maintenance costs about $150 per function point per calendar year
- After delivery applications grow at about 7 percent per calendar year during use
- Average defect repair rates are about ten bugs or defect per month
- Programmers need about ten days of annual training to stay current
Agile addresses 1, 2, 3, 4, 5, and 6 well.
So if these are the causes of project difficulties - and there may be others since this publication, what are the fixes?