Mixing Agile and Waterfall Development in the Scaled Agile Framework
by Ken France
Blue Mercury Consulting, Scaled Agile Framework Program Consultant (SPC)
In our experience, the optimal scenario for continuous value delivery is an enterprise-wide deployment of the Scaled Agile Framework. The use of a common cadence that synchronizes all programs and teams is a key mechanism that enables this to occur. However, it must be recognized that it is often difficult for organizations to “go all in” with agile for various reasons, such as dependencies on external partners/organizations who are using waterfall, internal culture that requires time to shift to an Agile mindset, etc. Figure 1 illustrates the key challenge in having to maintain synchronization between Agile programs program and those using waterfall.
Figure 1. The challenge with mixed Agile/Waterfall environments
While these environments present these unique challenges, there are mechanisms that can be used to help maximize the value delivery despite the sub-optimal scenario. This document provides guidance on how to address three separate scenarios that are common in these types of environments.
Before detailing these scenarios, it’s important to first cover some aspects of the program that should remain the same regardless of whether a mixed situation exists or not. First, we recognize that the existing PMO can provide governance across both the Waterfall and the Agile programs. Figure 2 illustrates this concept. Having a (mostly) common approach governance will allow key decisions to be made based on the metrics being used.
A key aspect of the PMO is that is should adopt a mindset that performs the same core functions of a traditional PMO (Strategy and Investment Funding, Program Management, and Governance) but does so in an agile manner. Figure 3 illustrates the key Agile mechanisms that can be used to perform each of the traditional PMO functions. While the program may need to adopt some of these mechanisms incrementally, the focus should be to continually find ways to evolve the PMO towards Agile/Lean thinking as time progresses.
Mixed Model Scenario Introduction
There are three possible mixed environments scenario in these that must be addressed.
- Independent Teams: Waterfall and Agile programs are completely independent of each other and just need to be deployed in a common release
- Low Dependency : Some dependencies exist but, success does not require constant synchronization
- High Dependency: Substantial dependencies exist throughout development, therefore a high level of interaction and synchronization is required in order for each Program to succeed
Each scenario requires a different level of synchronization to ensure the program progresses as planned. In the independent scenario, synchronization at the Portfolio level within the SAFe framework is sufficient. In the low dependency case, more frequent synchronization is required, at a minimum at the potentially shippable increments (PSIs) that are defined in the Program level in the framework. Lastly, the high dependency scenario requires much more frequent touch points that involve team-to-team synchronization that occurs within the defined cadence at the Team level of the framework. The three scenarios are described further below.
Scenario 1: Independent Teams
Figure 4 illustrates a potential scenario for how two programs that are largely independent of each other can be monitored and synchronized. In this scenario, synchronization throughout the project is not required since neither program has deep dependencies on the other. In some cases, these teams can deliver into production at different times or, as the diagram shows, they may come together at the end and be included in the same release in order to maintain consistency with the user community. In this sense, these team are synchronized strictly at the Portfolio level of the SAFe framework, since the functionality being delivered by each does not have to be integrated prior to release.
Even though the deliverables associated with the teams are independent, it’s still important for the PMO to be able to monitor progress of each team in a similar manner so that program level reporting and metrics can be consistent. In this case, a common governance structure can be established that defines the same milestones with different definitions for the Agile vs. the Waterfall teams. Figure 4 illustrates four common milestones: Planning, Design, Integration, and Release (showing Planned vs. Actual in this example). While the Release milestone self-explanatory, the Planning and Integration milestones will have far different meanings between the two teams. For example, “planning complete” for a Waterfall program could mean the completion of all requirements, scoping and scheduling activities. Planning for an Agile program means that it has implemented continuous, rolling-wave planning, delivering out of a common Program Backlog, under the auspices of an appropriate content authority (typically Product Management in SAFe), that is intended to address and deliver an “appropriately” scoped release. In a similar way, each team would define Integration milestones differently as well.
Scenario 2: Low Dependency Teams
A slightly more complicated scenario is outlined in Figure 5. This scenario introduces temporal synchronization of the governance milestones that are necessary in order for the teams to ensure their individual components will integrate well. Where possible, programs strive to align these milestones with sprint or PSI boundaries at the Program Level in the SAFe framework. Since the agile team has a faster “clock speed”, it is easier for that team to adjust its plans to align with the waterfall milestones,than vica versa. This may mean introducing another hardening sprint into the PSI to allow for an integration point or to remove a development sprint if that will allow an earlier integration point. Ideally, the waterfall team can also adopt a more incremental approach to developing the product, so that long release cycles are not present and synchronization and integration and thereby fast feedback, comes much earlier in the process.
Scenario 3: High Dependency Teams
Lastly, Figure 6 illustrates the most complicated scenario that requires the highest level of synchronization. In this scenario, synchronization is required at the team level and should happen, a minimum, on every sprint boundary. Daily interaction may be required in some cases for key issues or dependencies and could occur both at the technical level (architect to architect or developer to developer) or at the business level (analyst to analyst). The key is that the Agile teams should not wait for the Waterfall teams to complete their entire development cycle before beginning to integrate. Agile teams have built-in ceremonies for these regular synchronizations such as PSI planning, sprint planning, daily standups, scrum of scrums, and sprint demos/retrospectives. In addition, the high volume of dependencies requires detailed tracking of the dependencies and associated risks/issues. It will be the case that the agile team needs to make assumptions in order to make progress on its sprints while the waterfall team progresses towards an integration point. It’s critical that these assumptions be validated on a regular basis and, if needed, be used to drive the appropriate re-factoring within the agile team for assumptions that didn’t hold true.
Even though the optimum enterprise scenario is to leverage the Scaled Agile Framework for all programs, and thereby receive the time-to-market, quality, productivity and employee engagement that these paradigms help deliver, mixed environments can still take advantage of many of these benefits. The key is to start with start with an educated Lean and Agile mindset, both within the PMO and across the organization, with your PMO and continue to evolve Lean/Agile thinking and behaviors as time progresses. By establishing a common governance structure across both the agile and waterfall teams, the PMO can oversee and steer the overall portfolio in the appropriate manner. By leveraging the inherent flexibility that agile processes provide, synchronization between the Agile and Waterfall teams is possible at whatever frequency the dependency structure between the teams dictate. In the end, whether the environment is purely SAFe or mixed, the Business/Lean goal of “sustainably fastest value delivery” is always the same.
Last update: Dec 29, 2012