Building software is a tough job, especially if you want to do it right.
The challenge, though, becomes apparent the moment you decide that you want to make a living doing software development – we call this the “business” of software and it’s pretty hard to do well, especially the first-time out the gate.
Some software businesses build mediocre software and bank on sheer volume and mass-adoption based on some bygone historical “first to market” strategies. On the flip-side there are businesses that never launch because perfection is their go-to-market strategy and requirement.
Progress, not perfection.
I have to remind myself of that often (besides, software is never done, only abandoned…). So, if you don’t want to build mediocre software but you want to also create amazing software (that’s ‘perfect’ so that it won’t ship) you have to find some sort of middle ground. I would imagine it would be a combination of the following actions:
- Ship the darn thing.
- Customer Service is the goal. This can actually be combined with the building of the community.
- Iterate. Ship again at little to no cost to the original buyer.
After years of building software I believe this combination is a winning one. You must get it out into the public and see what happens. If they laugh at you then that’s fine. You didn’t do it for the pundits anyway.
Being responsive and creating an amazing experience around the product is essential. I used to ignore this part and now I love building it. What’s neat is that it does actually contribute to bottom-line revenue. This small (but growing) community of writers / bloggers over here is a neat instance of this working really well for me.
Continue to ship iterations, improving the product continually. Kaizen-style. Discipline. It’s all about metered action in the form of a growing discipline (it doesn’t get easier, btw…).
I think I spend more time on second part than anything else which doesn’t feel as if it’s a profitable spend of time. But, creating a community and, as a consequence, an incredible customer service experience, it’ll pay dividends on the long-run.
Heck, it can pay dividends on the short-term too. So what? Here’s the point:
- Increasing customer service requires both capital and recurring costs to the business only.
- That’s tough as the end user and existing buyer does not see a financial impact – they only see gain. But…
- The customer is continually made happy and thus creates more than goodwill – it creates an evangelist for your product (i.e. free marketing) and converts new sales.
- The end.
A good business, within the context of a new world order of web apps, provides phenomenal customer service on their own ticket and passing any (and all) savings to the end-user. See Tony Hsieh for a useful proof-case.
Smart? Probably not for the indie developer. Cheap? Nah. Not really. Worth it? Yes. I guess I’m actually in the business of customer support… who would have thought.