Dependency is a potential obstacle that slows down or blocks the work of a Scrum Team.
There are three main categories of dependencies that a Scrum Team encounters, and each category of dependencies differs in complexity.
1. Intra-team Dependencies
The least complex scenario of dependency is when one team possesses all the skills needed to create a backlog item (PBI) that is potentially ready for deployment. The team has no external dependencies. However, team members may still face:
Backlog items dependent on each other, and/or
Tasks in the sprint that depend on each other.
In any case, a self-managing team with a skilled Scrum Master should be able to understand these dependencies independently. If such dependencies are identified, developers clarify technical dependencies to the Product Owner (PO), and the Product Owner uses this information to reorder the product backlog. Regarding dependencies between tasks in a sprint, developers are responsible for coordinating actions on these tasks.
What can help:
Rework and decompose backlog items to make them more independent. This is best done before sprint planning, during Refinement, but can also be done during sprint planning.
When planning a sprint, it’s essential to understand potential risks created by dependencies and agree on how they will be resolved. For example, the choice between Path A or B for Element 2 cannot be implemented until Element 1 is completed. Carefully monitor these dependencies during the sprint.
2. Inter-team Dependencies
The next, more complex category is inter-team dependency, arising in a multi-team environment where more than one team works on the same product. Each team can take and deliver product backlog items as they complete them, but control over the sequence of delivery or technical coordination between teams may be required.
You can start with something simple – coordination between self-managing teams.
What can help:
To minimize conflicting information, there should be only one Product Owner.
Ensure that the Product Owner works with teams and understands how to distribute work. For example, if you assign all high-priority tasks to Team A and lower-priority tasks to Team B, it may result in less value if Team A fails, compared to a situation where both teams work on tasks with the same priority.
Choose one or two representatives from each dependent team as representatives. These representatives will be responsible for coordinating with representatives from other teams. This activity will be carried out within the Scrum of Scrums – a regular meeting aimed at exchanging information and solving coordination issues between teams.
Using Scrum of Scrums, team representatives can also coordinate actions before and after sprint planning and Sprint Review.
Remember that Sprint Review is open to any interested party, and members of dependent teams may attend. Don’t forget to invite them.
3. External Dependencies
This is the most complex case – when the Scrum Team cannot complete all the work required to deliver a sprint backlog item. They need help or support from:
Another Scrum Team,
Another department, or
An external supplier.
Do the external parties on which the team depends practice Agile and Scrum?
If yes, they understand what is expected of them, and you can coordinate work plans at the product backlog level.
If not, and you cannot change this yet, the Scrum Team will have to plan its work according to the schedules of external parties. Ensure that tasks for monitoring and working with these dependencies are included in the team’s capacity.
What can help:
Request delivery confirmations from external parties. Get information on work volumes and specific dates.
Monitor the situation. Invite external representatives to the team’s daily Scrum meetings. Regularly check the agreed delivery schedule. Instead of checking the progress of work, periodically ask: “Are there any reasons why you cannot meet your commitments?”
Conduct a Retrospective on the performance of the external party. Were they reliable? Can you rely on them to deliver what they promised on time? If not, what will you do differently next time to reduce risks?
Finally, do not add a task to the sprint if there is an external dependency without specific delivery commitments. Since this is a business issue, Product Owners must be fully engaged and obligated to provide any assistance needed to manage the external party or another department in your organization. Product Owners have the authority and levers that can be very effective when used correctly.
Remember that dependencies can disrupt the continuous delivery of value. Do not think of dependencies as just how things are but instead consider them as potential obstacles and make efforts to eliminate or mitigate their impact.