Way of the Geek home
Your One Stop Geek Shop
  • Latest Caption

    Comic Rundown: Bats, Wolves and Weapon X

    Latest Podcast

    No Podcast This Week
  • InnerGeek

  • A Vote For CHAOS!
    [September 24th 2008]

    A Vote For CHAOS!

  • Categories

    expand
  • Login





    Register Recover password
  • Member

  • Current Article

    Firing Customers
    Posted by Mike on Dec 19th, 2006

    Justin Kitch, CEO of Homestead.com has written about problem customers saying, “Maybe you should fire that customer?“.

    Unlike some other responses, I’m not going to focus on how this may relate to the way Homestead does business, but would rather focus on a different issue.

    Justin writes:

    At the time, I was running a software consulting business, and we were constantly running around trying to please our clients by building software that they *thought* they wanted but we actually knew wouldn’t produce the desired result. Sometimes our clients were reasonable, and when we pointed out why their instructions were misguided, they would respect our opinion and rethink their strategy. Other times, however, our clients effectively told us to shut up and do what they were paying us to do, which was build whatever they told us to build.

    This turned out to be disastrous for our company. Inevitably, we would build what they wanted, 3/4 of the way through the process they would realize that it wasn’t what they wanted, and then they would yell at us for building something useless. In the mean time, our employees would get demoralized, the customer would want a discount on the remaining work, and the final product would be some half-baked hybrid of what we started building and the new direction.

    Yes, the customer was wrong when they started, but the result, this demoralization and half-baked solution, is the symptom. The problem isn’t the customer, the horrible software, etc… it’s the fact that no one sat down and wrote the requirements.

    I know, I know, you’re saying that good requirements can produce a horrible product. Yes, that’s very true. And I’m not saying that having requirements set before starting the job would make the product work, but by creating a set of formal requirements at the get go, a few things happen.

    First, the customer has to think about what they really want to do with it. You can’t say, “Prompt the user” and be done with it. You say how you prompt the user. You specify if the prompt should have a confirmation response under some set of conditions. You have to specify what the options are, or where they come from if they’re dynamic.

    In essence, you force your customer to think, and that just might make them come around to your way of thinking early on. They say they want “A”, but you know “A” doesn’t work, by having them look, in detail, what “A” requires, might make them change their mind then, before you spend hours coding.

    And, even if they don’t think. Even if they throw together requirements that can’t possibly work and won’t listen to reason, the requirements specification, signed by both the customer and the project management, is a binding contract. Then, when your customer comes around and throws a fit, says that what you’ve built isn’t what they’ve asked for, or makes unreasonable demands, you simply pull out the requirements and iterate through them.

    And, of course, if they say they won’t pay, you simply note that it would be a breach of contract not to, and, of course you’d be open to changing the requirements, but there would have to be a reassessment in the total cost of the project, naturally.

    Because software shops don’t do this — create detailed and consistent requirements specifications, as well as design documents and test plans based upon them — the industry as a whole gets a bad rap at not being able to produce quality products.

    Well, that, and management’s general assumption that anyone can write software.

    Posted in geek   | email this article 

    If you liked that, try...

    1. Linux Software on OS X
    2. Back From the Dead
    3. BitTorrent Closes Source Code
    4. Run Your Mac or Windows Fonts on Linux!
    5. Announcing the Goldskull Project

    You can leave a response

    2 Comments »


    1. Migo
      December 20, 2006 at 5:53 am

      I can’t tell you how many times I’ve either had to “ditch” a project or fire a customer because they’d keep wanting to make small changes, or completely change the software either in the middle of the job or once I’d almost finished the entire thing. Makes you wish they’d invented a way to email someone a beat down really.

      [Reply]


    2. Mike
      December 21, 2006 at 10:50 am

      http://qdb.us/4281

      ‘nuf said.

      [Reply]

    Leave a comment

    Captcha

    Enter the letters you see above.
    Can't see anything? Having problems? Email the admin

  • Contact Us

    Twitter Us!
    Podcast RSS
    EMAIL US!
    Podcast Voicemail:
    206-338-3288

    Our Podlinez Number:
    712-318-9815

    Find us on:

    Add our podcast to your iTunes
    Add our podcast to your Zune
    Find us on TPN
    Find us on Blubrry
  • Advertisement

    Advertise on Way of the Geek