In many organizations struggling with quality, a gut reaction is setting up a "bug fixing team," which has only one purpose: Cleaning up the myriads of known bugs in the software so that other teams can focus on new features.
There's a concept that "developers can go faster if they don't have to worry about the bugs in their code." This concept is a delusion, puts unrealistic expectations on the bugfix team, and will ultimately lead to disappointment.
Why bugfix teams are bad
Bugfix teams are a counterproductive workaround stopping the organization from solving their actual problems:
- Developers don't own their work. They can fire-and-forget, because it's no longer their problem after delivery.
- Developers don't fully understand how their code actually works, hence there's nobody who has deep knowledge of the inner workings of the product.
- Developers don't learn how to write better code, because they don't have to work through bad code.
- Technical debt continues to grow, because the Bugfix team will only work on known problems while others introduce more problems.
- Building a new feature on a buggy baseline doesn't add to low quality - it multiplies.
- The perceived progress of the delivery teams is an illusion, because it doesn't mean that the delivery doesn't contain a time bomb.
- The Continuous Improvement process is subjected to quantity of output, which is the very reason why the problem occurred to begin with.
I have been part of Bugfix teams. It's a frustrating, ungrateful job and an uphill battle unless all other developers also take responsibility for the quality of their own work.
How bugfix teams can succeed
There is a way to set up a successful Bugfix team, however:
- The "Bugfix" team is a team like any other, but they can fully commit to - and focus on - improving quality and have no commitment on new features. And they get a spotlight in stakeholder reviews to demonstrate their improvements.
- All other teams practice a rigorous Stop-the-Line process and do everything in their power to not let low quality pass downstream. The policy is, "Bugfix team improves fundamentals, others stop deterioration and improve within the context of delivery."
- The Bugfix team responsibility rotates.
Technically, that will make the Bugfix team a "legacy rewrite" team rather than a "locate, isolate and fix the bug" team. Their mission shaping the future of the product, not merely dealing with its past.
Conclusion
My stance on the topic is, "no Bugfix team unless you can clearly explain how you're actually going to solve the problem that leads you to needing it."
You can't solve the problem of low quality simply by throwing money at it.
No comments:
Post a Comment