The story of an ISV
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
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."
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
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
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
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.
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.
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
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
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.