Monday, March 1, 2010

How *not* to sell your product

lets play imagine... Imagine you have a killer app, it slays all it's competition. You, the author and chief architect have laboured tirelessly in the bowels of the corporate giant until one day you could take no more, and taking up the yoke of liberty you cast off the shackles of corporate dictatorship! Taking all your knowledge of how and how not to solve the problem, you go off and write your dream app, the one you always wanted to write, the one your old customers were clamouring for, it sings, it dances, it is elegant!

Armed with such perfection, and knowledge of your previous customers, you successfully market it to them, who migrate en masse and breathe collective sighs of relief as all the things that used to be hard or impossible become easy, turnkey even!

Then what? Well, why stop there, you go on to find new customers and opportunities. But, your company being small and agile, you the chief developers find yourselves being the prime second tier salesmen/support, and sitting in bright rooms explaining why people should spend large amounts of money buying your software.

This is where you can go horribly wrong... Up to this point, you've played the game well, dodging and swerving and outmanoeuvring the competition. But now, the temptation is to continue as before, treating the problem as a purely technical one, with technical solutions. While this has been true up to now, to really succeed at this point you need to realise that you've crossed a boundary. As soon as someone in the room has a title like "Chief X Officer", or even "Manager of X", it's a whole different dialogue.

The worst thing you can do here is continue with what's worked so far, which is explaining what the software does, how it does it, and most importantly, how smart it is for doing it that way. The truth? They don't care. They want to know about Value! How your software makes them money, saves them money, gives better visibility or makes life easier in some significant way. That's how you'll sell them your product.

Even when talking to the poor developers who must customise your shining example of perfection, espousing it's glory in mundane detail will just bore them to tears. Explaining how things work is meaningless. Two weeks of descriptions and hand waving isn't worth a few thoughtful worked examples in source.

Ah.. Source! If you're planing on letting customers or 3rd parties customise your application (notice I didn't say code), give them the source! Hire a good lawyer to come up with a licence and a CiC or NDA if it makes you feel better. This sends a strong message of trust to the client/partner and makes life a *lot* easier for any customisers getting up to speed on the internals of your application. If you don't they'll just decompile it and hate you, so you might as well give it to them (once they've paid of course!)

To summarise, being a great coder/architect is invaluable, but if you actually get successful at what you do then you need to realise that tailoring your pitch to your audience is the next skill to learn. When you know the internals inside-out (literally!) it's all too easy to wax lyrical on implementation details. It's a lot harder, but much more beneficial, to translate your knowledge into terms the people in front of you can understand. Then you're not just programming software, you're programming wetware.