Don't Just Test for Quality, Build It In: A Modern Approach to Software Excellence

Don't Just Test for Quality, Build It In: A Modern Approach to Software Excellence
by Brad Jolicoeur
08/26/2025

In the fast-paced world of software development, the pressure to deliver quickly can often lead to a reactive approach to quality. Many organizations fall into a familiar trap: when quality issues arise, they hire more QA testers, create a dedicated "quality team," and increase black-box testing. On the surface, this seems logical. In reality, it's a wasteful practice that undermines the very goal it aims to achieve.

This approach creates a "quality silo," effectively allowing software engineers to outsource responsibility for their work. It perpetuates the myth that quality is something that can be inspected into a product after it's been built. This is fundamentally flawed. True quality isn't about finding bugs at the end of the line; it's about preventing them from ever being created.

This isn't a new idea. It's a core principle of the modern quality movement, pioneered by the legendary W. Edwards Deming.

Who Was W. Edwards Deming?

While many in the software world may not know his name, W. Edwards Deming is a titan in the world of quality management. An American statistician and professor, Deming's work transformed Japanese manufacturing after World War II, laying the groundwork for the country's reputation for high-quality products. His philosophy is encapsulated in his famous "14 Points for Management," a guide for transforming business effectiveness.

The Flaw of "Inspection": Deming's Third Point

At the heart of Deming's philosophy is a powerful idea, perfectly captured in his third point: "Cease dependence on inspection to achieve quality."

Deming argued that relying on mass inspection is an admission of failure. It means you are already producing defective products and are simply trying to catch them before they reach the customer. This is an expensive, inefficient, and unreliable way to operate. The goal shouldn't be to find defects, but to improve the process so that defects aren't created in the first place.

This directly translates to software development. When we rely on a separate QA team to "test quality in," we are essentially running a mass inspection at the end of our development assembly line. The result?

  • Waste: Developers spend time writing code that is then found to be defective, leading to rework and delays.
  • Lack of Ownership: Engineers are less incentivized to write high-quality, testable code if they know someone else is responsible for finding their mistakes.
  • Bottlenecks: The QA team becomes a gatekeeper, slowing down the entire development process.

Shifting Left: Building Quality into the Process

The solution is to "shift left"—to move quality-focused activities earlier in the development lifecycle. This means making quality a shared responsibility of the entire team, with software engineers taking the lead in testing their own work.

This is achieved through modern development practices that many high-performing teams have already adopted:

  • Test-Driven Development (TDD): The practice of writing a failing test before writing the code to make it pass. This ensures that code is inherently testable and meets requirements from the start.
  • Behavior-Driven Development (BDD): An extension of TDD that focuses on the expected behavior of the system from the user's perspective, improving collaboration between developers, product owners, and other stakeholders.

When engineers own their tests, they become an integral part of the product, not an afterthought. This fosters a deeper understanding of the code, leading to better design and fewer defects.

The Evolving Role of QA: From Gatekeeper to Coach

This shift in responsibility does not eliminate the need for QA professionals. Instead, it transforms their role from a reactive "tester" to a proactive "Quality Coach."

Simply embedding a QA person in an agile team isn't enough. If they continue to act as a black-box inspector, the silo remains, just on a smaller scale. The true value of a modern QA professional lies in their ability to enable and empower developers.

A Quality Coach:

  • Teaches and Mentors: They train engineers on advanced testing techniques, tools, and frameworks.
  • Builds Infrastructure: They create and maintain the automated testing infrastructure that allows developers to test their code efficiently.
  • Performs Specialized Testing: They focus on areas that require specialized expertise, such as exploratory, performance, and security testing.
  • Advocates for Quality: They champion a culture of quality across the organization, ensuring that it remains a priority at every stage of the development process.

Learning from the Best: Quality at Google and Spotify

This isn't just theory. Many of the world's leading tech companies have embraced this model of developer-led quality.

  • Google: The company has a strong culture of developer testing, with a focus on comprehensive unit testing. They provide robust infrastructure and clear guidelines to help engineers write effective tests.
  • Spotify: The famous "Spotify Model" emphasizes autonomy and ownership. Small, cross-functional "squads" are responsible for their own quality, supported by "chapters" and "guilds" that share best practices and expertise.

These companies understand that to move fast and deliver high-quality products, you can't have a separate team acting as a quality gate. Quality must be built in from the very beginning, by the people who are writing the code.

Conclusion: It's Time for a Change

Continuing to rely on a traditional, inspection-based QA model is a recipe for inefficiency and frustration. It creates a culture of blame, slows down delivery, and ultimately fails to improve the quality of your product.

By embracing the principles of W. Edwards Deming and the practices of modern software development, you can create a culture where quality is a shared responsibility, led by the engineers who are building the product. This "shift-left" approach not only leads to better software, but it also empowers your developers, improves collaboration, and accelerates your delivery pipeline.

Stop trying to "test in" quality. Start building it in.

References

You May Also Like


.NET vs. Open Source: The Real Cost of Ownership for Your Startup

dotnet-vs-python.jpg
Brad Jolicoeur - 08/26/2025
Read

.NET for Generative AI: No Python Required

dotnet-ai.jpg
Brad Jolicoeur - 08/24/2025
Read

Exploring Google Gemini

horse-in-armor.jpg
Brad Jolicoeur - 02/02/2025
Read