Please welcome new guest blogger, Terry Winslow, as she explains the Dependency Board in use at Valpak. Terry is an Agile Project Leader at Valpak. This means she wears many hats as ScrumMaster, Kanban Lead, and Agile Project Manager.
One of the biggest challenges in agile is managing cross-team dependencies. Cross-team dependencies exist when two or more teams need each other to deliver an end-to-end increment of working software. Over Valpak’s 4+ years of agile development we have learned that cross-team dependencies are a way of life. But how do you manage these dependencies? There is no magic one-size-fits-all answer. Like many things in agile, management of cross-team dependencies has evolved over time.
When Valpak started our agile journey we had the daily Scrum of Scrum standup. The Product Owner and ScrumMaster of each agile team would meet daily and discuss cross-team dependencies. At that time, our code base was so interrelated that code changes made by one team would affect other teams. These daily standups were needed to coordinate code changes and releases. As our code base became more decoupled these Scrum of Scrum standups were held twice a week.
Eventually, we discontinued the Scrum of Scrums all together. The work of managing cross-team dependencies fell on the ScrumMasters to coordinate between the Scrum teams. The ScrumMasters coordinate cross-team dependencies with other teams while grooming stories for upcoming sprints. While the ScrumMasters do a great job, we wanted a way to visually see the dependencies. That is where the dependency board was born.
The left side of the board has a row for each team along with a column to place user stories that have dependencies for the current sprint. Along the top are columns for groups that are required to help complete stories. These groups could be other Scrum teams, database administrators, architects, or subject matter experts.
Each sprint, the ScrumMasters display the user stories that have dependencies on the left side of the board and indicate which people are needed from other Scrum teams using the columns. A dependency meeting is scheduled after all Scrum planning meetings are completed. The ScrumMaster for each Scrum team reviews the user stories and the team members needed to complete the story. All ScrumMasters agree that the needed team members have either 1) a corresponding user story on the other teams Scrum board or 2) have included the needed work in support time. If there are any discrepancies, the two ScrumMasters work it out with their teams and Product Owners before the end of the day. This could include pushing a story out a sprint until the needed team members are available.
The dependency board is a great way to visualize cross-team dependencies. It allows teams to commit to working together to complete working software. By setting a scheduled meeting to review the dependency board, we make sure that all teams are aware of any cross-team dependencies and we don’t have any cross-team dependency surprises later on in the sprint.