Managing complex and lengthy projects is a challenge. When dozens of people are working on the same product in parallel there has to be a mechanism for identifying and resolving dependencies and cross-team blockers.
In traditional projects, it’s a PM’s task to ensure that all the team members are working on right tasks in right order. She is the one who decides about priorities, monitors progress and initiates corrective actions when required.
In the Agile world, there are self-organising teams that are accountable for delivering outcomes they committed to. There is nobody who defines how the work should be done or what actions need to be taken. Of course, there is a Product Owner who sets priorities, but there is no direct mechanism for synchronising work between various teams.
There are several frameworks (i.e. Scaled Agile Framework or Nexus Framework) for scaling Scrum that provide some solutions for managing complex product development efforts, but still it’s up to the teams how they self-organise around managing project dependencies.
A solution that can help resolve a problem of managing dependencies in complex Agile projects is a mechanism called Inter-team Commitment Story (please refer to Agile Project Management by Jim Highsmith).
Inter-team Commitment Story (ICS) is a form of a story that works as an agreement between two or more teams. It’s a kind of a contract that defines set of responsibilities on each party’s part and specifies what and by when should be delivered to get the dependency resolved.
ICS may be somehow overseen by an integration team or project leader (they can be the ones to identify the dependencies in the first place), but it’s teams’ responsibility to mutually agree how a given dependency will be handled. Of course, it’s also Product Owner’s responsibility to make sure that Inter-team Commitment Stories are prioritised accordingly and that a pressure to deliver business stories doesn’t make some teams blocked.
Inter-team Commitment Stories are planned and scheduled as all other stories in the product backlog. And most of all, ICSs are estimated so that the cost of managing team-to-team coordination is not hidden. The main advantages of this mechanism are:
- dependency management and coordination work are visible,
- it downgrades the coordination from project manager to teams that know the details,
- it helps to build accountability,
- it supports inter-team collaboration and builds cross-team relationships.