As we noted earlier in this theme, coordinating and synchronizing goals across multiple teams is not a new problem. Solving the problem at scale requires integrating specific steps into how work is being delivered. Building coordination and synchronizing steps work best if they are part of activities that are naturally designed to consolidate and disseminate information, while also avoiding the construction-related steps. Identifying the steps to coordinate and synchronize goals is a first step in scaling Agile. The size and complexity of the effort will contribute to the selection process. For example, delivering functionality from two collocated teams will need less overt goal coordination than an effort with twenty teams spread across the globe. Because adding coordination and synchronization steps into the workflow may feel like overhead to individual teams, care should be taken. However, well-executed coordination will provide a significant payback both for the team and to the overall effort. The Agile planning mechanisms that are excellent tools for coordinating and synchronizing goals include:
- Product Roadmaps define the path the application will follow as it evolves functionally and technically. Roadmaps are generally more specific in the short-term and aspirational in the longer term. The Roadmap synchronizes by establishing guidance on the features that the organization intends to develop and deliver. Use Roadmaps for efforts with one, two or many teams.
- Charters are often used as a tool to establish a bond between teams and among team members by jointly documenting goals. Developing a charter establishes why an effort is being done by outlining a common understanding of the project mission, vision and goal. Jointly constructing a charter tends to get messy with more than four or five teams. For larger scaled efforts, I have seen group reviews of charters developed by a Scrum of Scrum Masters, while Product Owners provide a platform for sharing and synchronizing goals.
- Product Increments (PI) are an artifact of the SAFe framework. The PI is an aggregate output of several teams across multiple iterations (sprints). The PI acts as time box that periodically provides an impetus for delivering content and generating feedback at a broader level than a sprint demo. Releases can also be used to serve the same function for smaller efforts or efforts using different scaling mechanisms.
- Single Backlogs provide anchors that teams can use as reference points to coordinate work entry into a sprint, release or product increment. A single backlog is often most effective when used to help a single Product Owner to support a few teams. A single backlog for large efforts with a large number of teams tends to be messy (too many moving parts). Consolidating work selected by the team into a PI or release backlog may be a useful technique to help coordinate goals within a release or PI.
- Standardized Cadence. In Agile, cadence reflects the number of days or weeks in a sprint, just as in music the cadence sets the number of beats in the bar. Establishing a standard cadence for all the teams in an effort and then having them all plan and start at the same time provides a platform for sharing and synchronizing goals.
Planning in Agile is not a single upfront event, but rather a series of events spread across the whole effort. Many of the tools used to plan (and re-plan) Agile efforts are useful both at the team level and at the team of teams level.