You’ve likely heard of Tuckman’s stages of group development. If you haven’t, there’s a nice summary on Wikipedia. I’d to focus your attention on ways to accelerate the team-building process for software development teams.
Tuckman articulates four stages of team building — forming, storming, norming and performing. In the forming stage, most people tread carefully. They are getting to know each other and want to be accepted. In the storming stage, people let their feelings out. Some are likely to argue and even confront those with whom they disagree. This can be unsettling to the quiet types on the team.
In the norming stage, cooler heads prevail. People try to work things out and accept ideas they may not be entirely comfortable with. They recognize that the success of the team transcends their individual success. Finally, in the performing stage, teams begin to function as a unit. Team members help each other out and classic swarming behavior manifests itself. Only performing teams can be self-organizing — as specified in the agile manifesto.
Note: Tuckman later added a fifth stage, adjourning. That’s when the team is disbanded either because the project is done or the company abandons it. I’ll ignore this final stage for this post.
It’s a Process
Clearly, it’s not easy or quick for go from forming to performing. It’s not necessarily a linear progression either. Teams may get stuck in a stage or even revert back to an earlier stage and be forced to try again. How does that happen?
Adding a team member or replacing one creates a whole new dynamic. Teams will usually drop back one stage or even go back to the beginning of the process. The good news is that they may advance through the stages more quickly so the setback doesn’t have to be severe.
Managers may also disrupt the process. When team members are storming (i.e. arguing), many managers will feel the need to intervene and settle the differences. It seems like the right thing to do but it sets the expectation that the manager will settle every dispute. This traps the team in the storming stage — a stage they may never be able to exit.
The Team Needs to Take Control
It’s for this very reason that command-and-control development processes inhibit the formation of high-performing teams. Everyone expects the organizational manager to make decisions, break deadlocks, and resolve conflicts. The team merely carries out instructions. They avoid taking any risks and they avoid taking (individual) responsibility for many of their actions. Everything is decided either by management or by consensus.
If management makes the decisions, there will be a major bottleneck. If consensus makes the decisions, the process will be slow and will likely result in the infamous “design by committee” solution (whereby everyone gets something they want and the resulting product is a hodge podge).
Team Building Needs to Be Agile
To get software development teams to the performing stage fast, start delivering working software as soon as possible. Teams need to feel comfortable taking risks. They need to fail fast, recover quickly and learn from every experience. Agile development techniques should prevail.
In the forming stage, leadership is essential — even if it’s an organizational manager doing the leading. Preferably, the Scrum Master or Product Owner will step up and make decisions. Get everyone on the team engaged in the effort as quickly as possible.
In the storming stage, the team needs to sort things out. The SM or PO should offer guidance and let the team work out the final decisions. There’s a danger that one or more team members will intimidate others or timid members may simply not speak up. The SM and PO can help calm nerves and draw everyone out. It’s fine to enforce a code of conduct on the team.
In the norming stage, team members become more open and collaborative. They begin asking for help. The team acknowledges that small failures are accepted. The focus is on continuous improvement not achieving perfection. The SM and PO can focus on their responsibilities letting the team run itself.
Finally, in the performing stage, agile teams become self-organizing. They work together openly and rush to help anyone that needs it. The SM and PO are there to advise and guide the team.
This process will take more than one sprint. Be supportive and give the team a little time to reach the performing stage.