When confronted with the task of scaling agile teams, most people go down a familiar path – scrum of scrums. But did you know that there is another method of scaling, a method that uses a single team and no scrum of scrums?
Scrum of scrums
Before that, here is a quick overview of the scrum of scrums method.
Let’s say we have 40 team members. First we split them up into four teams of ten members each (or five teams of eight). Each team is cross-functional with their own scrum master and product owner. The product backlog is broken into four parts and each team is given one set of stories to implement. Each individual product owner maintains the backlog for the team.
In order to coordinate the four teams, a meta-team called a scrum of scrums is formed. This is a higher level team with one member from each of the teams present. Their responsibility is to ensure that all the teams are coordinated and heading in the right direction. This meta-team also manages dependencies between the various teams.
Every day the scrum of scrums team gets together for a standup to ensure that there is visibility and coordination between everyone.
The scrum of scrums is a simple hierarchical solution to the problem.
Instead of scrum of scrums, an alternate method is to use feature teams.
Feature teams are small, ad-hoc, cross-functional teams that work on a single story. The feature team is responsible for getting a story from Not Started to Done. Once the story is complete, the feature team is disbanded and a new feature team is formed for the next story. Feature teams are completely self organized in how they form and who works on what.
With feature teams, the whole team is kept intact. In our example, all forty members will be a part of a single team.
For example, consider a new story that is not yet started. Team members from the main team will decide who wants to be a part of the feature team for that story. In the simplest case, you may have one or two developers and a tester volunteer to be a part of the feature team. This decision can be made either at the start of the sprint, or just in time later on. Once the feature team is formed, it is their responsibility to work together and deliver the story. Once delivered, the feature team breaks up and each team member signs on for a new story, joining a part of a new feature team.
Since a feature team is cross-functional to deliver a story, there is no real need to have a daily standup meeting. Instead, meetings are called ‘on demand’. For instance, a meeting might be called when an impediment is found. There is also no need to split the backlog as everyone works from the top of the same backlog.
There are many variations to feature teams. Sometimes the feature team is kept intact for a long time, sometimes team members are a part of more than one feature team, sometimes a quick standup is still done to maintain cadence, and so on. The basic concept remains the same.
Feature teams were made popular by their use at Microsoft, and are often used on agile projects that follow the Feature Driven Development method.