Scrum methodology is an important interpretation of the agile development manifesto. In the agile methodology of software development, a Scrum team is a cross-functional team of software engineers, programmers, analysts, architects, quality assurance experts and testers, all of whom work closely together to develop a product. When Scrum teams become too large, they lose their close-knit collaboration and start to become less effective. To keep your agile development methodology working well, you need to know when to divide your Scrum team into a series of subteams that can work well together.
When to Divide Your Agile Scrum Team
According to Scrum Methodology, the ideal size of a Scrum team is seven, plus or minus two. Although you may choose to allow your Scrum team to get slightly larger than this if it suits the needs of your project, if you let the team size creep up to around 20 members, you'll probably find that it becomes very difficult to manage. Stand-up meetings with this many people can take forever to get through, leading to frustration among team members and eating into their valuable working time. Therefore, at some point during the growth of your Scrum team, you need to divide it into a collection of subteams, each of which works independently but communicates with the other teams to ensure they are all working toward the same goal. Remember Jeff Bezo's two pizza rule: you should never have a meeting with so many people that they couldn't all be fed with two pizzas.
How to Structure Your Teams
You may want to split up your scrum teams so that each team deals with a different portion of the application, or according to the specializations of the skills of the team members. By dividing your teams, you can split up the roadmap of your application development. Each of your subteams must have an architecture owner, who oversees architectural decisions made by the team and reports to the product owner to ensure the product development is progressing satisfactorily. The team also needs a Scrum Master, who encourages the team to adopt modern methods of software development, such as test-driven development. Within the Scrum team, you also need to have a diverse range of skills, including programming, quality assurance and testing. The aim of a Scrum team is to combine everyone's skills to drive product development forward in a collaborative and integrated way.
How to Make Divided Scrum Teams Work Together
Once you have divided your Scrum team into a number of subteams, you must ensure that those teams continue to communicate and collaborate closely. The Scrum Master of each team should attend a brief daily coordination meeting, which is often called a "scrum of scrums daily stand up." This meeting is a chance to discuss the current status of the project and identify any issues that have arisen since the last meeting. By identifying issues soon after they arise, Scrum teams can quickly address them and come up with solutions, rather than allowing issues to develop into more serious problems that persist within the final product.
Harmonizing Divided Scrum Teams
In addition to raising issues at daily meetings, all Scrum team members should be encouraged to share their thoughts, opinions and ideas throughout the agile development process. Maintaining strong communication is the key to ensuring that the division of a Scrum team goes smoothly and that the resulting Scrum teams can all continue to contribute to the development of a high-quality final product. Everyone must participate in the retrospectives by raising their hand often to share their ideas. In addition, the results of the retrospectives should be shared with other scrum teams.
If you worry that your Scrum team is getting too large, don't hesitate to split it into two or more smaller teams. Smaller groups of people are easier to manage and are often able to collaborate more effectively than larger ones. Just don't forget to maintain communication between the subteams you create so that each team knows what the other teams are working on.