Wednesday, 13 July 2011

Are bugs hurting your backlog?

I ended up in a discussion with the team last week on how bugs cause a unmanageable link to the Technical debt. The debate was how should bugs be treated. my argument laid with bugs that hurt the current development and the future backlog. As a agile team a product backlog is key driver in defining what we do for in every release, the known unknown here is the bugs that are generated out of the current development. Let's say your product backlog is 200. If your team of 10 is burning say 100 user stories in a release of 10 days we can say that the velocity is around 10. But if in the same situation your team is burning 100 user stories in 10 days and creating 20 bugs that take 5 days to fix, your velocity is dropped to less than 7 + on the release day your backlog increased from 100 to 110 say a 20% increase.

Gauge the effect bugs can have in your system. Now go a bit deeper, assume you can only only resolve 10 of the 20 bugs in 5 days. The other 10 bugs go sit in your product backlog. When you cant get them in the current release and put them up for the next they take 20 days to resolve (Due to the time spent in between it no longer is hands on) your velocity rate with the bugs regards is then 100 user stories in 25 days (Just around 4?) Now if these 10 bugs are mapped for a future unknown release???? The technical debt it had created can be high, very high and would lead to say 10 more bugs getting created [causing you 8 days or maybe 10] your velocity with regards has now gone to ?????? less than 3 and forget about the qa and discussion cycles, customer unhappiness, quality quotient. Your product backlog spanned to 120 which is 20% more than what you expected to burn.

So next time when your release user story is generating a bug, go shout on your developer and tell him/her that the bug is a part of requirement and when you go live you want the feature to be done, not debted.

Obviously for those "Think Realistic" atheists this wont sound good. But remember your product backlog is piling up with the bugs, your velocity decreasing, your debt increasing and your cycles of qa increasing... in other words nothing in favour of better product.

What do you do to bugs that get created from your development bug and found during the release?