It’s not uncommon for me to visit a new client and discover that the agile development teams frequently change, sometimes after every single sprint. Changing the team composition too frequently is usually undesirable, though. Teams need stability to flourish and realise their full potential. This post provides practical tips to help you create stable agile teams.
Get the Right People on Board
Carefully consider who should be on an agile development team. Having the right individuals on board is probably the biggest success factor for any development effort, no matter which process is used. Determine the necessary hard and soft skills required and ask your Scrum Master for help if you are unsure which capabilities will be needed.
Don’t forget that an agile development team is cross-functional and typically includes individuals with UX / UI design, architecture, programming, and testing skills. You may also required additional capabilities to create or extend a product, like database administration and configuration management. The following picture shows a sample agile development team.
A great technique to find the right individuals is self-selection: Let people decide if they want to be on the team or not. Consequently, the team members are likely to take full ownership of their work and be motivated to work together, which is a prerequisite for growing a great team and building a successful product.
Minimise Changes to the Team
Once the right people are on board, I find it helpful to minimise any changes to the development team. It takes time for a group of individuals to become a true team–a tightly knit unit with members that trust and support each other and that work together productively, as the following picture illustrates.
The picture above shows Tuckman’s team building model. According to the model, people in a newly formed team have to get to know each other (forming) and rub shoulders (storming) before they can establish common ways of working (norming) and finally become a productive team (performing).
Changing the team composition causes the this process to start all over again. As a result, productivity and self-organisation are likely to suffer. If you change a team too often, it may never reach the performing stage and fulfil its true potential.
You should therefore carefully manage changes to the development team. A good time for people to leave and new individuals to join is after the release of a new product version. The majority of the team members, however, should continue to work on the product in order to avoid loss of information, defects, and delays.
Align Teams and Products
Last but not least, align development teams and products. Every product should be developed by one or more dedicated teams, as the picture below shows. This does not only facilitate ownership and learning, but it simplifies the allocation of people and resources and it can help minimise cross-team dependencies.
In the picture above, team A is responsible for designing, developing, and testing product A, and team B does the same for product B. Ideally, both teams have full control over their respective product and can test ideas and release new features independently of each other. Note that the organisation has to have a shared definition of what a product is in order to take full advantage of the approach shown in the picture above. To put it differently, if you are not clear what a product is, then you can’t organise around the assets in a consistent and helpful way.