In my my first post on designing the agile ecosystem, I talked about patterns that describe how teams can deliver within a larger context. I then went on to discuss team service delivery patterns, which describe how a team can deliver services to its customers. In this post, I’ll discuss team linking patterns, which describe ways that teams can coordinate and collaborate with each other. Each connection between one team and another can be annotated with one of the following patterns, which describe how the teams interact.
The types of team linking patterns are as follows:
Open space provides a dedicated location and a scheduled time for different teams to come together and collaborate and synchronize in an unstructured way. An open space can held at a recurring cadence. Participants are encouraged to self-organize to solve problems. Often, different themes are selected by the group using dot voting (participants mark their favourite options with a dot, and the subject with the most dots wins), and members are free to leave one session and join another whenever they feel they are neither contributing nor learning. Use the open space when a group of interrelated teams could benefit from collaboration in a way that is hard to predict or plan. This approach is a great way for people from different teams to innovate together and share higher-level mission objectives.
Rotating standup participation
Rotating standup participation defines a method for team members to participate in other teams’ daily standups. Analyzing team backlogs for dependencies can often reveal a need for cross-team participation. To keep knowledge flowing, participants can be chosen on a rotating basis. We advise rotating standup participation when there are strong dependencies between two teams and a need to synchronize the work. This team linking pattern allows teams to give each other timely assistance.
Travelling intent owner
A travelling intent owner is a team member who brings a unit of work to another team in order to get it completed. The owner of the intent travels to the other team and works closely with its members, owning the definition and validation of the work. This pattern makes sense when teams that are focused on intent forming require the help of teams that are more focused on delivery. Also, when delivery teams are supporting multiple business areas, it’s impossible for a static product owner to have all the business knowledge in house. He can bring in the required expert when needed, and collaborate closely with that expert.
A synchronization ceremony is simply when two or more teams meet to synchronize work. Meetings follow a repeatable ceremony, and can take place at a recurring cadence or be triggered through a pull system. Synchronization ceremonies make sense when there is a predictable dependency between two teams that needs to be thoughtfully coordinated.
Shared discovery and grooming
Shared discovery and grooming is a kind of synchronization ceremony where two teams meet in order to determine how they will complete shared work. The teams agree to plan and scope work together, share a common backlog of work, and collaborate to triage the work between them. Shared discovery and grooming is useful when teams share business objectives, a common pool of customers and stakeholders, and a common technology platform.
Story acceptance criteria injection
This pattern is used to handle compliance, audit or application of cross-cutting concerns that the team (including the product owner) may not always be focusing on. Members outside the team—responsible for compliance, governance or auditing of a team’s work—examine backlogs of teams for risk and tag work that needs to be examined more closely. These members may inject additional acceptance criteria into stories as they are being groomed by the team. As part of story validation, these members validate that the stories in question pass the enhanced definition of “done.” This pattern is one way to address governance and compliance, or address enterprise concerns in a way that doesn’t slow teams down by forcing them through gates and check points.
When a number of teams share a common goal and are grouped into a portfolio, they can synchronize work by replicating common team ceremonies, but at the portfolio or enterprise level. Portfolio-level planning, standups and reviews/retros are attended by delegates from each team in the portfolio. Often, there is some view into a portfolio-level backlog, with portfolio-level metrics and other portfolio-level information radiators (e.g., Kanban). Portfolio synchronization is recommended whenever you’re running a program or supporting a portfolio of demand with shared capacity across teams. This pattern makes sense when delivering value requires traversing numerous dependencies across teams, and impediments and risks that impact the portfolio need to be dealt with quickly.
Stable replenishment ceremony
When a team needs to service multiple stakeholders, then stakeholders can attend a replenishment meeting—held at a stable cadence—to determine what work gets prioritized into the team’s backlog. Different replenishment cadences and ceremonies are used for different classes of service or market risk. Stable replenishment ceremonies can be helpful when you need to service multiple stakeholders with different types of demand, or you need to provide a number of services with different market risk or urgency profiles.