Saturday, 28 June 2008
Individuals and interactions over processes and tools, you dig?
Hiya CardMeeting users,
I am weighing in on the whole Agile tools versus Agile books discussion. Engage flame throwers.
I was away on vacation getting sunburned and caught Paul J. Heidema's article on the Agile Advice blog titled Agile Tools vs. Agile Books. Being personally mentioned in the article, I felt niggly about having to respond, so I finally have my chance.
The question of whether an Agile tool should be recommended or panned, shunned or embraced, strays unavoidably into religious territory (or at least political territory.) After all, the very first value listed in the Agile Manifesto reads:
"Individuals and interactions over processes and tools" -- from http://agilemanifesto.org, 06/08
I don't think that was listed first on accident. Any barriers we place between us as individuals can only hinder the effectiveness of our communications. And god knows that so many software packages and rig-a-ma-roll people-processes are just such a torture prison for man. How any work gets done anywhere on anything, amazes me. So, at my core, I deeply agree with the "Individuals and Interactions" line because I am thumbs-down on torture.
When the question is asked, "Is it okay to tool-up our project, or should we just make do with our whiteboard charts and our cards and our stand-up meetings?", I think the standard consultant's answer of "ask yourself why you want a tool, and then ... you'll find you really don't need a tool" is generally the right answer.
In the same vein, I have counseled teams that they should forego using CardMeeting unless team members are scattered across the globe. After all, working on and talking over a table of physical index cards just works so much better.
All that said, this wouldn't be a very interesting blog entry unless I added a provocative "but" to end of my affirming statements about individuals and interactions. There's a little niggly voice in my head that complains tools, specifically software tools, are deprecated in the Agile Manifesto largely because they are so poorly implemented! They don't DO exactly what they need to DO, and that's a deal-breaker. I was reminded of a nice George Carlin (r.i.p.) quote recently that says it all for me:
Inside every cynical person, there is a disappointed idealist
Ain't that the truth?! We all start out rosy cheeked with glowy optimism about software and tech. And we wind up so beaten down and disappointed with the realities. The promises, oh, the promises I've been given about how game-changing some software release will be or how important some new framework will be! The claims are mostly all crap, there are some gems here and there, but typically we get shoveled some repackaged concepts, now with 150% more bloat.
Perhaps cynic is too strong a word, but it strikes me that the authors of the Agile Manifesto were definitely disappointed idealists when it came to the state of software development as they perceived it. So, of course they would downplay the role of tools that get in the way of progress, especially software tools! Software tools grab tremendous mindshare and distract because they are shiny, they promise great things, and they tend to fall way short of the mark - so they get in the way AND they stink, grrr.
I began work on CardMeeting with that contrary thought in my mind: tools are downplayed because they get in the way. The question I asked myself was, would it be possible to make a pure content tool that approximates the value of real life card tables? So, not really add much new features-wise, just try to simulate what goes on around those tables. I think I can come close to real life as long as I keep CardMeeting simple and as long as facilitating communications remains my focus.
My gut tells me the thing that kills potential greatness in other software products is the feature matrix explosion: the urge to have lotsa feature checkmarks up and down a data sheet to show you're keeping up with the competition. I fight this urge myself, and I've been cautious. (Competition, yer running rings around me, GADS!)
The more significant features you add to your product though, the harder it is to exactly satisfy your customer's requirements. It is impossible to not add features to a maturing product, but I do think you can at least ensure very tight integrations between new features and the existing ones. I have intentionally held back on adding features willy-nilly to CardMeeting so that I could improve quality, prepare for commercial release, and keep things tight for the users.
I doubt CardMeeting is the answer to the Agile cynics' cries yet. Still a long, long ways to go. I do accept their cynicism as my challenge, however, and I hope to maybe get tepid acceptance for CardMeeting as a viable Agile tool from the hardcore purists someday. :)
Thank you for using CardMeeting,
David Woldrich
P.S. If you are looking for a book on Agile and not a tool, you should prolly check out Jim and Shane's new book: The Art of Agile Development. I'm reading my copy again (not in skim mode this time), meaty and readable! And, I'm getting all kinds of ideas for new features for CardMeeting! Like what if you could ... Oh wait, WAIT ... must resist ... adding features whathaveyou!!! :D
