Agile teams typically need a critical mass of highly skilled people in order to be a success. If you are trying to transition from a conventional, plan-based approach to project management, you may find previously successful teams do not quite have the right balance of experiences. This post looks at some of the considerations and thinking behind the skill levels needed in an agile team.
‘Agile’ as an alternative to ‘Waterfall’
Agile ways of working have become popular since the ‘Manifesto for Agile Software Development‘ was published in 2001. This manifesto set out a philosophy of how to work in a way that was less constrained by frameworks and being told exactly what to do. The manifesto emphasised supporting the craftsmanship and competence of individuals in a team to achieve success.
Agile methodologies are often presented as an alternative to ‘Waterfall‘ type project management where the project can be carefully managed using a framework such as Prince2. Agile methods are typically framed as a way around the changing requirements often associated with software development work.
These potential benefits of Agile are attractive, but you may need to consider the skill levels of the people in your team or organisation.
People have Different Skill Levels
Agile proponents sometimes borrow from the ideas of Martial Arts or music learning to categorise people into different skills or experience levels.
Alistair Cockburn has considered explicitly how they could apply to pepole workign on software development projects. In their book Balancing Agility and Discipline – A Guide for the Perplexed Boehm and Turner expand on these levels to 4, which are described below:
Level 1B:
People at this level are less experienced or less confident developers. With training and guidance they are able carry out tasks as directed (such as simpler coding, refactoring, testing tasks). Despite their inexperience, they can form the majority of a plan-driven team where the guidance and framework of more experienced colleagues can support them. Level 1B people are less likely to thrive in an Agile environment.
Level 1A:
People at level 1A have more experience, but still require guidance. With training they would be able to complete more complex, less well defined tasks such as analysing agile stories, or more advanced refactoring. Although not confident or experienced enough to go it alone, an agile team with up to four or five level 1A people to one level two can still succeed.
Level 2:
People at level 2 have a high degree of experience and competence. A level 2 person could manage a smaller, less unusual project, but would require guidance from a level 3 person for larger or more novel projects. With training and experience a level 2 person may be able to reach level 3.
Level 3:
People are at level 3 are likely to be in short supply. They have skills, experience and aptitude to change and tweak an approach or method to fit a new or novel situation. Such is their level of competence and experience that somene working at level 3 feels confident working in uncertain environments with the freedom to explore and solve problems. Previous experiences will allow them to spot and fix common problems or handle issues that are often over-looked.
If you think about yourself, your team and your organisation there will be a range of skill levels. You might think you are a level 2 on some things, but a level 1A or 1B on others. Across your whole team or organisation you may think that you mostly have level 1s, a few level 2s and very few level 3s.
You would expect level 3s to be less common than level 1 as they require more expereince to reach.
Agile Methodologies Tend to Need More Experienced Teams
Something to consider when moving to an agile way of warking is that agile teams typically demand a greater concentration of people at skill levels 2 and 3. Having too many people on a team at level 1 gets in the way of the level 2 and 3 people from being ‘abile’.
The Agile Manifesto Gives Freedom to the Skillful
If you go back to the essence of the agile manifesto, this makes intuitive sense. The manifesto was about freeing skilled, expereinced software developers from the contsraints of formalĀ project management and sofatware development frameworks.
Without a core of skill and experience, there is a danger that being ‘agile’ can simply remove procedure from those who benefit from it – those of use working at more of a level 1 than a 2 or three.
How Many Highly Skilled People Do I need?
Agile methodologies are reasonably well established, but there are still disagreements between its supporters. Boehm and Turner attempted to apply some logic to the different approaches to see where agile and plan-based moethods ight be better suited. One of the areas they considered was around the propertion of a team that should be highly skilled for a project to be a success.
Agile teams need a constant presence of around 30% level 2 and level 3, with very few level 1B to be successful.
For a project team of 10 this means that you need at least three highly skilled, experienced people; perhaps 6 competent but less experienced people (level 1A); and no more than one inexperienced person (level 1B). Reducing the proportion of level 2/3 people would mean they spend a lot of time mentoring and training those less experienced, and not be able to make forward progress.
The capacity for plan-based approaches to work with less experienced people is much greater. A plan-based approach needs an up front involvement of perhaps 40% level 2 or 3 people to actually come up with the plan. Once the plan is in place this can reduce to around 10% level 2 or 3, 40% level 1B and 50% level 1A who will deliver the project according to the plan. For a team size of 10, this could mean 1 person at level 2 could lead a team of 5 level 1A and 4 level 1B people.
This clearly has big implications for whether an Agile approach to a project is suitable.
Agile Lets Innovators Innovate, Planning Supports Followers
Agile methods enable highly skilled doers (Level 2) and innovators (Level 3) to to do what they do best, without forcing them to work in a particular way. They have the skills and experience to react and adapt to a changing business area, as well as changing requirements from the customer.
Plan-based methods rely on an upfront plan to delve into the detail of problem and set out exactly what is needed to build a solution. Any deviations from this plan will need to be carefully thought out in a prescribed way. All this planning helps the individuals on the team from the on-the-fly decision making that might otherwise be needed.
Without A Critical Mass of Skill and Experience, Agile May Not Be a Success
If you do not have many (or perhaps any) experienced developers, you will struggle to make your software project succeed.
Before embarking on an agile project, or attempting to role it out across your workplace, stop and think about the people you have available. If you don’t have the critical mass (about 30% of the project team) of level 2 and level 3 people needed for agile, and instead have many inexperienced people working at level 1B, you may be better off having a rethink.