Article written by Patrick McKenzie. He is the founder of Bingo Card Creator. Bingo Card Creator lets teachers and parents make custom printable bingo cards for instructional and entertainment purposes.
Are you considering starting up a business because you wish to work on wonderfully interesting technical problems all of the time? Stop now — Google is hiring, go get a job with them. 90% of the results of your business, and somewhere around 90% of the effort, are caused by non-coding activities: dealing with pre-sales inquiries, marketing, SEO, marketing, customer support, marketing, website copywriting, marketing, etc.
Bingo Card Creator has been memorably described as “Hello World attached to a random number generator.” If anything, that probably overstates its complexity. Customers do not care, though — they have problems and seek solutions, regardless of whether the solution required thousands of man years of talented engineers (Excel) or one guy working part-time for a week. (You’ll note that you can make bingo cards in Excel, too. Well, you could. Many people can’t. If I sell to them, I don’t necessarily have to sell to you.)
Relentlessly Cut Scope
37Signals had many good ideas in their book Getting Real, but probably the best one is to “Build Less”. Every line of code you write is time debt: it is another line that has to be debugged, another line that has to be supported, another line that may require a rewrite later, another line that might cause an interaction with a later feature, another line to write documentation for. Cutting your feature set to the bone is the single best advice I can give you which will get you to actually launching.
Many developers, including myself, nurse visions of eventually releasing an application… but always shelve projects before they reach completion. First, understand that software is a work in progress at almost every stage of maturity. There is no magic “completion” day on an engineer’s schedule: “complete” is 100% a marketing decision that the software as it exists is Good Enough. If you have to cut scope by 50% to get the software out the door, you’re not launching with a 50% product: you’re launching with 100% of the feature set that is implemented, with 100% of (hopefully decent) ideas for expansion in the future.
Original Article: Running A Software Business On 5 Hours A Week