Each year, software errors cost U.S. corporations in excess of $60 Billion for repairs and maintenance costs. The problem is pandemic, affecting companies of all sizes from those topping the Fortune list to pre-IPO start-ups.
And the cost of software failures is not only financial. The hit to a company’s reputation that results from software malfunctions can result in lost customers, lost new business and damaged reputation, compounding the costs to fix the problem. When it comes to software, quality counts!
Last week, Bruce Craig of Australia-based software modernization firm Micro Focus, wrote that software testing to detect software errors is no longer a practice reserved just for large enterprises. He notes, “From independent software vendors through to one-man-band developers, testing is now an essential element of the IT function. The potential cost of IT failure is simply too high to be ignored.”
Craig believes that testing is the quintessential “elephant in the room” that cannot be ignored. However, in acknowledging the elephant in the room, he ignores the fact that a company can not only shrink the elephant down to mouse-like size, but also be exponentially more effective in eliminating software errors by performing automated analysis and measurement on the software during the build phase, before deployment and before testing.
Shrinking the Elephant
Around the time Craig was preparing his article for CIO Australia, Capers Jones was hosting a webinar, the purpose of which was show how to quantify application risks through static analysis. Long a proponent of static analysis when assessing software, Jones offered a series of statistics that illustrate how and why performing static analysis through automated analysis and measurement is a far more effective means of detecting software errors and giving companies the chance to fix them. Jones revealed that:
So 35% of bugs through testing alone or 85% through static analysis – with those kinds of efficiencies, it seems companies should be more proactive about software errors. They should address them before deployment through static analysis and not allow software testing to become the “elephant in the room.”