“In engineering, settling for anything less than 100% is unacceptable, because if something only works 99% it can still cause issues when it’s really needed.”
While he may have used a bit of scare tactics to encourage us to study harder, he was onto something particularly relevant in software development. Even a bug that happens just 1% of the time is still a bug, and when it occurs in a live environment, it can lead to user frustration, lost revenue, and a plethora of other challenges.
Quality assurance is more than a checkbox
We live in a world where we’re constantly interacting with software, and let’s be honest, our expectations are pretty high. We all want systems that are intuitive, seamless, and reliable. But here’s the kicker — achieving that level of quality doesn’t happen by accident. Quality Assurance should be more than just a final step before launch; it needs to be part of the entire development journey.
And it all starts with our fantastic developers.
Developer testing is non-negotiable
When we talk about developer testing, it’s so much more than just running unit tests and making sure our code compiles. It’s really about taking responsibility for our work as developers. Sure, unit tests, integration tests, and automation frameworks are all vital tools, but let’s not forget about how users will experience the features we create.
This doesn’t mean we’re stepping on the toes of our QA team. Instead, it’s all about asking ourselves a few important questions:
- Does this function the way a user expects?
- Is this in line with what the business needs?
- What happens if a user enters the wrong information or tries something out of the ordinary?
By keeping these questions in mind, we can ensure that we deliver the best possible outcome for everyone.
When developers think of their code from a user perspective, they can reduce a lot of the back-and-forth between Dev and QA teams. This way, testers can focus on the “fun” challenges, like edge cases, security concerns, and those tricky scenarios that truly require their expertise.
Debunking the bottleneck myth
And now let’s talk about testing, a process that’s a tad under-appreciated and often seen as a bottleneck or something that delays delivery. But here’s the truth: it’s bad preparation and poor testing discipline early in the process that causes delays. Putting pressure on testers or sidelining QA is a recipe for disaster (you’ve been warned).
The reality is this: a late delivery is usually easier to rectify than a faulty one. Effective developer testing actually speeds up the QA process rather than slowing it down.
Don’t fear the data
Volume testing is one area that’s easy to overlook. Typically, we build and test using small, clean data sets that we can easily manage. But as we all know, in the real world, a system may encounter tens of thousands of records, messy user input, or unpredictable spikes in usage.
Testing how our systems handle real-world data loads can really help us spot bottlenecks and issues that may pop up when we’re working at scale. The good news is that with today’s AI and automation tools, creating realistic test data and running volume tests has become super easy. A little investment in this area can lead to amazing benefits down the road. Did someone say ROI?
Final thoughts: Raise the bar early
High-quality software is a result of a quality-first culture, not just a good QA team. Developers are the first line of defence, and when we prioritise testing seriously from the very beginning, the entire development process benefits.
So yes, maybe 99% is good enough in many parts of life. But in engineering, and especially in software, 99% just doesn’t work.