An Agile New Year's Resolution for All of Us

Is the agile community shooting itself in its collective foot?


December 15, 2006
URL:http://www.drdobbs.com/architecture-and-design/an-agile-new-years-resolution-for-all-of/196700090

In This Issue

An Agile New Year's Resolution for All of Us

I believe that the agile community is at a crossroads: It has reached the chasm point in Geoffry Moore's technology adoption curve and is looking over the precipice. Although some techniques, such as test-first design, refactoring, and daily stand-up meetings seem to have crossed the chasm it is not clear yet whether agile methodologies -- or even the concept of agile software development in general -- is going to succeed in the long term. Clearly a critical success factor will be our ability to attract traditionalists to our way of thinking. From what I've seen over the past few months, I believe that we are struggling if not out-right failing to do so. One of our problems is that traditionalists see that many self-declared agilists only seem to talk about being agile but they don't actually live up to their lofty ideals.

A common strategy for people who are interested in learning about a topic which is new to them, in this case agile software development, is to identify and then join discussion lists regarding that topic. Sometimes people will choose to post a message along the lines of "How do I do this?" or "I don't understand X, could someone please explain it to me?" but more often than not they just choose to lurk on the lists and listen in on the conversations. Other strategies are to seek out and talk with people experienced at agile development or even to become actively involved with an agile team.

Sometimes, particularly in the case of people who are highly experienced at one or more aspects of software development, they'll even suggest ideas which they think can improve the way that agilists work. Typically, they don't realize that the issues which their suggested solution addresses are already being addressed more effectively by other agile techniques. But in some cases they have valid suggestions that we can benefit from, albeit with a bit of modification to fit in with agile approaches.

With all the talk of the importance of collaboration and communication, let alone the need to respect others and have the humility to recognize that we don't have all the answers, you'd think that we'd welcome these people with open arms. Yet that doesn't seem to be the case. A few months ago I attended a user group meeting and the person giving the presentation had some incredible insights into software development. After the presentation a bunch of us went out to a local pub where I had the opportunity to speak one-on-one with the presenter. I told him that his techniques, which had been proven in practice many times over, would be of great interest to the agile community and I invited him to share his ideas with the community. He snorted and said that he had tried to do exactly that, but had been all but banned from the discussion lists which he had joined. He said that he'd been treated so poorly by the "close-minded agilists" that he wasn't interested in even trying to get involved with us any more.

Similarly, I myself have seen abhorrent behavior occur on several of our most popular discussion forums, conferences, and user group meetings. It seems that there are several "favorite whipping boys" that are commonly attacked on agile discussion lists, regardless of experience in those topics on the part of the discussers. I'm often astounded at how stupid and incompetent management is portrayed to be, ignoring the fact that these are often very intelligent people doing the best that they can in often less-than-ideal situations. Everyone knows that the Capability Maturity Model (CMM) is the root of all evil, even though some interesting work is being done in Agile CMM and in (egads!) an Agile Maturity Model itself. The Unified Process (UP) is also commonly attacked, regardless of the numerous case studies written about how it's been instantiated in an agile manner, not to mention freely available agile versions such as the Agile Unified Process (AUP), Open Unified Process (OpenUP), and Essential Unified Process (EssUP). A lot of people on the lists "just know" that quality assurance (QA) and data management (DM) groups within organizations are simply incapable of being effective members of agile teams. It seems to me that our community has many unwarranted prejudices, prejudices that could very likely turn potential converts away from agile software development.

Truth be told, I'm no saint; I've been known to give data professionals a relatively hard time (okay, a really hard time), but at least I make a conscious attempt to understand and present the philosophies and techniques of the traditional DM community in a fair light. I think that if you spend a few moments to reflect, that you'll agree with me that you've seen, if not exhibited yourself, one or more of these common role anti-patterns:

What can we do about this? Here are a few suggestions:

  1. Take responsibility for our own actions. We're adults and we can choose to change. It's not reasonable to expect everyone to be perfect, but it is reasonable to expect people to improve themselves over time. Considering that we're a community which promotes communication, collaboration, and process improvement, it seems reasonable that we can find ways to learn together to improve the quality of the conversations which we have.
  2. Help others to improve. We're in this together. Sometimes debates get heated and people will make mistakes from time to time, and we need to recognize that this is okay. When someone strays from polite and respectful conversation it's reasonable to point that out to them. One of the reasons why I described the role anti-patterns earlier was to provide a lexicon that we can use to identify such slip-ups. "Mike, you sound like an Unjustified Criticizer when you say that, can you expand more on your comments?" is a fair response to someone.
  3. List administrators must lead effectively. List admins must set some straightforward and fair rules and then help people to follow those rules. It's possible to do that without becoming a List Dictator. When I started the Agile Modeling mailing list in late 2000 I set some simple rules which implored people to be polite and respectful, and I can honestly say that in all but a small number of cases this has worked incredibly well for us. Other lists can do the same, and I invite other admins to look at www.agilemodeling.com/feedback.htm#Rules and adopt what they see fit.

As Walt Kelly's cartoon character Pogo aptly said, "We have met the enemy and he is us." If the agile movement is to continue to grow we need to help existing traditionalists understand and learn agile philosophies and techniques. This isn't going to happen if we continue to embarrass ourselves the first time that they interact with us. We are capable of having reasonable, polite, and interesting conversations with one another on discussion lists. It merely requires that we show respect for one another and our differing opinions; have the humility to recognize that we don't have all of the answers and therefore should listen to others; and that most importantly we understand that people judge us primarily on our actions and not our words, so therefore we much live up to our high ideals surrounding individuals and interactions.

I invite you to make the following New Year's resolution: "This year I will improve the tone of my conversation on discussion lists and in other public forums, and that when I see others struggle to do the same I will do whatever is appropriate to respectfully help them to improve their own tone." If you believe that this is a worthy resolution, I invite you to share this idea with others. The publisher of this newsletter, Dr. Dobb's Journal, has generously agreed to allow people to repost this material to any public discussion group which you interact on (please don't repost it if someone else has done so already). Every little bit helps.

Have a happy holiday and a great New Year.

I'd like to acknowledge the help of Michael Vizdos and Brian Lyons of Number Six for their insightful feedback which I incorporated into this newsletter.

Hot Links

The Agile Alliance homepage is the best starting point for anyone interested in learning more about agile software development.

The Agile Modeling Site is the primary source of information about how modeling and documentation are approaches on agile projects.

The Agile Data Site describes strategies and techniques which enable data professionals to be effective members of agile teams.

Brian Edmonds Mailing List Etiquette FAQ provides significant insights into running an effective discussion list.

Adam C. Engst's Mailing List Manners 101 provides some great ideas which we can all benefit from.

Common Role Anti-Patterns in Online Discussion Forums summarizes the anti-patterns described in this article.

Terms of Service | Privacy Statement | Copyright © 2024 UBM Tech, All rights reserved.