The value of quality
Why quality is the only thing that matters
There is obvious value in quality. Fewer bugs, less downtime, and increased user trust. Better retention, lower costs, and more revenue. Quality allows teams to move faster and scale quicker. The value is in the bottom line.
But then there is the value of quality—the core belief that quality matters beyond immediate metrics or financial gains—and quality as a fundamental principle that shapes an organization's ethos and processes.
The latter begets the former. If quality isn't a cultural imperative, then, over time, it will be eclipsed by expediency and short-term pressures.
How do you create a culture of quality? Leadership. If leadership doesn't take quality seriously and see the importance of process, automation, and testing, you don't get the value of quality.
Craftsmanship in testing
The web abounds with stories of Steve Jobs' obsession with quality. But the most prescient quote comes from his father,
"For you to sleep well at night, the aesthetic, the quality, has to be carried all the way through."
Within software, when we think of quality, what do we think? A beautiful front end, replete with intuitive user interfaces, smooth animations, and pixel-perfect designs? But true quality goes far deeper. Crafting software with quality permeating every function means every team has to engineer to the highest standards.
This means product management must set clear, user-centric goals. Architects must build a scalable, maintainable foundation. Designers must create thoughtful user experiences. Backend engineers must build robust, intuitive APIs, and DevOps must ensure smooth deployments and uninterrupted quality.
The same bar is required for testing. What does craftsmanship mean in testing? It means going beyond a checklist of test cases to a deep, almost obsessive commitment to uncovering every potential flaw. It's about crafting tests with the same care and attention to detail as the software itself.
This might all look like:
- A comprehensive end-to-end user journey test that simulates real-world scenarios. This test would navigate the entire purchasing process on an e-commerce site, from product selection to order confirmation. The test would be parameterized to allow for different products, quantities, and shipping options, making it flexible and reusable. Assertions would verify the correct order details and confirmation messages, ensuring the flow works seamlessly.
- An API test suite designed to thoroughly validate backend functionality. This suite would include tests for creating new users, handling duplicate user attempts, and managing invalid input. The tests would verify not just the status codes but also the structure of the responses using JSON schema validation.
- A performance test aimed at ensuring system stability under heavy load. This test would simulate multiple users logging in simultaneously and performing actions on the site. The test would measure the time taken for all actions to complete, monitor for any console errors, and check memory usage. The test can quickly identify performance degradation or stability issues by setting specific thresholds for these metrics.
- A comprehensive accessibility test suite designed to ensure compliance with WCAG. This suite would navigate through critical pages of the website, running automated accessibility scans. It would check for specific WCAG criteria, such as proper language attributes, sufficient color contrast ratios, and the presence of ARIA labels and alt text for images.
These tests embody craftsmanship in testing by going beyond basic functionality checks. They consider real-world usage, edge cases, performance under stress, and inclusivity. By automating these comprehensive checks, the team can maintain high-quality standards consistently across the entire application.
All wonderful in theory. But without leadership, none of this will happen.
Test quality as a first-class citizen
With leadership, testing and quality can become not just a phase or a team's responsibility but a fundamental aspect of engineering that permeates all decisions, processes, and actions. It's elevated to being a core value that drives technical and business decisions.
How?
Leaders establish a clear quality-first vision
Without this, nothing else works. This might look like a CEO who doesn't just talk about shipping features but obsesses over user experience metrics. Or a CTO who celebrates improved test coverage with the same enthusiasm as a successful product launch. It's about making quality a part of your company's mission, not just a department.
Pragmatically, leaders will need to:
- Weave quality into the company's mission statement and core values, making it as prominent as innovation or customer satisfaction.
- Incorporate quality metrics (test coverage, bug escape rate, or user satisfaction scores) into executive dashboards and quarterly reviews, giving them equal weight to revenue and growth figures.
- Tie quality improvements directly to performance evaluations and bonus structures, from the C-suite down to individual contributors, reinforcing its importance at every level.
This vision cascades down, influencing sprint planning, code review processes, and release criteria.
Leaders lead by example
This is where leaders need to unleash their Jobsian side. Jobs would throw away Apple chips if the traces weren't straight enough. Engineering leaders have to be equally obsessed with getting everything right and show this concretely. This might look like:
- A CTO who regularly participates in code reviews, focusing not just on functionality but on test coverage, code quality, and maintainability.
- A VP of Engineering who spends time pair programming with team members, demonstrating how to write effective unit tests, and advocating for test-driven development.
- An Engineering Manager who celebrates team members who catch critical bugs or improve test automation as much as those who ship new features, publicly recognizing their contributions to quality.
Leaders trust their team
The flip side of leading by example is trusting the team enough to step aside and trust them to put quality first. This should be more than just lip service–it's about creating an environment where quality is everyone's responsibility, not just QA's job.
This means:
- Empowering teams to choose their own testing tools and frameworks, trusting them to select what works best for their needs and expertise.
- Allow engineers to allocate time for refactoring and paying down technical debt without requiring extensive justification for every hour spent on non-feature work.
- Encouraging a blameless culture where bugs and failures are seen as opportunities for systemic improvement rather than individual fault fostering open discussions about quality issues.
This trust creates a sense of ownership and pride in the quality of the work, often leading to innovations in testing and quality assurance that top-down mandates can never achieve.
Leaders commit resources to quality
Finally, leaders must give the team the tools and resources they need to push the testing bar higher. You must invest in your team's ability to deliver quality.
- Allocating dedicated time in sprint planning for test automation and quality improvements, treating it as essential work rather than an afterthought.
- Investing in robust pipelines that integrate comprehensive testing, making quality checks a seamless part of the development process.
- Providing ongoing training and conference opportunities for the team to stay updated on the latest testing methodologies and tools, fostering a culture of continuous learning.
Every dollar spent on quality isn't a cost—it's an investment in your product's future.
Quality as a leadership imperative
Leadership's role in this can't be overstated. Do you think the same vein of perfection flowed through CrowdStrike as it did Apple? By setting the vision, leading by example, fostering trust, and providing resources, leaders create an environment where quality isn't just a goal—it's just what engineering is.