Why Bugs Are Inevitable and How to Balance Quality with Delivery Speed
The article reflects on a bug‑fixing team's experience, arguing that bugs are an inevitable by‑product of software development, discussing the limits of zero‑tolerance policies, the trade‑offs between quality and resources, and suggesting cultural and engineering practices such as testing left‑shift, code reviews, and refactoring to improve quality without sacrificing delivery speed.
For a long time I worked in a team whose sole responsibility was maintaining existing projects and fixing daily reported online issues, never developing new features. The bugs we encountered ranged from pages that would not load to mysterious data loss, and we grew numb to them.
We often wondered why bugs kept happening, recognizing that defects are considered waste in the Toyota Production System. While no one wants bugs, we rarely admit that human error is an inherent part of coding, just as a coin has two sides.
Adopting a zero‑tolerance stance for bugs can be counter‑productive; it discourages refactoring and the adoption of new technical solutions because more changes mean higher risk, a lesson learned from personal experience.
Under the MoSCoW framework, quality can be treated as a feature dimension and placed in one of the four priority buckets, but it rarely belongs in the “Must‑Have” category because users tolerate some bugs and rarely switch products solely due to them. Quality is not a core competitive advantage, and resources for it are always limited.
Two observations follow: some defects can be tolerated, and the resources allocated to quality are finite. In fast‑moving internet products, user expectations for quality are already highly disciplined.
The key question becomes how to maximize limited resources to improve quality. One suggestion is to allocate more personnel to the maintenance team, effectively “buying” quality with resources.
However, simply increasing cleanup speed does not stop the creation of new bugs; it may even encourage more reckless behavior because someone will always clean up the mess.
Quality should be built‑in, and the practice of shifting testing left is widely advocated, though the article does not detail those practices. The author emphasizes that quality cannot be fully achieved through testing alone; it requires cultural change.
When writing unit tests for a front‑end React component, the time spent was almost equal to developing the feature itself, even without aiming for full coverage. Hidden costs also arise when failing tests break the CI pipeline, requiring additional investigation.
Changing engineering culture is perhaps the biggest hurdle: enforcing discipline among developers to write, maintain, and fix tests, while also gaining support from management. These practices often slow delivery speed, making the benefits hard to quantify.
Nevertheless, testing brings future benefits such as confidence during refactoring and preventing regressions, even if the return on investment is uncertain.
Improving quality is not an individual problem but an industrial one; teams must raise the overall output quality despite differing skill levels.
Ultimately, the cost of quality must be balanced against the cost of bugs, and responsibility for quality often falls on developers, even though they may resist being the scapegoat.
Promotional notice: The "DevOps Engineer" certification from the Ministry of Industry and Information Technology is offered at an official price of 7,500 CNY per person, including training, exam, certification, tax, and study materials, with group discounts available.
DevOps
Share premium content and events on trends, applications, and practices in development efficiency, AI and related technologies. The IDCF International DevOps Coach Federation trains end‑to‑end development‑efficiency talent, linking high‑performance organizations and individuals to achieve excellence.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.