There are a lot of scaled agile frameworks out there. Some are big and complicated, whilst others are small and simple. Each one has pros and cons depending on a wide variety of factors, not least the maturity of the company and the knowledge/experience/skill of the people implementing it.
One framework in particular stands out to me as being universally applicable and useful across a wide variety of teams — Nexus. Anybody who is interested in scaling an agile process would benefit from reading The Nexus Guide, even if it’s just for some ideas and inspiration.
Nexus is the foundation of the diagram below, and at its heart is a balance of simplicity and process definition. Quite intentionally, the diagram only shows the key flows of information & product throughout the process, because while the concept is highly universal and applicable across many teams, specific details seldom are.
I would generally expect the practices that have worked well for a Scrum team to work well at scale in this model. Of course, as Nexus explains, some parts — such as backlog refinement — may benefit from being an event in their own right.
The diagram shows some key concepts:
One product should have just one Product Backlog (with just one Product Owner). Multiple teams can work off this single backlog, and the increment should be reviewed collectively across all teams, in just one Sprint Review. Why? Because there is one product and one Product Backlog, reviewing each team’s work in isolation wouldn’t be conducive to effective/appropriate inspection and adaption. Transparency would likely suffer and the process would inevitably become bloated as more meetings and handoffs attempt to compensate for shortcomings.
The individual teams, and the collective, both need their own retrospectives (which ideally should be held every Sprint). Individual teams need retrospectives for the same reasons that they do in any other non-scaled Scrum team, and because they are so dependant and integral to the wider goal and associated processes they benefit from having a formal opportunity to inspect and adapt these aspects as well. The groups should do this collectively, and most preferably without any exceptions — limiting this exercise to team leads or other representatives is in most cases a false economy. If people aren’t able to be involved, even if it just to listen to what’s going on, the group will struggle to self-organise and work effectively.
Low cost of entry to the Product Backlog. The Product Owner is responsible for the backlog, and so they may choose to apply a process around inbound items, to ensure that they are understood and of an acceptable standard (have the necessary attributes, etc.), but crucially this process needs to be simple. The refinement loop can be used to better prioritise items, and apply detail as necessary, etc. but the emphasis on this entire process is simplicity. If it isn't simple, it won't work. Did I mention simplicity is key?
It’s a particularly common pattern for scaled-processes to introduce unnecessary complication and even complexity around this process. This introduces waste, increases cycle time and greatly reduces transparency around the process as a whole. I’ve seen processes where there are six or seven distinct steps/hand-offs to get a simple PBI (like a bug, or action to resolve technical debt), onto a Product Backlog and prioritised. That's six or seven steps before a Scrum team has started their work on it; that's a lot of upfront investment which has potential to produce a lot of waste.
It is common in larger projects for more than one person to have an interest or stake in the Product. This is particularly true in larger companies. History has taught us that having multiple people responsible for the Product Backlog is a recipe for problems, so providing a recognised platform for people to discuss things outside of the Sprint Review could be useful to fulfil this desire/need. It is important to remember the purpose of the Sprint Review, and that groups such as this cannot and should not take its place.
A key attribute of ‘communities of interest’ is that they are both transparent and open; anybody with an interest should be welcome to be part of them. They should meet as often as necessary, which is probably at least once every couple of Sprints. They probably shouldn’t have any distinct or tangible output in their own right; they shouldn’t be part of a backlog refinement process for example, but their members may choose to act on the discussions and decisions at the appropriate events, such as in backlog refinement or at the Sprint Review.