Agile methods cannot work if the design quality is not kept 'good enough'. A team needs to be very sensitive to this notion, and, frankly, I feel that the majority of programmers are not sufficiently skilled even to recognize what's good enough.So, does this mean that the majority of teams aren't 'good enough' for Agile Development? Finally, an agile development thought leader has acknowledged an issue that I have been talking about and dealing with for a few years now... Assumed Competence.
Regardless of what they feel their skill levels are, the people behind the Agile Software Development movement are stars in their field. People such as Ron Jeffries, Bob Martin, Kent Beck, Martin Fowler and Ward Cunningham, to name just a few, are people who through intelligence or experience can simply "think OO". Those people are at least one and perhaps 2 orders of magnitude more productive than I am, and I'm pretty good at this software thing. In turn, I'm at least one and perhaps 2 orders of magnitude more productive than some other people with whom I work.
So, if the team I'm on has people with my level of expertise as its thought leaders, and is staffed with others less productive, are we doomed to failure if using agile methods? Must the thought leaders be in the top 25 in the industry in order for the team to succeed?
Traditional methods look to commoditize the people on a project. People of very high calibre rail against such a notion, since those people are so much more productive and are anything but a commodity. Perhaps, though, commoditization isn't such a bad thing for the lower-tier people. I'm beginning to wonder if there is a need to make the practices used in agile methods so bloody easy that anyone from the unemployed Fine Arts major to the most experienced OO guru can use them without feeling pain or embarrassment.
I don't have any answers at the moment, but I'd at least like to start the discussion. My main motivation is so that I can learn something.