I was originally going to post each of these links as a tweet after I came across all three of them in the space of a few minutes. They are all worth reading in full (and take only a few moments), but I wanted to amplify a common thread that links them and that's tough to do in a tweet.
First up is There is no Agile from Adam Milligan. Here is the key quote (emphasis is from the original):
The conclusion I draw is this: so-called "Agile" is actually nothing more than a collection of good ideas, based on years of collective experience, for improving how we do our jobs as software writers. Or, to put not too fine a point on it, professionalism.
Ah, professionalism! I'm all for it, but is there the possibility that folks get left behind, as Billy Hollis asks in Is Agile Rock or Disco? :
For example, agile teams have a tendency to require a high level of experience and professionalism just to join the team. What about talented, but inexperienced, developers?
And more importantly, what about less-talented, but experienced developers? Sean Landis made some excellent observations on that in Traps & Pitfalls of Agile Software Development - A Non-Contrarian View:
Successful Agile development presupposes that team members will all act like adults. That's a euphemism for being competent and professional. Agile teams are expected to accept a high level of responsibility and accountability. When they don't, things can fall apart really fast.
The high visibility on agile teams causes poor performers to stand out.
The benefit is that the organization can take corrective action. In the
absence of corrective action, poor performers may try forms of sabotage
to avoid detection.
Unfortunately, not all developers strive to make it to the 10x productivity group. Which brings me back to one of my favorite Coding Horror posts; it includes the classic quote from Gerald Weinberg: "No matter what the problem is, it's always a people problem."