Applying Cadence and Synchronization to Solution Development Teams
San Francisco, CA – May 4, 2021 – By Erik Marvik, Business Agility Transformation Consultant & SPC, Project & Team
It’s a common scenario: Your company is developing a complex solution. Multiple teams are each responsible for components of the overall solution. But each team has limited resources, competing priorities, and a limited view of what the other teams are working toward. How can management resolve these challenges and predictably deliver solution value?
The answer is, by applying cadence and synchronization. Complex solution development is naturally uncertain. But by applying cadence and synchronization, we can manage this variability and create a more stable, reliable, and predictable solution development process.
Cadence provides the heartbeat of a development process by leveraging a rhythmic pattern of events. Cadence creates predictable routines, allowing your developers to focus on the variable part of solution development. By applying cadence, each development iteration (or ‘sprint’) has a pre-determined and predictable duration. A preset duration enables you to balance each team member's available capacity for that duration with the total workload and to prioritize accordingly. For example, if one team member has a capacity of x for a given iteration, but they’ve been assigned a workload of 2x for the iteration (all too common), it’s easy to see this isn’t a realistic plan. Work can either be reallocated to other team members who do have available capacity, or de-prioritized and pushed out to the next iteration. This example also illustrates how cadence helps control the intake of new work. There’s only so much capacity a team will have in each iteration. Consequently, new work must continually be prioritized to determine what the team should focus on, and what work must wait for another iteration when the team has available capacity. This helps keep batch sizes small and prevents the temptation to load excess work into the current iteration. And developing on a predictable cadence makes wait times for new work predictable, another added benefit.
Your teams are likely already applying cadence in their Agile sprints. But some teams might be running 2-week sprints, 3-week sprints, or even 1-month sprints. So while each team is “sprinting” on cadence, the cadences are different, and the holistic solution is likely not evolving as planned. While cadence is critical, cadence alone won’t allow you to integrate your overall solution, share customer feedback, or coordinate across teams.
The missing piece? Synchronization. Synchronization causes key events to happen at the same time and ensures all your teams are “sprinting” as a whole. When multiple teams are developing on the same cadence (2-week sprints, for example), are all synchronized (same start/end dates), and further synchronize with regular integration events (via solution demos), cross-team collaboration and solution value increase dramatically. Regularly scheduled solution demos provide evidence of this. Regular solution demos across teams allow multiple solution perspectives to be understood, resolved, and integrated at the same time. For example, your teams may each be building components of an overall solution. Individual components themselves have little value to your customers, however, and often customers have no idea the components even exist. But if a component adds value to the overall solution, then it needs to iterate on the same cadence of the solution and be synchronized.
When multiple teams integrate and evaluate together at the same time, it forces teams to regularly revisit and adjust their overall strategy and plan. This manages variability by limiting it to how frequently the teams integrate and synchronize. In other words, the more often you synchronize, the less deviation you’ll have.
Complex solution development is an uncertain process. A shared cadence and synchronization across all development teams helps management predictably deliver solution value. These principles also help manage team workloads, communicate customer feedback, create solution and cross-team alignment, prioritize top development efforts, and foster collaboration and continuous improvement among your teams.