Beware the Software Siren
I've heard several prominent web marketers mention in their classes and public forums how easy it is to create your own software. Why, all you have to do is run over to Elance.com or RentACoder.com and have some poor shmoe from Outer Slobvia whip out what you want. And all for the price of a few trips to Starbucks.
Uh, not quite.
Is that a spec in your eye?
First of all, there is the matter of specifications. A spec is a description of what your software should do. The more specific your desires, the more detailed your specification needs to be. Even the most malnourished coder in Slobovia is going to balk if you say, "Try a gray background?oops, no, don't like that. Let's try light blue? Oh, that's not right, either. Let's try mauve." If you just want to specify "the important stuff", you have to be prepared to accept all the "unimportant stuff" however it is handed to you.
By the way, both RentACoder.com and Elance.com have provisions in their process and terms of use that protect their developers from vague specifications. The good news is that there are also provisions to protect you, the publisher. Regardless, the more detailed your specification, the greater the chance of a happy outcome. Ah, but writing those darn specs takes a lot of time? far more time than it sounds like when the gurus tell you how easy it is.
This was only a test
There's also the small matter of testing. Once you accept a developer's work, they get paid and get on with their lives. You, however, must live with the software. If you don't find every bug that must be fixed before you pay the coder, you either have to put out another project for bid to repair things or live with the problems until you do.
Therefore, you must test your software upside down and backwards, on a variety of machines and different versions of operating systems. You must also test the installer and the help system? oh, you forgot to specify those? Too bad, those tasks now require an additional project. Since they are radically different in nature (one is technical, one is not), you probably need two different people to do the work. Coders are rarely proficient enough writers to create an effective help system. I'm being kind, so let me emphasize this point without getting nasty: Don't let your programmer touch your documentation. Period. Never. Ever.
Help, oh I need somebody
You may be tempted to skimp on your help system.. Trust me, that is not a good idea. For one thing, in the minds of today's consumers a reasonably good help system is considered a bare necessity. For another thing, a good help system will lower your return rate. It is a worthwhile investment.
A help system also lowers your ongoing technical support costs. What tech support costs you say? Well, here's a statistic that will blow your mind: Most software companies allocate a minimum of 30-40% of a product's purchase price to technical support. The reason is simple: It's cheaper than refunds. Now you may not have created a Microsoft Office clone, but I guarantee you that some inexperienced users are going to need handholding. In my opinion, even in the world of niche products you must at least offer same-day e-mail support.
Xena is cool. Xenophobia is not.
Now before you think I'm just an American developer dissing the folks from other lands over on E-lance and RentACoder, think again. I use both services and love them. And I have developed some excellent working relationships with individuals at both sites. My purpose here is to fire a warning shot across the bow of wannabe software publisher's boats: Software development is a mind-bogglingly labor intensive task whether you do it yourself or pay someone else to do it for you. Web sites like E-lance and RentACoder have lowered the cost of software development to the point that a middle-class American can think about becoming a publisher without having to sell the house.
But you can still get burned, and it is worth counting the total cost of publishing before you get started.
Copyright 2005 - Ross Lambert, the Midnight Marketer
Ross Lambert is co-founder of TheVentureForge.com, a mentoring, hosting, tooling, and e-commerce incubating membership site. He is also a Senior Software Engineer for a fast-growing telecomm in Kirkland, WA and a happy husband and father.