You’ve probably heard it, I’ve certainly heard it: agile development is best suited for a higher calibre of person. I think this idea is not only mistaken, but damaging. I might be wrong, of course, but if I am then agile has a very serious deficiency.
My objection is two-fold. First, agile in any organisation needs to be explained and communicated well, such that it can be understood and embraced by people of all skill levels. If this is not done then that’s either a failure of those people who are doing the communicating, or it’s an sign that the delivery approach used in that organisation is ad hoc and/or weak. That’s a failing within the organisation.
But (second) if, despite the very best methodological structure, and despite the finest communication, agile still cannot be used by less experienced or less capable people, then it means agile is not the delivery solution that our industry needs. Indeed, it means that it’s useless for 50% of all software teams (given that 50% of any population is less than average, by definition). This would be a failure of agile.
Generally, the claim “you need to be better” is a cop-out for any methodology: “My technique for delivering software better involves hitting the keyboard with a large hammer… what do mean it doesn’t work for you? You’re obviously not good enough…”
However, when I hear people say you need to be more skilled to do agile I really think it’s a momentary failure on their part. Sometimes there will be an element of snobbery there. Sometimes it’s failing to recognise that weaker teams can produce results that are better relative their own norms even if they aren’t as effective as the stronger teams — strong teams will always produce better results, but weaker teams are able to improve.
We also need to acknowledge that “better” is not measured on a single dimension. Agile places a greater-than-usual emphasis on human interaction — someone who is stronger at this will do better in an agile environment. In fact, someone with average technical skills plus very strong interpersonal skills will be more desirable for an agile team than someone with very strong technical skills but zero interpersonal skills.
The claim that agile might be best restricted to “better” people was address by Martin Fowler seven years ago. In that piece he offered an open verdict, which was shaped by the context: agile was at the time newer, and less proven.
Today the context is different, and agile is more mature. It has evolved with a huge number of supporting practices, variants, tools and advocates. With that vast body of collective experience I think it is now much more able to spread and be embraced by increasing numbers of practitioners… whatever their experience.
This concept about Agile, that it’s only for a team of stars, is widespread, and there are many people who actually believe in it. One article published on PM Hut, the limitations of Agile, mentions this point…
Nice article – I once heard someone say [paraphrasing, badly], “Agile projects need talented developers to succeed; have projects ever succeeded without them?”
You’re spot on with the distinction between technical & personal skills. Once worked with a guy who was probably a genius; unfortunately he was also completely impossible to talk to so was useless in a team. So “talented developer” in the agile world means a good mix of technical & personal skills.
I’m not sure that agile (or any methodology) will ever make up for a team staffed with inadequate people; by taking away a lot of the structure and cross-checks I think agile places even more reliance on talented individuals – but allows teams staffed suitably to far exceed what they would have done otherwise.
@ActivelyLazy – I think you’re right that no methodology will compensate entirely for inadequate people (however you define that), but something that is high on bureaucracy can help prevent some of the more serious problems there. Unfortunately it will also, as you suggest, fail to allow the more talented people to excel.