“A company with a highly developed culture of quality spends, on average, $350 million less annually fixing mistakes than a company with a poorly developed one.”
Historically, software development and quality assurance were one and the same. If you built it, you also tested it. But then software grew up, and as it got more and more complex, dev and QA needed to split up in order to do their job right.
But instead of these two teams remaining close friends, they grew far apart. Each in their own world, operating in different environments, using their own workflows, speaking different languages.
Who paid the price? The software. Now, complex, disconnected workflows weigh us down, slowing down our releases. Critical tests are missed, compromising our coverage. And more than anything else, we’re just not on the same page - even simple tasks are frustrating when each team needs to translate into their own language just to get stuff done.
How can we expect our software to be at the highest quality, when quality and development are so disconnected?
Adopt a "native quality management" approach to testing and development that prioritizes quality every step of the way.
Let's see how to do just that.
Measure your “quality maturity” and the time and cost it takes to fix bugs
In August 2013, Amazon experienced a software glitch that shut down the website for 40 minutes. Amazon lost $4.8M or $120,000 per minute due to this glitch. As a result, Amazon executives prioritized quality management to prevent any similar catastrophes in the future.
In the report “The Economic Impacts of Inadequate Infrastructure for Software Testing by NIST (National Institute of Standards and Technology), the relative cost to fix bugs based on the time of detection significantly increases as you progress through the software development lifecycle.
By the time a bug slips through all the way to production and post-release, it can be up to 30x more expensive to fix than if it was caught during the requirements/architecture phase.
Now more than ever, you need to understand how much quality impacts your organization. A method you can use to assess your “quality maturity” is to measure the time and cost it takes to fix bugs.
In the book, How Google Tests Software – Help me test like Google, authors James Whittaker and Jason Arbon show how Google quantified the cost of poor software quality and how long it took engineers to fix bugs.
They used the following model to calculate the cost of bug fixes:
*KSLOC = 1,000 source lines of code
Plugin your own numbers and try this technique to gain a clear indication of how much time you waste fixing bugs, so you focus on preventing them in the first place
By now you understand that you can't ignore software quality. Testing needs to evolve to fit the growing demands of rapidly released software.
So, how do you adapt to avoid costly errors?
Evolve into a “Quality-Centric Culture” that prioritizes quality every step of the software development lifecycle.
Transform to a culture of quality vs testing
Your team needs to collaborate and adapt to deliver quality. Shift the focus from a specific role or team that does testing, to a unified organization focused on creating quality.
First, let's understand the meaning of Quality. In the book Leading Quality: How great Leaders Deliver High-Quality Software and Accelerate Growth by Ronald Cummings-John, he describes "Quality (as) subjective; it’s determined by whoever is using the product at the time (...) Quality is relative; it changes over time."
To begin, understand what is the “Quality Narrative” in your organization. The book tells us how we can adapt the quality-first narrative in our organization.
Ask your team the following questions:
- Who owns quality in the team?
- What is the perceived role of quality and testing?
- What does quality mean to us and to our customers? Are we aligned?
- How important is quality when it comes to releasing a product?
- How do we define risk and what is our threshold for risk?
By answering some of these questions, you gain a better handle of how quality is perceived in your organization, and how you can improve it.
The shift from a testing culture to a quality culture has a lot to do with mindset. When you understand this shift in mindset, you can use tools to support you.
What is Native Quality Management?
With the rise of Agile, DevOps, and Continuous Testing, we understand that QA and development teams need to collaborate and work together.
With Native Quality Management, all the tools, tests, and processes used by QA are built natively into your development environment like Jira. That way, every test is accounted for, every task lives in the same workflow, and everyone speaks the same language.
Many organizations are embracing this new, holistic approach that naturally embeds quality into the development workflow.
What you get with Xray - Native Test Management:
Xray weaves test management into every stage of development, so quality now comes naturally:
- Keep tabs on all your tests: Xray indexes tests in real-time, so you run tests with full control of the entire process. That way, you get total coverage, catch problems fast and keep releasing quality software with confidence.
- Learn where tests went right (and wrong): With detailed traceability reports, you know which tests went wrong and where -- so you pinpoint what to fix, and easily collaborate with developers to fix it.
- Focus on quality, at scale: Pull off complex, large-scale testing projects without missing a beat. With smart orchestration and native integration with frameworks like Cucumber and JUnit, you easily manage all testing across even the largest code-bases.
The next wave: the software quality lifecycle
Our native quality management approach brings the promise of all these new quality assurance technologies back to development teams and most importantly, any company that develops software. Finally, quality and development work alongside each other -- just as they should -- enabling companies to release stellar software day after day.
Imagine all development requirements naturally linked to your testing, so you never overlook a test again. Imagine the same naming and terminology across all dev and QA tasks so both teams work seamlessly side by side.
Imagine all activity managed in one single environment sharing one familiar workflow, giving your teams more control, efficiency, and speed than ever before.
But don’t take our word for it. The hundreds of raving reviews from leading organizations worldwide speak for themselves. And they all say the same thing - Native Quality Management is the best way to make sure you deliver the best software. Period.