Avoiding Catastrophic Software Failures
Understand the Cost of Rework
By: Theresa Lanowitz
Nov. 27, 2013 01:26 PM
In 2012, voke published economic models to evaluate the hidden costs of software projects. Our key findings show that since the Global Financial Crisis (GFC) of 2009, the average cost of software projects is rising dramatically, this is in spite of smaller teams working shorter durations. At the same time, rework costs remain high or unknown and high profile software failures continue to make headlines daily.
Organizations must understand how defects create a hidden cost of rework in every software project and how these costs manifest differently in Agile and Non-Agile projects. Given the impact of catastrophic software failures on the brand, we should be witnessing a movement toward increased quality, not a reactionary call for more testing after the software has shipped.
Software engineering professionals are familiar with the concept of Cost of Quality, or more specifically, the cost involved with removing defects, essentially the cost of "rework." The premise of this concept is that the later in the lifecycle a defect is identified, the more expensive it is to resolve the issue.
With the failure of www.HealthCare.gov, US taxpayers will pay the price for the cost of rework. Modern tools such as service virtualization enable early testing of incomplete or unavailable components and systems to help mitigate potential risks of production failures.
Uncovering defects earlier in the software lifecycle saves time and money. In today's environment where businesses and governments run on software, removal of defects related to requirements is essential to eliminating the risk of exponential cost overruns and schedule delays.
Collaboration and availability is essential prior to beginning development. It is much less expensive and easier to meet, discuss, review, and refine to ensure that requirements are properly defined and communicated than to change the code at a later point in the project.
Effective collaboration and test coverage of key requirements is essential. Make sure you invest properly in architecture, requirements, design, and quality practices that prevent the release of catastrophic failures.
Tips to avoid catastrophic failures:
Most importantly, understand the business risks of prioritizing schedule to the exclusion of quality and ultimately cost. Empower your test organization to protect your brand from catastrophic failures.