Wednesday, July 29, 2009

Portfolio view in ScrumPad

We have recently added a portfolio view in ScrumPad. A portfolio in ScrumPad is a group of related projects. Traditionally these projects are managed under a program. From that perspective, "a portfolio" is the same as "a program." With current implementation, you can only view backlogs side by side for projects that you are a product owner on. You would still need to separately manage each backlog.

Our ultimate goal is to allow driving multiple projects from a single backlog. This is the case with large projects where multiple teams work on a single integrated product. The best practice is to maintain a single product backlog. We have been brainstorming about how to support this while maintaining a flat structure among projects. We like to avoid hierarchical structure as much as we can. After a lot of white boarding, we came up with a solution that supports our goal of keeping the flat structure.

Now we are working on expanding the portfolio view to support the following features:
  • Move stories from one project (product) backlog to another project backlog
  • Manage multiple project backlogs from a single integrated portfolio backlog
  • Import/Export portfolio backlog
Although we have solved for the architecture, we are faced with design challenges. For example,
  • What do we do with tags when moving a story from backlog to another since tags are backlog/project specific?
  • What do we do with associated message threads, bugs, and impediments?
  • What do we do if the story is already scheduled to a sprint and a release since sprints and releases are project specific?
  • What if the story is assigned to a person who is not a member of the other project (team), which is most likely be the case.
  • Should we allow a story "in progress" to be moved to another project?
  • How do we integrate priorities across multiple projects into a single portfolio view?
As you can see a simple action of moving a story from a backlog to another is not so simple anymore. Our design goals are:
  • No workarounds
  • Less reworks
  • Simple yet robust solutions
Luckily we have optimum solutions to these challenges...:-)

We are pretty excited about the portfolio management in ScrumPad.