Teamwork and collaboration are at the heart of Agile.
That being said, having common goals and values isn’t enough to build a kick-ass agile development team. There’s no magic formula for the perfect agile team.
Some use scrum, others prefer kanban.
Give Your Team Time to Develop
Many project managers don’t realize that simply choosing Agile as the core methodology for their team isn’t going to make it awesome by default. Agile teams take time to develop. Agile theorists like to quote Tuckman’s stages of group development to describe the key phases agile teams go through as they grow.
A. Forming. Team members understand how decisions are made, the purpose of the project is clear, but strong bonds haven’t yet formed between members of the team.
B. Storming. Team members understand how decisions are made, the project purpose is clear, but team relationships are still blurry.
C. Norming. Team members have a good understanding of team relationships, are committed to team goals, and are beginning to optimize processes which have already been established.
D. Performing. The team is performing well and running smoothly with minimum oversight, and can independently make strategic decisions. This is the stage at which a development team becomes truly great. Team members trust each other and understand each other’s strengths, and you’ll notice a positive spike in productivity.
Bear in mind, though, that you won’t reach the performing stage if your agile team structure changes too often. Whenever a new hire joins the team, or a member of the team leaves, the team goes back to the forming stage as it adjusts to the change.
Employ Sustainable Development Practices
Efficient agile/scrum teams always stick to sound engineering practices, including continuous integration, task branching, frequent code reviews, and regular release cadences.
If you think you don’t have time for all of that, make time, because it’s worth it. Your developers will have the freedom to develop software sustainably, while you’ll get a higher-quality product to market. It’s a win-win for everyone.
Adopt Continuous Coaching and Sharing
Working in a team creates the perfect environment for coworkers to learn from and mentor each other. Shared skill sets enable a team to deal with heterogeneous work and support each other on a higher level. It also prevents one member of the team from becoming irreplaceable, which takes a load off everyone’s mind and helps avoid bottlenecks in the development process.
When it comes to mentoring, it doesn’t just mean less experienced developers learning from senior ones. The whole team should learn from each other so that its impact as a whole is greater than the impact of its individual parts.