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

Posted by davew at 9:34 PM in /

Friday, 6 June 2008

My philosophy and The uncanny correlation holds!

Dear CardMeeting ppl,

After I fix some bugs, daily logon counts soon double! Should I be shocked?

... and conversely, when I introduce bugs, user roles gradually halve. I still find the whole effect fascinating, all these completely disparate, unconnected individuals reacting so similarly. I've made this observation before, I know.

My mind strains trying to figure out all the aspects to this. Chiefly, why do users "go away" rather than "bitch" when things suddenly aren't right? I suspect that the answer is, "I'm not paying anything for CardMeeting, so I don't have bitching rights." (Wrong!) Or, perhaps the unhappy flipside of that coin is, "CardMeeting is free, must not be a serious offering ... look it's buggy! Goodbye!" (Noooo, don't go!)

I think I need to articulate some philosophy here. You ARE compensating me when you use CardMeeting! There is no professional organization built up around the product yet. CardMeeting is a "pro-hobby" style application at this juncture. I, personally, put in a good deal of my free time maintaining the software, but it is not where my bread gets buttered. At this stage of development, it's all me.

I say you are compensating me for time on the system because you are serving as my QA department. I rely on you people to tell me what's wrong when my own testing fails to catch problems. I also rely on you to tell me what features are important to you, or tell me when I screw up on a deployment, or tell me when your data is lost (thankfully a rare occurrence so far.)

Email is the best way to reach me (dave@woldrich.com). Please put "CardMeeting" somewhere in the message subject so that my spam filter lets your message get through. I keep all of your emails and regularly reflect on them. If you're not happy or if you see something is wrong please tell me, I can take bad news! I'll fix your bug if the technology allows it, and in pretty short order. My turnaround time on bug fixes is great! Your enhancement requests will necessarily have a lot longer cycle time, but I need to hear about those too.

On this last bug that drove users away, which had to do with system slowdowns caused by a bad applet shutdown sequence, I only heard about it in an aside on a comment on a blog posting regarding CardMeeting. Thank goodness for GOOG, making it easy to poll the interweb for CardMeeting's temperature. Indirect blog communication is less optimal.

So, CardMeeting SHOULD have value for you even though you've paid no money into it. CardMeeting IS valuable, you pour value into it. And of course CardMeeting has value for me for all the reasons it should.

I've thought a lot about how to maintain this value. A lot of it is locked up in reputation and expectations.

For example, when and where are advertisements ok on the website? Or, under what circumstances is it ok for me to send emails? I've collected a zillion email addresses so far, and not sent a single message from that list. This was on purpose, I do not feel it is right or productive to spam people, for any reason. (Well, okay, I have occasionally made proactive support calls, but those were not spam-like in the least.) In this era of http, blogs, and RSS, users can pull any information they need that I have for them, on their terms. And in terms of placing ads on the website, I feel like that's an unnecessary distraction. It just feels very "low rent", especially when I'm talking about selling subscriptions to some paid CardMeeting service.

It's a lot to consider. I've wondered if coming up with some informal social contract or pact might be beneficial. I envision laying out some squishy non-binding set of expectations that users have of CardMeeting and also expectations I have of the users.

Well, that's it. Thanks for using CardMeeting and looking forward to hearing from you!

Cheers,
Dave Woldrich - dave@woldrich.com

Posted by davew at 11:40 PM in /
« June »
SunMonTueWedThuFriSat
1234567
891011121314
15161718192021
22232425262728
2930