InterviewSolution
| 1. |
How can inter-team dependencies be handled when Scaling Scrum? |
|
Answer» When a product is being developed by multiple Scrum Teams it is recommended that there be 1 Product Backlog (PB) for that all the Teams draw from to produce their own Sprint Backlogs. It is probable that 1 Team may be dependent on an output from another Team before they can develop a particular Product Backlog Item (PBI); for example:
“As a customer I need to pay for my goods/services So that the company will send them to me”
Clearly, Team B has a dependency on Team A such that Team B cannot start their part of the payment functionality until Team A has completed their part. When Scaling Scrum, the aim of Release Planning is to minimise the inter-team dependencies; it is improbable that all inter-team dependencies can be eliminated. The following are some of the ways that inter-team dependencies could be handled:
MMF is the group of features that make up the MVP. The Release Plan may be developed using the following steps:
For the payment example above, you may end up with a Release Plan Board and proposed Team Sprint plans that looks something like: Possible Release and Sprints Plans You can see that all Release MMF are planned to be finished by the end of Sprint 2 leaving Sprint 3 to cater for any overruns.
With the advent of Component-Based Development (CBD), some organised their development teams into Component Teams and Product Teams who ‘glued’ together the necessary components. If this continued into an Agile environment, then each ‘product’ development team would be dependent on separate component teams and the required coordination would be an onerous task. In an Agile environment it is recommended to have ‘Feature Teams’; 1 Team should be responsible for the end-to-end development of all of a Feature’s User Stories. This does not preclude the reuse of components; part of the organisation’s Design Strategy would require that a separate (possibly non-Agile) Component Management Team (CMT) REVIEWS the output of the Development Teams to see if there is any functionality that could be componentised; the CMT are responsible for componentising the functionality and maintaining a Component Library. Before writing any code, the Development Team search the Component Library for any components that would be useful. Component Teams Feature Teams
Scrum of Scrum meetings are conducted at regular intervals, probably at least once per week, to track dependencies among scrum teams.
Dependency threads or tags may be used for visualization of dependencies among features and/or teams.
As part of Agile programme management, “independent” dependency teams may be used to track inter-team dependencies, blockers, external dependencies and ensure they are taken to closure. |
|