29013Re: Backlog of technical tasks?
- May 1, 2008This is a very interesting thread, with lots of different ideas. Two recent comments have helped me to clarify my thoughts on this:
>I've always found it possible to refactor and pay down technical debt in the course of adding new features. As you touch legacy code, you leave it a little cleaner and easier to use than it was before. -- George Dinwiddie
Technical debt should be handled as part of a story, wherever possible.
The reason I do not like technical debt/clean up work to be on the Product Backlog is because the items are almost exclusively "how" items. As soon as you put "how" items on the Product Backlog, then in my opinion you are not leveraging the power of Scrum but are slipping back into micro-management mode.
A team should always be calling out technical debt items, and keeping them as a task list. These are tasks that will often become tasks for a particular story, but other times they will cross over multiple stories and just have to be attacked independently. The latter case is rarer, and allowing slack time for such work is sometimes necessary.
For me this issue really does come down to "what" versus "how". Focusing only on what the customer wants is one of the hardest things to get PO's to understand when they are moving from creating PRDs to creating Scrum Product Backlogs. If we continue to advise POs that everything should be on the backlog, the separation between "what" and "how" becomes messy, and things begin to spiral out of control. I have seen this.
Technical tasks do NOT belong on the Product Backlog.
--- In firstname.lastname@example.org, "Rob Park" <robert.d.park@...> wrote:
> I believe the crux of the issue is that it can be hard to justify technical stories in terms of business value. If you can't make that justification, you can't prioritize it as part of the backlog.
> E.g. Why does the customer want/need me to refactor xyz() into class J?
> We all know the technical debt needs to be worked down, so some are saying just put it on the side and handle it as overhead via slack.
> On a healthy team, we handled as much debt as we could with each story as the story touched it. On a not yet healthy team, we are putting them on the sprint directly, because in fact it's easier to justify the customer value when you're having issues.
- << Previous post in topic Next post in topic >>