If you’ve ever learnt to play an instrument, you’ll know that you start practising slowly and then gradually increase your speed as you manage to play the sequences flawlessly. If you make a mistake in the sequence, you repeat it until you’ve got it right, not once, but many times over. This repetition and discipline is one of the keys to mastery. Although we may all know and understand this, we often don’t apply it to our work life. Large-scale agile implementations start with individuals working together in a team. This in itself can take a while to get right. It’s not that the agile ways are particularly tricky, but there is often a huge element of change required by the people to adapt to working in this way. Only once they’ve found their rhythm and successfully completed a few iterations, doing all the ceremonies correctly (and, in particular, reflecting properly) should there be a discussion about how to scale one team to two.
A good strategy for growing more teams is for few of the people on first team to branch off into a new team, leaving a core group of well-functioning agilists in each team. New people can then join these teams and lean on the skills and practises of the core group until they too have mastered the ways within their new teams. Remember that people are not interchangable and there will be some time needed for people to adapt to each other, both from a skills and a personality perspective.
It’s also very imporant to factor in the adaptation required by these teams to not only work with the other members in their team, but also with the other team. This brings a new set of challenges, of which dependency management is probably the most important one to deal with effectively. Only once two teams are running smoothly together should the next step be taken to ramp up the number of teams beyond this. In this way, the changes brought on by each new addition of a team can be managed, observed and the teams can self-correct accordingly.
The pitfalls of trying to grow too quickly are that the teams do not bed down the practises properly in their own teams and the collaboration across multiple teams often just doesn’t happen. This then results in a chaotic environment, often lacking the discipline of reflection, because everyone is just trying to get everything working within the crazy deadlines. Often then a layer of management is added to help with coordination and this can then often lead back to the hierarchical structures that agile and lean are supposed to do get rid of in the first place.
There will always be a major push from the business to get agile scaled in the organisation as quickly as possible. The reasons are always valid: we’re behind in the marketplace; we can’t get this software out quick enough; our customer’s are leaving us. But that doesn’t negate the major difficultly in implementing agile at sale – agile is a mindset and changing people’s mindsets isn’t as simple as flicking a switch, nor doesn’t it always happen at the same rate for all people.
The human factor is the most important one to consider on the agile journey.