Friday, October 2, 2009

How to manage multi-team product development

Managing single team project or product development is easy. All project management tools provide this capability. However, things start to look different when we start to manage projects that spans multiple teams. Some tools do not support this scenario, and others do it through project hierarchy. In ScrumPad, it is as easy as managing single team project. However, the terminology may come in the way to understand it.

Before I explain how we do it using ScrumPad, I need to introduce a few concepts as they are applied in ScrumPad. First is the project. A project is implemented as a means to manage a single team development work. So, a project is associated with a team and a product backlog. The team creates a sprint backlog from the product backlog to manage work in sprints (i.e. iteration). Second is the portfolio. A portfolio is a set of related projects. A portfolio may have its own (product) backlog. You can access a portfolio if you have access to all projects as a product owner. A portfolio is a way to track and manage related projects. Projects within a portfolio share same tags so that you can track progress at the portfolio level. We do not like hierarchical association of projects. We think it unnecessarily complicates things. With non-hierarchical setup, we can easily move between single team project to multiple team program.

Multiple team product development. It is recommended to use a single product backlog for multi-team development. However, it is not required in ScrumPad. You could keep separate backlog for each team. In that case, it will be just like managing multiple single-team projects. If you prefer to manage multiple teams from a single backlog, you would need to setup a portfolio in ScrumPad. You would use the portfolio backlog as the single product backlog for all your teams. First you would need to setup a project for each team. Then you would create a portfolio from "backlog > portfolio" menu and add the projects to the portfolio. If you already have a backlog before using ScrumPad, you can easily import your initial product backlog into your portfolio backlog in ScrumPad from "backlog > import." If you are just starting your project, you can start adding stories to the portfolio backlog as you elaborate requirements. Then you can move stories to project (a,k.a. team) specific product backlogs (a.k.a. team backlog) as you see fit. The teams can then work off its product backlog like any single-team project would.

Program management. If you have a program consisting of multiple related projects, but each project with a single development team, you would setup each projects separately. Then you would define a portfolio representing your program. Add the projects to the portfolio. Now you can track your program across all projects while your projects work independently (without needing a portfolio backlog).

The beauty of the loose coupling between project and portfolio is that you can start small as single team project. As your project grows you can seamlessly move to multi-team development using portfolio.

If you are using the portfolio feature, we would love get your feedback on how we could make it more useful for your needs.


  1. This seems to be an interesting feature. I am sure people will find it useful.