This is an old revision of the document!
Table of Contents
What Should We Consider When Forming a New Team?
Premise
When you first bring Scrum into an organization you need to set up teams. Sounds easy, doesn't it until you starting thinking through the problem. That's when you start to understand that this may not be as easy as you thought.
This page describes some simple background rules to setting up new teams.
Background
If you read the books, the guidelines for team formation include:
- Size: Scrum Teams are typically 7 members, plus or minus 2, counting the Scrum Master, but not counting the Product Owner.
- Roles: Specific definition of full time Product Owner and Scrum Master.
- Make-up: Teams should be cross-functional, containing development, certification, documentation and subject matter experts.
- Characteristics: The best initial Scrum Teams are formed with people who have worked together previously, people who understand the problem or domain and people who know how to use the technology.
- Co-location: Scrum Teams work best when co-located.
- Team structure: Oriented toward the delivery of value from the end user / customer perspective.
- Consistent: Teams stay together.
Approach
While it is optimal to keep Scrum Teams together for a period of time (they learn how to work with each-other) changes will happen as people decide they want to work with others, on other things or find they are not suited to the role they have taken on. We need to be open to these discussions so that we can improve the overall team structure of the organization. Often the Scrum Team itself will come up with a proposal to re-configure. But note that these changes should be relatively rare. The general approach to team formation is to “bring work to the team” not “form specific team to do this work”. From a management perspective the additional benefit is that it reduces the amount of “resource allocation” activities you have to do.
For us the basic objective is to set teams up so they generally can take a requirement and turn it into working and improve our delivery, our predictability, and our quality.
We aim to build a series of “functional teams” – a team with members that has membership from code development, QA, product management, UX, writers, etc. This cross-functional group is needed so they can deliver value to “potentially shippable” state including QA and documentation. Sometimes there is a need to form a “component team” where the team is responsible for a component (or more) in a product, and so provide services to functional teams. Pros for component teams is that they potentially reduce duplication. Downside is that they make planning more difficult as there is a dependency set up for just about every retirement where you need to deliver value (see Why Should We Work Harder to Eliminate the Effect of Dependencies? for more information). For a large product (lots of teams for a product) I’ve found the the ratio of functional vs component teams is about 70:30.
The idea of the “functional team” is hard for many organizations that are used to thinking about setting up teams based on the architecture of the product. Reality is that while the “architecture” approach may seem logical, its is basically the idea of “component” teams in the extreme, which means that every requirement coming into the systems requires extensive dependency management to get something out the door. And we all know that increased dependency leads to increase risk associated with our release.
We basically put everyone into Scrum teams, even specialized people such as architects and DB experts. We establish a rule that says “no person can be on more than two teams”. Practically this means that a (very) few people that are on two teams. Reason is that if we put people on more than 2 teams, they spend all their life in meetings and so are not very effective. Some experts are on 1 team and then when another team needs their capability they act as consultant / mentors while still remaining on their primary team.
Some additional notes:
- In places where we have worked this, we did not change the reporting structure of any of the people as we went through this process. We basically said “this is your new role”. We then said to (say) development managers who became product owners “as a PO you receive your direction from the product management chain.” Benefit of this approach is that we didn’t have to set up new roles that straight-jacketed people in a new and different way. Downside is that some had a problem with the feeling that there was no formal role.
~~LINKBACK~~ ~~DISCUSSION~~