Software development by the numbers

People

  1. Excellent programmers are up to 30 times better than average programmers.
  2. 30 percent of a programmer’s time is spent on working alone.
  3. The time required by different developers to debug the same problem varies more than 20 to 1.

Requirements

  1. On average, 21 percent of development time is spent on requirements.
  2. The list of requirements for the design phase is often 50 times longer than those specified during the requirements phase.
  3. 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.
  4. The average project experiences about a 25-percent change in requirements from “requirements complete” to first release.

Process

  1. About 75 percent of software project teams begin their projects by jumping straight into coding without planning or designing the software first.
  2. The information needed to support the feasibility review can usually be developed by the time the project is 10-20 percent complete.
  3. A project canceled at the 10-20 percent complete point should be considered a clear success.
  4. Estimates made very early in a project is often off by 80 percent or more.
  5. Tools and technique improvements account for 5 to 10 percent increase in productivity and quality.

Quality Assurance

  1. Rigorous reviews commonly remove up to 90 percent of errors before the first test case is run.
  2. Error detection and removal accounts for 40 percent of development costs.
  3. Testing by programmers can execute 55 to 60 percent of logic paths. Automated tools raise it to 85 to 90 percent.
  4. Testing at 100 percent is nearly impossible.
  5. 35 percent of defects emerge from missing logic paths.
  6. 40 percent of defects are from execution of unique combination of logic paths.
  7. 100 percent coverage can, therefore, potentially detect only 25 percent of errors!!!
  8. Inspections can improve quality 10 times, and increase productivity by 14 percent.
  9. 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.
  10. The maintenance cost of inspected programs is 1/10 the cost per line of code of uninspected programs.
  11. Design and code inspections typically find 50 to 70 percent of the defects.
  12. 75 percent of the defects found during inspections are located during individual preparation.
  13. Short-cutting a day of QA activity early in the project is likely to add 3 to 10 days of unnecessary activity downstream.

Maintenance

  1. Maintenance typically consumes 40 to 80 percent of software costs.
  2. Enhancement is responsible for roughly 60 percent of maintenance cost.
  3. Error correction is responsible for 17 percent.
  4. Understanding existing product consumes 30 percent of maintenance time.

Source

  1. Karl Wiegers, Process Impact website.
  2. Steve McConnell, Software Development West Conference, 2004.
  3. Steve McConnell, Code Complete.
  4. Steve McConnell, Rapid Development.
  5. Steve McConnell, Professional Software Development.
  6. Robert Glass, Frequently Forgotten Fundamental Facts about Software Engineering, IEEE Software May/June 2001.

One thought on “Software development by the numbers

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s