![]() |
|||||||||
![]() |
|||||||||
|
|
|||||||||
|
January 09, 2004
rules of engagement
While in Sanibel, in between sessions, I was pacing with my portable phone, handling a client crisis back home. Much of the crisis had to do with mismatched expectations. They'd say, "Why doesn't it do {that}? I need it to do {that}" I'd say, "I mentioned {that} in the design talks. You said you didn't want {that}." They'd say, "But of course we need {that}. This isn't what I wanted at all." Same old story. Software is a difficult thing to make, particularly when you're making it with people who aren't used to thinking about their needs abstractly. Seems like the less technically comfortable the client, the bigger the problems I have with them. When I'm dealing with someone who understands software, they're able to listen to my questions and concerns and respond appropriately. When I'm dealing with someone who asks, "Which one is the web browser?", I'm in trouble, especially when the budget isn't big enough for a thorough requirements analysis. In my hotel room, fuming over the crisis up north, I wrote out a few "rules of engagement" about what kind of clients to accept in the future. The first one makes people laugh, but there's really something to it: 1. Never work for someone unless they know the difference between a branch and a loop. This is basically saying, "Work only for other software companies." Just this one criteria would have eliminated every unpleasant client experience from the last two years. Of course, I may not have enjoyed the work as much, but that's another matter. The next one has to do with our development lifecycle: 2. Clients must understand and appreciate our iterative timeboxed approach. They need to understand the tradeoffs. One of our biggest assets as a company is our flexible project lifecycle. Clients that understand can make changes easily as things progress. Clients that don't understand fall into the "I didn't ask for this" trap. As much as we explain to the client how we schedule, as often as we say, "You're the gas and the brakes", there are some who just never understand the approach, and so use our firm less effectively. The last cuts to the heart of the matter: 3. Don't do work for someone unless they really know why we're worth our rate. The client has to know why they're hiring a professional software team that knows object-orientation, refactoring, design patterns, iterative development, business modeling, usability, etc. If they can't tell the difference between us and a twenty-something doing Visual Basic scripting as a web front-end for an Access database, we're in for some real trouble. But what of all my talk about "grannies" in this blog? Aren't I trying to champion disenfranchised non-technical users? Well, the difference is between selling a product and providing a service. At least with in-house product development, we can control the budget and feature set. We need to consult with non-technical users, of course, but they can't yell at us. :) Later that week, when I re-read my rules, it became clear: I don't want to do contract work for clients anymore. After almost six years of doing the "hired gun" thing, I'd lost my taste for it. This is when we decided to switch Immuexa from being a service-based company to a product-based one. This is when we committed to bringing our own products to market.
Comments |
About Me Contact Me being real blogosphere events interconnectedness isabel making money musings olpc photo stories saving the world semantic web squeak etoys tidepool and storymill usability waveplace computer literacy new videos from st john pilot back from st john immuexa turns ten XO donor comments photos from haiti and st john pilots haitian pilot starts give two, keep none story: fall 2007 good press RDF Intro Angela Talk: a semweb introduction W3C Semantic Web Original Road Map SciAm Article SemanticWeb.org RDF Resource Guide SchemaWeb SUMO Full Article Index April 2008 March 2008 February 2008 January 2008 November 2007 October 2007 September 2007 December 2006 September 2006 May 2006 April 2006 March 2006 February 2006 January 2006 December 2005 November 2005 September 2005 August 2005 July 2005 May 2005 April 2005 March 2005 January 2005 December 2004 November 2004 October 2004 September 2004 August 2004 July 2004 June 2004 May 2004 April 2004 March 2004 February 2004 January 2004 December 2003 November 2003 link to this site
![]()
|
||||||||
![]() |
|||||||||
|
"Big Fractal Tangle" is a phrase used by Tim Berners-Lee at ISWC 2003
to describe his vision of the Semantic Web (used with permission) "Tidepool" and "Storymill" are trademarks of Immuexa Corporation. Website design copyright © 2003-2004 by Immuexa. |
|||||||||