Setting up a development team
Hi! In the scrum guide I didn't find an answer for a quite important question - who should decide about who should be in which team and how the teams should be large - when talking about 100+ developers... Are it developers themselves, who decide? Or should it be done by PO/SM? Thanks for advices.
you are right, the Scrum Guide covers the development, but not the team building. This is a complementary practice and described "elsewhere", e.g. in the book "The enterprise and Scrum" by Ken Schwaber.
The Scaling Scrum approach is actually to bring the 100+ developers in one room and give them the task to build teams of 3-9 people. This supports self organization and puts responsibility where it belongs. You can help them a lot by presenting the Product Backlog and other useful context information.
Definitely not Scrum Master who chooses who should be in the team as he is not a Project Manager.
Product Owner can choose and structure the team composition.
Ideally though the development team self-organise and form the team composition. As an SM, I've pushed it back to the team to form themselves quite many times :-)
It usually is better to get the development team self-organize and form different teams. PO/SM ideally do the tasks but sometimes it is better to leave the decision on the development team itself.
Figuring out the difference between team management and scrum leadership can be delicate, and it sounds as if you've hit on one of the areas where the two sometimes overlap. Organizing a large collection of developers into productive teams isn't easy.
One of the advantages of Scrum is that the team organization isn't something that has to be permanent. Unless the organization insists that each developer commit to one team and never shift, the ability of teams to learn and adapt is a very helpful. At the retrospective for one sprint, the team may realize they need a developer with a different skill set, and reach out to the organization to bring someone in. Or a developer may find a strong interest in another team's project and move to that team.
Managers are responsible for keeping track of the workers and making sure everyone is engaged and productive. Scrum masters can help by encouraging participation and transparency, so teams can learn and adjust as their needs become clearer. Product owners may be able to provide some guidance, but the decisions should rest with the managers, and be informed most strongly by the team's own self-reflected needs.
I hope that was helpful. If your situation is very different from what I described, I'll be interested to hear how you approach it.
I remember this question appearing in my certification exam. In theory, 100+ developers should self-organise and form their own teams. However, based on my experience and in practice, I think this is very difficult to achieve. I've managed software delivery teams of 200+ people scattered across the globe and hoping that they would self-organise and form their own teams didn't seem like the most practical idea. Co-location of teams nowadays is becoming more and more difficult with cost restrictions and customer demands. For a one-time event, it is also very expensive to fly all 200+ people and put them in the same room. At the end of the day, theory has its place in this world and we should know when we should be taking it with a grain of salt.
Agree with RJ. Of course, only developers should self-organise and form their teams. But in reality we are facing with a little problem: it is very hard to guess correct teams at the 1st attempt. Because by Development Team we mean not only developers, but also analysts, designers, testers, etc. And just imagine the group of more than 100 workers who are trying to create teams.