I’ve seen this firsthand: two starkly different approaches to bug fixing played out in parallel.
One was bloated, slow, and expensive. The other was fast, collaborative, and remarkably effective. Here's what I learned.
The Bureaucratic Bug Loop
Let’s start with the typical enterprise-style approach. It looks something like this:
- A client-side tester finds a bug.
- The bug is logged.
- It gets reviewed in a triage meeting—attended by the supplier’s test team, scrum master, and often several developers and stakeholders.
- There’s a discussion: Is it a bug or a change? Often, the answer depends on how much documentation exists—or how much the supplier team understands the client's expectations.
- If accepted as a bug, it gets assigned to a developer, who may not fully understand the feature or business context.
- A partial fix is made, passed to the supplier's testers.
- The tester doesn't fully grasp the requirement, so the bug reoccurs.
- It cycles back to the developer, gets reworked, and is returned again to testing.
- Eventually, the supplier team decides it’s fixed and pushes it back to the client.
- The client tests it and often fails it again.
Back to triage, more discussion, more meetings.And if it’s deemed a “change” instead of a bug? Add in project managers, business analysts, architects, and further rounds of planning, discussion, and documentation before a fix can even be scheduled.
This might be called “Agile.” But it’s a heavy, slow-moving, budget-draining machine.
The Collaborative Approach
Now contrast that with another way I’ve seen bugs resolved:
- The client identifies a bug and logs it.
- They speak directly to the developer, someone who understands the software inside out.
- A fix is agreed upon and implemented quickly.
- The client tests it and confirms it’s resolved.
-
Bureaucratic: Slow—can take weeks or more to resolve a single issue.
-
Collaborative: Fast—can be fixed within hours when the right people talk directly.
-
Bureaucratic: High—requires meetings, coordination, and time from multiple roles.
-
Collaborative: Low—minimal overhead, fewer people involved.
-
Bureaucratic: Lower—miscommunication and lack of context often lead to rework.
-
Collaborative: Higher—client and developer clarify expectations directly.
-
Bureaucratic: Often, low delays and repeated bugs cause frustration.
-
Collaborative: High, quick resolutions build trust and meet expectations.
-
Bureaucratic: High delays and unclear ownership increase the risk of failure.
-
Collaborative: Lower issues are caught and resolved early.
-
Bureaucratic: Diffused—decisions bounce between teams.
-
Collaborative: Focused—clear, fast decision-making with those who understand the problem.
Why Does This Happen?
In large projects, teams are often bloated, fragmented, and overly process-driven. When suppliers don’t have domain expertise—or when developers are shielded from clients—bugs become political hot potatoes. The result? Delays, rising costs, and software that doesn’t meet real-world needs.
Sometimes, requirements weren’t fully captured in writing but were clearly understood by the client. When a tester or architect insists it's not a "bug" because it wasn't documented, progress stalls. The client ends up with software that technically meets the spec, but fails to meet expectations.
The Bottom Line
Agility isn’t about ceremonies and sprint planning—it’s about responsiveness.
On many large projects, a common trap is the relentless debate over whether an issue is a "bug" or a "change." Suppliers often lean on this distinction to shield themselves from additional work, but in doing so, they risk much more. When a supplier is contracted to deliver a working software solution, repeatedly rejecting implicit requirements can lead to delays, confusion, and ultimately a poor end product. These projects often expose a gap in domain knowledge on the supplier’s side, while the client holds the business expertise that truly matters. By failing to recognise this and instead hiding behind process, the supplier may appear uncooperative, erode trust, and harm their own reputation. In trying to protect themselves, they lose credibility when they could have simply collaborated more closely and delivered a better outcome for everyone involved.When clients and developers work closely, solutions emerge faster, software aligns better with business goals, and costs stay down. When layers of roles dilute communication, bugs linger, frustration grows, and money leaks away.
If you're managing a project, ask yourself: How many people need to be involved before something gets fixed? If the answer is more than two, you may already be losing the speed-to-fix battle.