Investing in Software Quality the Right Way

Likes: 0Rating: 0.0

Investing in Software Quality the Right Way

Software Quality should be about improving quality during design and build (quality engineering)

Many organizations have historically labeled “testing” as an unwanted necessity. A blocker from deployment. A “necessary evil” in some cases. Even in highly regulated industries like banking and capital markets, the move to a low-cost, hourly rates model for all aspects of testing (manual, automation, performance, etc.) at volume has been more palatable than larger investments in process and technology. At low cost rates, it was easy to justify an additional 10, 20, or even 50 ‘bodies’ because the rate per hour was low but so is the return. Traditional ODC and offshore models require large volumes to meet business objectives. But at large volumes, QA efficiency declines. For many reasons, this approach has shifted or is starting to shift. At least by those organizations who embrace the outcomes of higher quality software, better customer experience, and easier regulatory compliance.

QA efforts can be minimized through pragmatic approaches to risk

There is no longer a ‘golden rule’ that testing and QA must be 30% of development spend. And these days, given the very complex integrated system architectures in modern companies, QA efforts can easily outpace development efforts given the many types of tests that need to be completed for today’s very complex integrated system architectures. If left unchecked, 1 hour of development time can lead to 5 or 10 hours of QA time. Today’s complex systems require significant integration testing, but likewise, the business opportunities demand continuous deployment.

Consider this simple example of the addition of a new regulatory jurisdiction to a customer acquisition software product. Say, adding the state of New York in the US where only a certain number of states had previously been allowed. The changes to the software may be relatively simple. Updating tables, modifying a few lines of source code, etc. But the level of functional, regression, report, and even performance testing for this may be exponential. So, we can effectively address this by having unique and well-thought-out Quality Management plans to make sure QA efforts are the most cost effective and efficient that of course would include the use of data, environments, and deployment procedures.

There are many ways to measure ROI as QA is an investment.

QA is an investment. And this investment is paid for in ROI across many different spectrums that are admittedly sometimes difficult to track. We often work with clients to trace common ROI metrics that include:

  1. Reduced defect remediation efforts by developers
  2. Reduced team size and footprint (FTE or contract) of manual QA resources
  3. Increased time to market
  4. Increased conversation rate, customer satisfaction, and revenue
  5. Reduced cloud and infrastructure costs through performance optimization
  6. Faster regulatory and risk management audit completions
  7. Reduced litigation risk in security and accessibility failures
  8. Reduction in poor media coverage or increased positive coverage

QA investment is best made up-front to reduce the time to value.

Many companies manage QA investment by reducing the scope or the number of engineers used. However, this often means that value from the investment is small and does not take advantage of quality engineering best practices such as optimizing up-front design and build, building an automated test framework, establishing procedures for test data and privacy protection, evaluating outcomes and holding vendors accountable to those.

Whether you have a software development team with an integrated QA function or an independent QA team, software quality assurance is a strategic function that should be designed into the complete software development lifecycle. This will allow for increased efficiency, cost savings, enhanced reputation and customer satisfaction by engineering better software.