Friday, March 24, 2006
In the nineties, a lot of money went into marketing hype and "sales talk" as well as the dreaded press releases. They're all fair in business, and of course you've got to find a way for your product to get noticed. But is all this effort really worth it? Let me put it another way, let's say you get everyone hyped about a product you're working on -- and then suddenly a competitor comes out with a product that's half as hyped as your product but it sells like hotcakes fast now. What do you think will the impact be on your business' bottom line by the time you release your hyped product?
A lot of developers I've talked to can explain the whole phenomenon as "crap". You usually hear the word crap right after marketing. You want to know why? Because these developers know, that unless they see something then there's nothing. It can't be valuable unless it's tangible (or at least, virtually useful -- which is an oxymoron).
So how do you create value with hype? Business has many terms for this -- market share, name recall, mind share, branding, etc. -- but all these have something in common: they all refer to nothing. Not exactly nothing, but something that exists with the white unicorns in the world -- something you make believe in.
Now that's alright in business, but you have a problem when you have a developer telling you the same things: "you know, the software I wrote will do your thesis, his thesis, and the theses of other people for the next 200 years... but I'm still in alpha" or perhaps "I have forseen these problems and have provisioned solutions already in the software I'm writing... but I'm still working on it". Again, talk is cheap but managers and customers want to see results.
The worst thing that can happen is you hype yourself up for the fall. In this situation, you're only going to be disappointing your customers, if your product isn't up to their expectations. And the worse part even, is when they start saying:
Now wouldn't it be better if you just showed your customer a working product and then asked "what do you think?" Your "marketing" is already part of your value development, and feedback will let you build on whatever value you've already produced. It might be a cool new framework that was derived from your initial product, or a cool new user interface which made things a lot easier. At any rate, your initial product already has value and you can build on that value -- and create even more value -- when you just show the customer something they can gauge.
This is the crux of the agile methodologies: solve the problem now, figure out design later. While you're solving the problem, you might stumble upon great design. Maybe designing the solutions is the solution, so it's a cyclic process that benefits from something: results.
The two words show me can also be used by the developers when they're confronted by a customer that says the product doesn't work. And the only way to show that something works or doesn't, is by testing it.
Now the next time you hear a developer tell you "The system I designed is fool proof, it's not my fault that it's not doing what it's supposed to do...", just ask him:
Something that doesn't do what it's supposed to do, is something that needs fixing.