Get the Right People on Board
Carefully consider who should be on the Scrum 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. If in doubt, work with the Scrum Master and other people from development.
Don’t forget that an agile development team is cross-functional and typically includes individuals with UX / UI design, architecture, programming, and testing skills, as well as additional capabilities that are required to create or extend a product–like database administration and configuration management–as the following picture shows.
I find it helpful when people can decide if they want to work on a product and be part of a specific agile team. This makes it more likely that the team members are motivated and take ownership of their work.
Minimise Changes to the Team
Once you have the right people on board, minimise any changes to the development team within and across major releases. 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 well, 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 makes the this process start all over again. As a result, productivity and self-organisation 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.