As of the year 2018 software applications are the main operational component of every major business and government organization in the world. But software quality is still not good for a majority of these applications. Software schedules and costs are both frequently much larger than planned. Large systems are still cancelled with distressing frequency due to schedule delays caused by excessive bugs. Cyber-attacks are becoming more frequent and more serious.
Less than 5% of U.S. companies actually measure software productivity and quality with effective metrics such as function points. Less than 1% of agile software projects measure either productivity or quality with effective metrics such as function points.
The software industry uses dozens of inaccurate and ineffective metrics such as story points, use-case points, velocity, lines of code, bun up, burn down, and cost per defect. All of these metrics distort reality and make excellence invisible.
Data from some 27,000 software projects clearly show the quantitative differences between average, excellent, and failing software projects. These differences are best shown using function point metrics.
The excellent projects have accurate estimates before starting, accurate tracking during development, and effective quality control that combines defect prevention, pre-test defect removal, and formal testing. The following table summarizes key factors that differentiate between excellent, average, and failing software projects: