It is not uncommon today to meet competent and enthusiastic software developers who, despite seemingly possessing every single quality required to create good software, miserably fail at generating money with their products.
The untrained eye may be tempted to quickly jump to the conclusion that the skills of the said developers must be lacking, but one who’s read the book Start Small, Stay Small: A Developer’s Guide to Launching a Startup by Rob Walling will hold a totally different opinion about the matter.
Most software start-ups fail (in the financial realm), not because of poor or inefficient code, or even because of the absence of key features in their product, but rather mainly because a market does not exist for their software. It is one thing to have the most beautiful, well-written program, but if it does not solve anyone’s problem to the point where they’d be willing to pay for it (and to pay handsomely enough to justify the efforts invested), then this program is a failure by most standards (and especially from a business standpoint). Now before you jump to my neck, such programs can still have some value (educational value maybe, think assignments), but we’re discussing the real world here.
As an entrepreneur wishing to market your applications, it is important that you perform a study of the market before embarking on any software venture. There are tons of strategies and techniques to
ascertain that there exists a true unmet need for your idea. So although it may be tempting to quickly delve into the code (the most enjoyable part, no doubt), it is wiser to first carefully study the market and make sure that the need justifies the effort/money you will be investing in the work.
Moreover, once you’ve verified that the need is present, your next move should be to plan a marketing strategy. Yes, even before you have one line of code written, your focus should be about the market and how you’ll manage to reach it. Think back to Bill Gates and how he struck a deal with IBM despite not yet owning the OS that he promised to deliver. I’m not really advocating this type of behaviour, but it just goes to show you how critical it is that you’ve not only found your user-base, but that you’ve planned out and maybe even established the communication channels with it. Here again, a number of strategies exist to create contact with your prospective customers, and you will find some of them in Walling’s book.
Now comes the beauty part. But not the beauty of the code; this should be the least of your concerns at this point. The beauty I refer to here is that of your product. Once you know that someone is ready to buy your software, and that you’ve established contact with them, now you must think about making your product appealing to their eyes.
Most hackers will probably vehemently disagree with me on this. And to be honest, I quite sympathize with them. If you are writing your software for hackers, then maybe aesthetics shouldn’t be something you care about. In fact, the entire article may not apply to them. I’m speaking of ordinary users who, if we go by the success of Apple’s eye-candy products, seem to accord a great deal of importance to the feel/look of anything they buy. So it’s likely that your GUI will need a good amount of work, and the time to plan it out is now.
Finally, once you have your market guaranteed, your marketing strategy planned out, and the look of your product envisioned, it is time to delve into the code. The final step is to implement all the necessary features to make your software a success in addressing the needs you’ve identified in your users. This is also the part where, as an engineer, you get to have the most fun, so enjoy!
By way of summary, here are the ordered steps to follow if you want to successfully sell your software: market, marketing, aesthetics and finally functionality. Don’t commit the oft-repeated mistake of reversing the order of operations, i.e. developing your product, then attempting to find a market for it. And by far, the most important of the four steps is the first one: to identify the right market. In fact, as history has often shown us, you may get away with a mediocre product and make tons of money if you find the right niche whose burning needs have been hitherto unmet. If there’s no competition, and the need abounds, then your success is almost guaranteed, albeit for a very little while