At Trevor.io we recently released some fundamental changes to our platform, which, unsurprisingly, came with a handful of bugs. This triggered a debate among the team: which bugs do we fix now? Which do we fix later? And when is later? If we don't fix them now, will we realistically ever fix them?
This led us to an interesting question: what if we just split all bugs into "will fix" and "won't fix", and then prioritise every "will fix" above all new features....always. In other words: we commit to only ever adding new features when we're bug free.
Has anybody tried this? Can it work?
- Prioritizing is hard, so avoid wasting brain cycles deciding how important your bugs are
- It encourages all of your team to get things right the first time, because if they don't they know they will be going back to fix it immediately.
- If you want to create a culture of quality then it's an obvious first step.
- It saves time in the long term by addressing problems when you have the most context and by avoiding building hack upon hack upon hack
In extreme cases you can relax the policy, but be aware that if you don't quickly correct course then things will be permanently worse. Also accept that hard external deadlines are not suited to this approach, but using triage some of that can be mitigated.
[1] https://sookocheff.com/post/process/zero-bug-policy/