We get asked a lot about scaling Agile teams. Our first question is always, "Why do you want to scale?" Are you looking to have multiple teams working at the same time on loosely related projects (each with its own product backlog), or have multiple teams all working on a single project from a single backlog? What problem are you trying to solve by scaling?
Do you believe you need to scale because you have big projects or because you have lots of developers you need to keep busy? Are you hoping to increase your overall velocity by getting more done sooner, or is it because your organization has announced an "Agile transformation" and you've been told to "scale" to support that?
For most teams, all of these factors are involved in their desire to scale. But is scaling really the answer?
Scaling is hard.
Whatever your reason for scaling, our first piece of advice is to do everything you can to avoid scaling. Creating great Agile teams is hard; scaling them is even harder. Scaling magnifies any dysfunctions you have at the team level, so don't consider scaling until you’re really good at independent teams. Issues caused by scaling include:
- Cross-team dependencies, which are difficult to track and visualize. Each additional team exponentially increases the number of dependencies between units of work and the communication channels between the members of the teams.
- Integration of work becomes more challenging. At some point (at the end of each sprint in Scrum), you need to integrate all of the work into something that’s potentially shippable to the customer.
- Brooks' law. We've known since the ’70s that adding people to a late software project makes it later (from The Mythical Man-Month: Essays on Software Engineering, 1975). Adding more teams doesn’t ensure more work actually gets done.
- The J-curve effect. Any change made to a people-based process will cause productivity to initially decrease (disruption period) as people get used to the change. Hopefully, productivity eventually increases (making the curve look like a J), but the depth and length of the disruption period is difficult to predict.
What to do instead of scaling
There are several things you can do to improve velocity and throughput with just a single team. Things to consider before scaling include:
- Are you really being agile? Make sure you’re not just doing Agile but are being agile by living up to the 12 principles outlined in the Manifesto for Agile Software Development. We see many teams just going through the motions of doing Agile and not reaping the benefits of truly being agile.
- Have you automated everything you can? Automation is the key to an Agile workflow, and manual processes can’t keep up with the pace of Agile software development.
- Is the work properly organized? You can minimize cross-team dependencies by creating feature-based teams that can work with minimal interdependencies.
- Be the best team you can possibly be. You may find you can create enough value without adding new teams.
If you must scale
There are several frameworks and methodologies for scaling Agile teams:
- LeSS — Large-Scale Scrum
- Nexus — Scrum.org
- SAFe — Scaled Agile Framework
- DAD — Disciplined Agile Delivery
- RAGE — Recipes for Agile Governance in the Enterprise
Let's take a look at the three most popular scaling frameworks.
Large-Scale Scrum (LeSS)
LeSS was created by Craig Larman and Bas Vodde based on their experience working with large telecom and finance companies in Europe. Basic LeSS is designed to work with up to eight teams; LeSS Huge is meant for up to a few thousand people working on a single product.
The LeSS framework:
- Adds three new events to basic Scrum (sprint planning 2, overall retrospective, overall product backlog refinement).
- Is based on three principles:
- Teams should be deep and narrow over broad and shallow
- Requires top-down and bottom-up support
- Uses volunteering to get work done
The advantages of LeSS:
- It leverages what you already know about Scrum.
- It's great for collaborative organizations.
What LeSS doesn’t do well:
- It doesn't address enterprise-level processes.
- There’s no project/program management.
- It places lots of pressure on the single product owner.
Nexus was developed by Ken Schwaber (the co-creator of Scrum) and his team at Scrum.org. Basic Nexus is designed to work with three to nine Scrum teams; Nexus+ is the framework for when 10 or more teams are working on a single product.
The Nexus framework:
- Adds one new role: the Nexus integration team
- Creates five new events: Nexus sprint planning, Nexus daily Scrum, Nexus sprint review, Nexus sprint retrospective, refinement
- Adds three new artifacts: Nexus sprint backlog, Nexus goal, integrated increment
The advantages of Nexus:
- It’s Scrum scaled by the father of Scrum.
- Nexus works well in collaborative organizations.
The disadvantages of Nexus:
- It adds a large number of meetings to Scrum.
- As with LeSS, it puts a lot of pressure on the single product owner.
Scaled Agile Framework (SAFe)
SAFe was created by Dean Leffingwell as a scaling methodology for enterprises that require a more prescriptive framework at the program level. SAFe defines four framework levels: Essential SAFe, Large Solution SAFe, Portfolio SAFe and Full SAFe.
The SAFe framework:
- Is Scrum at the team level and Kanban at the program level
- Is highly structured at the product and program level
The advantages of SAFe:
- SAFe works well in control-focused organizations.
- It creates top to bottom visibility into the development process.
- It gives detailed guidance at all levels.
Disadvantages of SAFe:
- SAFe is very prescriptive and structured; it doesn’t encourage experimentation.
- It requires lots of training (or consultants) to implement.
Which framework is right for you?
So, you've done everything you can to make your single team as productive as possible, but you find that's still not enough and you need to scale. Which framework should you choose?
Choose LeSS if you:
- Are committed to Scrum
- Desire lots of flexibility
- Value collaboration over following rules
- Want your teams to be as agile as possible
Choose Nexus if you:
- Are committed to Scrum
- Value a framework created by the father of Scrum
Choose SAFe if you:
- Want a high level of team coordination
- Desire more control over the process
- Want a formal process and reporting
Scaling is difficult and not for everyone. Start with small changes, inspect the results and adapt. And whichever framework you choose, make sure you have an experienced coach to guide you.