Agile – Is hierarchical product backlog a good idea in TFS 2012-2013

agilehierarchyproduct-backlogscrumteam-foundation-server

I'd like to validate I'm not in the wrong way.

My team project is using Visual Studio Scrum 2.x. Since each area/product has a lot of kind of requirements (security, user interface, HTTP/REST services…), I tried to manage this creating "parent backlogs" which are "open forever" and they contain generic requirements.

Those parent backlogs have other "open forever" backlogs, and/or sprint backlogs.

For example:

  • HTTP/REST Services (forever)
    • Profiles API (forever)
      *POST profile (forever)

      • We need a basic HTTP/REST profiles' API to register new user profiles (sprint backlog)

Is it the right way of organizing the product backlog?

Note: I know there're different points of view and that would be right for some and wrong for others. I'm looking for validation about if this is a possible good practice on TFS with Visual Studio Scrum.

Best Answer

As far as I understood hierarchical backlogs: They are not meant to be organized by technical topics, but rather organized by abstraction level of the work item. The lowest levels are supposed to be the most technical, the highest the most business-value/business-goal related.

In the MSDN documentation there is an example with the following hierarchy:

  • World-class customer support
    • Mitigate impact of low-coverage areas
      • Data cache improvements

To me this way of using the different levels seems to be useful for:

  • Capturing high-level goals - even if they are currently out of scope for development and without having to specify technical, detailed tasks
  • Documenting the presumed link between the technical detail and the expected business outcome
  • The the similar abstraction levels within each level and the context of the upper layers provide a good framework to discuss alternatives or prioritization