Some my earlier comments have been described as a “backlash” against agile software development. It’s definitely not a backlash against agile software development techniques or goals, but more about the rigid attitudes I see in some branches of the agile community (mostly from a relatively small, but very vocal, group of XP evangelists). This rigidity of agile perspectives is quite ironic.
However, it’s easy to oversimplify an analysis of the situation. There are many people involved with the agile movement with many different motivations. There are people who are primarily looking for ways to do their job better and enjoy the work more. And even within that category there are people who are constantly working to improve and others who just want to be told what to do. Some of the people have extensive prior experience with successful agile-like (but not officially XP/Agile) projects. Others are newcomers. They are developers dillusioned with inefficient organization and personal behaviors and who are looking for alternatives. My guess is the silent majority of the 8000 members of the Yahoo Extreme Programming mailing list are in these categories.
Then there are the coaches, consultants, and authors. Some of the people in this category are open minded and flexible. However, I don’t get that impression from others. To be clear, I assume they all sincerely believe they are making the best suggestions for their clients. However, when I hear thought leaders in the XP community calling for “by the book” behaviors or “driving a stake in the ground” or “taking an XP oath” (no joking), it concerns me. However, I understand it can be very economically beneficial for a coach or author to promote these perspectives. It’s easier to sell something well-defined and relatively rigid than something pliant and constantly evolving. And many teams want to pay for those well-defined answers. However, some coaches appear to assume everyone they interact with is inexperienced with pliant/agile development (even before the Manifesto) and is a potential customer for a predefined solution. Pliant development can be a threat to these coaches because it undermines the claimed certainty of their proposed stake-in-the-ground solutions. I believe this is an underyling current of frequent debates within XP/Agile forums.
I remember the debates when the second edition of XP Explained was published. I highly respected Kent Beck’s courage to reformulate aspects of XP that were quickly becoming rigid or dogmatic. However, there was a significant negative response from some within the XP coaching and author community. For example, Ron Jeffries, a noted author, coach and a member or the original XP team wrote:
XP2E is a very interesting and valuable restatement of what Kent sees XP to be. In my opinion, it is not a practical description so much as philosophical. I think it’s valuable to go back to the “classics”, the white, pink, green and other first-generation XP books. [link]
Beck’s responses to the debate included…
I’m getting tired of a few reactionaries clinging to the fading virtues of the first edition of XP Explained. The world is much more complex than the one described in the first edition and I think we have the tools we need to deal with the complexity that is there. [link]
The first edition of XP Explained was a first draft. [link]
I really believe that all of the practices are valuable. Plenty of good software has been written without them, so I wouldn’t say “necessary”. [link]
Beck has also written a white paper describing a variety of approaches to transitioning a team to XP. One approach is “toe dipping”, approaching XP incrementally.
Think about the area you would most like to improve, find the practice that addresses that issue, and implement it on a trial basis. After a month or two, evaluate the effects of this change, barriers you met, successes you had, and share your experiences with your support community. Then refine or repeat the process to add the next most valuable practices.
This is a very pliant suggestion, in my opinion.
Although it’s not directly related to the specific discussion above, I’m also including a few quotes from other agile leaders that represent more pliant currents with the Agile community. This doesn’t mean I agree with everything they say, but I like their attempt to warn people not to blindly accept answers from people who appear to be or claim to be “authorities”.
Another part of this I find troubling is the assumption that because I’m a well known writer on technology, I’m some kind of uber-design genius. I’ll admit to believing I’m a pretty good designer, but my fame comes primarily from my skill at writing not my design skills. I know many people who are every bit as good, indeed better, than I am at design (I work at ThoughtWorks to be around many of them). — Martin Fowler [link]
It’s just shy of five years since the Agile Manifesto was written. I’ve often said that I dread the day when I look back on the me of five years ago without finding his naivete and misconceptions faintly ridiculous. When that day comes, I’ll know I’ve become an impediment to progress. So what about the me of 2001? I do find him a bit ridiculous, though not enough for comfort. — Brian Marick [link]
I personally believe the agile development movement is one of the most exciting developments I’ve seen in decades I’ve been developing software. I am very supportive of the intentions of the movement and I have respect for even the relatively rigid perspectives of a few leaders within the movement. I feel both that the people who push for relative rigidity (stability, simplicity, clear direction) and those who push for constant reevaluation, deconstruction and evolution have important roles in the movement.