Software development by the numbers
People
- Excellent programmers are up to 30 times better than average programmers.
- 30 percent of a programmer’s time is spent on working alone.
- The time required by different developers to debug the same problem varies more than 20 to 1.
Requirements
- On average, 21 percent of development time is spent on requirements.
- The list of requirements for the design phase is often 50 times longer than those specified during the requirements phase.
- If left to their own devices, customers will set 85 percent of the requirements at high priority, 10 percent at medium, and 5 percent at low priority.
- The average project experiences about a 25-percent change in requirements from “requirements complete” to first release.
Process
- About 75 percent of software project teams begin their projects by jumping straight into coding without planning or designing the software first.
- The information needed to support the feasibility review can usually be developed by the time the project is 10-20 percent complete.
- A project canceled at the 10-20 percent complete point should be considered a clear success.
- Estimates made very early in a project is often off by 80 percent or more.
- Tools and technique improvements account for 5 to 10 percent increase in productivity and quality.
Quality Assurance
- Rigorous reviews commonly remove up to 90 percent of errors before the first test case is run.
- Error detection and removal accounts for 40 percent of development costs.
- Testing by programmers can execute 55 to 60 percent of logic paths. Automated tools raise it to 85 to 90 percent.
- Testing at 100 percent is nearly impossible.
- 35 percent of defects emerge from missing logic paths.
- 40 percent of defects are from execution of unique combination of logic paths.
- 100 percent coverage can, therefore, potentially detect only 25 percent of errors!!!
- Inspections can improve quality 10 times, and increase productivity by 14 percent.
- Each 1 hour of inspection saved 20 hours of testing and 82 hours of rework effort had the defects found by inspection remained in the released product.
- The maintenance cost of inspected programs is 1/10 the cost per line of code of uninspected programs.
- Design and code inspections typically find 50 to 70 percent of the defects.
- 75 percent of the defects found during inspections are located during individual preparation.
- Short-cutting a day of QA activity early in the project is likely to add 3 to 10 days of unnecessary activity downstream.
Maintenance
- Maintenance typically consumes 40 to 80 percent of software costs.
- Enhancement is responsible for roughly 60 percent of maintenance cost.
- Error correction is responsible for 17 percent.
- Understanding existing product consumes 30 percent of maintenance time.
Source
- Karl Wiegers, Process Impact website.
- Steve McConnell, Software Development West Conference, 2004.
- Steve McConnell, Code Complete.
- Steve McConnell, Rapid Development.
- Steve McConnell, Professional Software Development.
- Robert Glass, Frequently Forgotten Fundamental Facts about Software Engineering, IEEE Software May/June 2001.
Did you enjoy this post? Why not leave a comment below and continue the conversation, or subscribe to my feed and get articles like this delivered automatically each day to your feed reader. If you don't have a feed reader, you can always have these articles delivered to your email inbox every day. Click here to sign up.



Trackbacks & Pingbacks
[…] That’s a 96% reduction in code to worry about considering that maintenance consumes 40 to 80 percent of software costs. […]
Comments
Leave a comment
Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>