Starting an ISV - an insider view


The story of an ISV

1. Introduction

Good morning! My name is Will Rayer, I represent Ubercode Software and I'm going to talk about starting and running a micro ISV. ISV stands for Independent Software Vendor, a micro ISV has one or a few people, and we make money developing and selling software. In case you wonder what this has to do with shareware, the business model of a micro ISV and a shareware business have merged [Eric reference] - we are both businesses that sell software over the internet as well as providing trial copies. So I feel at home in a shareware conference.

The ultimate example of a micro ISV is Microsoft. They started in 1975 with two employees, one called Paul Allen and the other some guy I can't remember :)

I'm going to talk about starting and running an ISV and the traps I fell into on the way. This may help if you want to start your own ISV.

2. Where do developers work?

Let's consider the different types of work a software developer can do.

Full-time employment. On a positive note, you get paid regularly. Some employers look after their employees, providing training and career progression. But others, maybe even the majority offer little or no training, making it difficult for employees to keep up to date. A cynic might say this makes it easier to outsource you in a few years, or replace you with a younger developer at a lower wage.

In my experience, I have only had one employer offer any kind of regular training.

Contract development work. This is much better paid, although contractors are employed just for their current skills. If contractors are to stay employable for more than a few years, they have to spend a lot of time managing their own training and career. This is more than just reading books and attending courses.

Independent consultant. Again this is better paid than full time employment, but it requires good networking and marketing skills. This can be a viable long term option if you can balance your technical skills with a friendly professional attitude that inspires confidence and if you can keep up to date and build your business.

Software business. By this I mean an independent business that gets income from developing and selling software - an ISV. This has highly variable income, and apart from the people in this room it is an unusual form of employment in the world at large. It offers the chance to create something new, and if successful is a worth while means of earning a living. I'm now going to focus purely on the ISV.

3. Why start an ISV?

I believe several things motivate you to start. One is dissatisfaction with full time employment and its resulting stress. Some jobs offer low rewards and ultimate burn-out. How many 40 year old programmers do you know? What are they doing now?

Creative impulse. The desire to create something new is an important motivator but it can be a trap. Your new idea can become an obsession that you just have to make work. Many ideas look easy on the surface but the details suck you in. So avoid a product that is too complicated, and keep your plans flexible.

To do this, focus on the minimum set of features needed to get the first version out of the door. Your savings divided by the monthly expenses determine how long you can survive without income, and this determines the maximum complexity of your product. It is likely your first release will take longer than your worst estimate, so the first release must be kept to the minimum features possible.

I made this mistake in the worst possible way. My initial plan of inventing a computer language was far too advanced and my initial timescales were wildly optimistic. For example my specification included "write compiler = 4 weeks."

4. Funding

Now for the "F word" - Funding! Your ISV needs money for living expenses, money to cover the start up period, and money for the business items you need. How do we pay for this?

Start while working full time. The advantages are a regular income, knowledge of the market and potential contacts. But running an ISV at the same time as having a full time job is very time consuming, and the demands on your time and money can damage your personal relationships. There is also a danger of being too late to market when the product is finally ready.

Use savings. This is better for getting the product out of the door. It is important to develop in stages, and to release version 1 as soon as possible. The burn rate (expenditure of money per month) determines the maximum initial product complexity. If you run out of money before finishing you have nothing at all.

Mix contract work with the ISV. You can work on your ISV in between contracts - this is better than the full time approach because contract income is several times greater than employee income. The problem is the contract market is very cyclical, and it's difficult to keep up to date. You may be out of a contract for a year or more, and it is difficult to support yourself, keep skills up to date, work on an ISV and look for another contract at the same time.

Use venture capital or business "angels". You only have to change two letters to convert "venture" into "vulture". In fact venture capital is worse because vultures wait until you are dead before they peck your eyes out.

You will note I don't like venture capital :) I truly believe it is incompatible with a well run ISV. Your ISV needs money before the first release, but at this point there is no product, no sales, no assets and nothing tangible, and investors run away. Investors only become interested if the ISV generates sales - but at this point you don't need their money. Margins on software are so high that a well run software business can grow from its own income without giving away equity or taking on debt. That is why I oppose venture capital.

Live with minimal expenses. This option involves working from home and cutting costs to a minimum. [Steve Pavlina's article]. If you are self-funding and you halve your costs, you double the time you can spend on the product. I broke this rule big time, by spending lots of money and time on trade marks, patents, adverts and other stuff I didn't need.

5. Development

So you've got a product idea, you've got some cash; you're motivated and ready to go. Development is what we do so this bit should be easy! Well, maybe but there are two big traps - lack of focus and feature creep.

Get focused. In any ISV there is a time for planning and a time for action, and the Development stage is the Action part. Before the first release, every day and hour not spent developing your product delays potential income and drains your precious cash reserves. So resist the temptation of non-development pursuits. Don't spend hours browsing the web, doing research, playing with Linux or networks or server administration, or whatever your favorite distraction is. Instead focus on the core product.

6. Marketing

I haven't talked about marketing yet, but it is an ongoing activity and not something you add at the end. There are lots of things to think about.

What's in a name? The ideal name should be easily remembered, not too long and not purely descriptive. Instead it can be suggestive of your market, like google is for search engines. Your name can be used as a trade mark and as a domain name, although it may take a while to find a suitable name.

In my case I was determined to use Lingo and reluctantly changed it because there were other Lingos out there, and all questions about my product got bogged down in discussions on trade mark theory. Full credit goes to Eric Sink from Sourcegear for persuading me to change the name, and I'm very happy with Ubercode.

Product versions. As a minimum you need two versions - a trial version and a full version. If customers like the trial version they will pay for the full version. The original idea behind shareware was the trial version was the same as the full version and customers were honor bound to pay for the full version. Human nature being as it is, shareware authors starved and the few survivors now have trial and full versions in the same way micro ISVs do.

Making Sales. Your website is your sales person, so like all sales people it must be neat and shiny, pushy enough to get the sale, but not so pushy as to frighten away customers. Keep your website polished and professional, and update it at least monthly to show your ISV is alive. Get the website up as soon as possible, as Google may ignore you up to 12 months after your site is established.

Keep track of the number of visitors, the number that download your trial software, and the conversion rate into paid customers. These are important ratios: the percentage of visitors who download, and the percentage of downloaders who buy. These ratios (along with the number of visitors) predict your income, and you must monitor them and work on improving them.

The nice part of your website is getting paid! The easiest way is using E-commerce providers [reference page] as they can handle different credit cards, deal with Paypal, and detect fraud. Most customers pay using credit cards, and they can make a charge back if the software is not satisfactory. Therefore you should provide a one month money back guarantee on your product, since customers could re-charge it anyway.

Technical Support. I include this with marketing, since it's important to make sure the customer is happy with their purchase. If your product is high-volume low-price, you can deliver support using emails, FAQs and user forums. Don't do forums too early since nothing looks worse than a forum with one person in it! The higher value products will need telephone support so you must allow for this.

Ongoing marketing. You will find opportunities to tell people about your product, so use them.

We interrupt this talk to being you a short commercial break. Ubercode is a fantastic easy-to-use language, ideal if you want a simpler way to program. It's available now, is very affordable and has been established for over ten years. And that's not all - as a special deal for this conference only, I am offering discount coupons for all new customers. So don't delay, act now!

Where was I? Oh yes, never miss a marketing opportunity!

7. Growing bigger

You've got a product; you've got customers and some kind of income. You may be working part-time or full time in your ISV. How can you help your ISV grow?

Keep costs down. If you have any income at all, you can work at increasing the income and decreasing the costs. Be aware it is really frustrating having to work in another job because your ISV doesn't generate enough income. So build that income and cut those costs!

Listen to customers. Pay close attention to negative feedback and reasonable complaints. There is a trap here - it is easy to ignore negative feedback. Most customers only complain once, then you will never hear from them again. You won't hear from any of their friends, family, workmates or business colleagues either. So listen carefully to the voice of complaint, find what changes are needed, and improve your product through time.

Learn the pillars of wisdom. You may not see them, but your ISV (in common with all business) is supported by three pillars - Marketing, Development and Administration. You must have all three, and in the early days you are all of them. Keep them balanced, and if you expand make sure they stay balanced.