- A software team can be at one of the following maturity levels:
- Chaotic Stage – the state where a team does not posses the skills, motives or vision to become a mature self managing team.
- Mid-Life stage – where a team possesses some skills for self management and decision making , and can make some of its own decisions without needing a team lead.
- Mature stage – where a team is practically fully self managing and a team leader is mostly a coach rather than a decision maker.
The chaotic stage needs a strong, dictator like leadership – to bring much needed peace to a team that might be mostly struggling to keep its head above water all day long. A dictator team lead is there in the first stage, to bring the team up to a specific state, where they also have the time and patience to learn new things.
The Mid-Life stage needs a coach-dictator – where a team will learn the skills needed to become self managing.For example, the team lead teach the team to do its own code review so that the team lead is no longer the bottleneck, and so that the team learns essential skills for code quality and decision making.
The Mature stage needs a coach – just to help them to grow, to teach them new skills.
[via Mark Needham]