Fifteen percent of all bugs found in software are still being delivered to customers—and that’s simply not acceptable, according to Capers Jones, a leading expert on software quality.
“The software industry is not at all good with quality, and what’s surprising is that there are methods available, and have been available for more than 35 years, that can make software much, much better than it’s ever been,” he said.
Jones is the author of several seminal development books, including “Programming Productivity” and “Estimating Software Costs.” He is also known as a leading advocate for Function Points, a method of estimating the complexity (and cost) of large software projects.
Inspections and static code analysis are among the techniques that can be used to make software code quality better, in Jones’ opinion.
“Testing is the most expensive part of the development process, and these things [inspections and static code analysis] don’t even cost that much and can speed up development and shorten test cycles,” he said, adding that this could lower technical debt, and save companies on development and testing in general.
“Even if you do all the tests in the testing phase, you’re not likely to go above 90% [defect free], because testing alone isn’t efficient enough,” Jones said.
He believes that static code analysis and inspections of individual lines of code should be done before the testing phase in order to allow testing to catch the remaining bugs and provide a secure, stable product for customers.
“If you do up-front inspections and if you use static analysis before testing begins, your schedule will be shrunk by at least 50% and your software quality will be above 95%,” Jones said.