|
Can average developers use agile methods?
I've often heard the claim that agile methods can only be used by
the better developers and that average or below average developers
should avoid agile methods. When I get asked this, I have to answer
that I don't know the answer - and that this ignorance is natural with
any new technique. When a new technique or tool appears, it's usually tried out
first by higher ability developers. This is quite a natural response.
Early adopters have to be those who are more thoughtful and caring
about their profession. New approaches are usually tried by them
before it's tried out on the majority. Thus with any new approach you
have to ask the question of whether this approach is only suitable for
these more adventurous souls. This is an unanswerable question,
because until it's tried by more average teams, you can't tell how it
will work for them. Of course, this doesn't stop people from speculating, and as long
as we all understand that this is speculation, I'm happy to join in
the fun. An essential point about agile methods, and a clear distinction
between them and the plan-driven methods, is that agilist firmly
believe that "individuals and interactions" matter more than "processes and
tools." This PeopleOriented assumption means that agilists
will always expect a high-ability cohesive team to do better than a
team of lower ability, whichever one follows more agile approaches.
The assumption does mean that organizations should put their primary
emphasis on getting and growing high-ability people for their teams.
This does not mean that a low-ability team will do worse with agile
than plan-driven methods Much of agile methods requires judicious skill. Self adaptation
is required to change the process, many agile techniques focus on
honing skill levels. I think this must mean that an effective agile
team need to have some people who are of higher-ability. But this is
true of plan-driven methods too. After all plan-driven methods assume
that higher-ability people will draw up the plans. Both approaches
require some high-ability people, although the way those
leaders work with the team is different. The open question is whether
you get more leverage of the high-ability people from plans or from
collaboration. Our experience at ThoughtWorks so far makes us very positive
about agile methods, but of course ThoughtWorks is known for only
hiring high-ability people. Our projects, however, are more mixed
since we usually co-source with our clients, and the client staff
usually covers a full range of abilities. Certainly we prefer to have
a good number of ThoughtWorkers on the team, this gives us a critical
mass that both helps our delivery and our skill transfer.So far we've
found that the collaborative nature of agile methods works well for
us. Update: Ralph Johnson describes his experiences with
students - concluding that XP is better than RUP for less skilled
developers.
|