Dependency Management in Scrum - Discuss Agile

Share This Post

Blog

Dependency Management in Scrum

Overview

Dependencies are relationships between functional units and tasks which drive the sequence of functional flow of execution. There are several programs with external dependencies as well. Dependencies, if not handled the right way, leads to chaos and blockers during execution of the end product.

In Scrum, the Product Backlog the main planning tool consists of user stories with acceptance criteria. The good user stories are written the INVEST way (Independent, Negotiable, Valuable, Estimable, Small, Testable).

How “independent” are the user stories?

Practically most of the user stories would have data dependencies between each other. Each user story in a Sprint has to be code-test-built to produce working software each time. Further to add, today Scrum teams scale up to larger teams to adapt various scaling frameworks leading to increased dependency management.

Types of Dependencies

Dependencies in Scrum may be broadly classified as:

  1. Inter Story: Dependencies between user stories within the same team
  2. Inter Team: Dependencies between teams
  3. Inter Product/Release: Dependencies across products or releases of the same product
  4. External: Vendors, Third parties, Customer dependencies, People

How can these dependencies be handled?

Scrum has a built-in mechanism for dependency management:

1. User story Mapping and Minimal Marketable Feature: Grouping of user stories based on Features.Dependent stories may be mapped based on the data flow and functional sequence.

Decreasing Priority

2. Product Backlog prioritization: Apply MoSCOW/Kano prioritization technique for each Feature followed by Sequencing the dependent PB items based on MMFs (Minimal Marketable features)

Product Backlog prioritization

In case of Stories which are dependent on 3rd party vendors or any other external dependencies, sequencing may be done after a commitment from respective parties.

3. Team Structuring: Feature teams are recommended instead of component teams or shared component team members into feature teams.

Component teams


Feature teams

Feature teams

Each feature team may have cross functional team members with component experts as full time or shared resources to reduce the dependency nightmare.

4. Scrum of Scrum Meetings
Scrum of Scrum meetings are conducted to track dependencies among scrum teams.

5. Kanban/Scrum Boards to visualize dependencies
Dependency threads or tags may be used for visualization of dependencies among features and/or teams.

Kanban Boards to visualize dependencies

6. Central dependency team for large enterprise programs
As part of Agile program management, “independent” dependency teams may be utilized to track inter team dependencies, blockers, external dependencies and ensure they are taken to closure.

Conclusion

Dependencies are part of the functional flow of any system. Failure to identify critical dependencies and a strategy to handle them in a timely manner may result into delayed feedback loops, leading to waterfall kind of phased project execution.

Share This Post

Lost Password

Register