Finding a Product Idea for Your Micro-ISV

Summary: Eric describes a series of steps to help find a good product idea for starting a micro-ISV.

Jump on the Micro-ISV Bandwagon!

In the September edition of this column, I wrote about something I call a "micro-ISV", a software product company with just one person in it. Since then, this concept seems to have struck a chord with many readers. I've seen lots of discussion among people who want to take the plunge and create their own micro-ISV.

I'm not saying that you're going to see the term "micro-ISV" on the cover of Newsweek anytime soon, but I'm still surprised at the amount of momentum I see. I coined this term rather flippantly, never considering the possibility that it might resonate so well with developers who feel the entrepreneurial urge. For this reason, I never even thought about the idea of registering the microisv.com domain name. Luckily, someone else did, and a community of micro-ISVs is growing there.

Letters. I get letters.

I get lots of e-mail from micro-ISV "wannabes". They send me all kinds of questions in the mistaken belief that I have all the answers. One of the most common questions is from folks who want to know how to find a good product idea. People love the concept of building and selling a software product in their basement, but they don't know what product to build and sell.

Good product ideas are a strange thing. When you want a product idea and do not have one, ideas can seem be very elusive. The search for a good product idea can be very frustrating. Later, when you are busy and focused, good ideas tend to show up frequently.

This article is a "how-to" on finding a product idea for a micro-ISV. goal is to help you make this process as systematic as possible. In fact, I'm going to provide an algorithm you can use to find product ideas.

The Algorithm for Finding an Idea

Many entrepreneurs search for a product idea using an algorithm that looks something like this:

Idea FindGoodProductIdea()
{
 Idea candidateIdea = null;
 while (true)
 {
  candidateIdea = new Idea();
  if ( candidateIdea.IsGood() )
  {
   break;
  }
 }
 return candidateIdea;
}

This algorithm frankly doesn't work well at all, for three reasons:

  • It's inefficient. Every time through the loop, your brain has to make a context switch between being creative and being analytical. These context switches waste a lot of your mental CPU time and slow you down.
  • It generates too few results. The context switches prevent you from ever getting a really good flow of ideas.
  • It's buggy. This algorithm forces you to evaluate every product idea in isolation. Sometimes an idea doesn't reveal its potential or its pitfalls until you've had plenty of time to think about it.

Using the algorithm above is the best way to not find an idea or to settle on a bad one. A much better algorithm looks something like this:

Idea FindGoodProductIdea()
{
 ArrayList candidateList = BrainstormLotsOfIdeas();
 return ChooseTheBestIdea(candidateList);
}

In this approach, you will spend a lot of time upfront building a list of ideas. This is the step where you apply creativity, thinking with an open mind and diverging into all possibilities.

After that, you spend a lot of time choosing the best idea from your list, thinking more analytically and converging onto the one idea that is the best fit for the kind of micro-ISV you want to build.

Build a List of Ideas

Get yourself a notebook and a pen. You're going to be writing down every possible idea you can think of. You need at least dozens, if not scores, of candidate ideas from which you will select the best one.

You don't have to build your entire list in a single session. In fact, it's probably better if you approach this exercise in a more leisurely fashion. Build your list over a couple of weeks, spending a little time each day.

The process of generating this list is called brainstorming and the key concept is "flow". You're trying to get a river of ideas flowing as fast as your pen can write them down.

The most important rule of brainstorming is to not evaluate the ideas as you go. Write down every idea you get, no matter how lame it sounds. Don't stop to think about the size of the market or the difficulty of implementation or the strength of the competition. Stopping to critique the ideas interrupts the flow. Furthermore, first impressions of a product idea are often very deceptive. Good ideas can sound stupid at first, while stupid ideas often seem very attractive. Just write down every idea and start thinking of another one. Once the flow starts, don't stop it.

So how do you get this idea flow started? Here are a few tips:

Think about problems, not technologies

Finding a product idea will probably require you to think exactly the opposite of the way you usually think. You need to focus on problems to be solved, not on technologies to be applied.

You are a geek. You think about technologies first. You see a cool new platform and try to think of a way to use it. You discover the Opacity property in Windows Forms and you start trying to think of ways to apply it. If you are not already using the .NET Framework, you are frustrated, because everybody else is talking about how cool it is.

You probably won't find a good software product idea until you stop thinking so much about software. Instead, think about problems that need to be solved. Then, think about how software could be used to solve them.

Think about your other interests

Most software is being used to solve a problem that is unrelated to software. In fact, many software products are focused on a specific industry. We call these markets "vertical".

You are probably more familiar with "horizontal" products such as Microsoft Office or Quickbooks. These products are mainstream and applicable "across" many different kinds of businesses.

There are lots of vertical products that you've probably never heard of. Software to manage a furniture store or a golf course doesn't get much mainstream attention. However, there are great opportunities in vertical markets. Everybody is using computers today, so there are a lot of needs to be met.

Even better, the competitive landscape in vertical markets is a lot less hostile. Vertical niches are usually served by small companies like yours. Enormous companies like Microsoft and Oracle usually don't consider these little market segments to be worth the trouble.

The real problem with verticals is that you need to know a lot about the field into which you want to sell. Since you are a software developer, the strong likelihood is that you know a heckuva lot about software and not very much at all about real estate or automotive repair or classroom management. It's probably not a good idea for you to dive into a vertical market about which you know nothing.

However, if you do have knowledge in a non-software field, think hard about the problems in that field that need to be solved. Even if your non-technical interests are merely a hobby, you should be thinking of how a software product might fit. As a woodworker, I frequently think of ideas for software products that the hobbyist woodworker might like. Experience in non-technical topics can be a great source of ideas for your list.

Get more inputs

If you find that your brain isn't generating enough ideas, perhaps you need something to spark your creativity a bit. In other words, to get more outputs, you need more inputs. You need something to get you thinking about things you don't usually think about. You need to get yourself out of your usual routine.

Grab your notebook and go to the mall. Walk around and look. Ignore the 17-year-olds with low-rise jeans. Focus on the stores and the products they have for sale. Think about the people that buy those products. Do they have a computer? What kinds of problems might be solved with that computer?

Repeat the above exercise, only this time, instead of walking through a mall, take a virtual walk through the yellow pages section of your phone book. Think about all the companies you see. What software could make it easier for these companies to function?

These walks are simply a way of sparking some different thinking. You'll see everything from eyeglasses to pretzels to lawnmowers. Who knows what ideas might come to your mind? Don't forget to write them all down.

Get other people to help

Brainstorming works better with multiple people. Ask a friend or family member to help think of ideas for your list. Ask them what they wish their computer could do differently.

Do you know anyone who owns a small business? A teacher? A college student? A homemaker? Ask each of them what they want their computers to do to make their lives or jobs easier.

Remember the remora

A remora is a fish that attaches itself to the side of a larger creature like a whale or a shark. The remora doesn't actually do any work to find food. It relies on the bigger fish to handle the real marketing challenges and cleans up the opportunities left over. The remora reminds us that micro-ISVs can do very well with an add-on product.

An add-on product is a companion software product to some other software product. The other product (which I will call the "host application") is usually larger and more popular. The add-on product rides the popularity of the host application. For example, an Adobe Photoshop plug-in is an add-on product.

The strategy for add-on products is very different from other scenarios. You are using the host application as part of your platform, just like the operating system or runtime libraries. People who don't use the host application will have no interest at all in your add-on product. Your potential customer base is entirely constrained by the set of people who are users of the whale to which your remora will be attached. For this reason, it is important that you select a very large whale.

Despite the fact that your maximum market is so clearly defined and limited, add-on products often sell very well. Users like add-on products because they can get a problem solved without changing the way they do things. Just as its name implies, an add-on product is purely additive, subtracting nothing from the way the user already works.

As an example, consider QuickBooks, probably the most popular accounting application for small businesses. Let us suppose you discover that QuickBooks is missing a feature that lots of people want. If you want a strategy that is doomed to failure, then build your own accounting application from scratch and include the missing feature. On the other hand, if you want a much smarter approach, create an add-on product to help QuickBooks users deal with the deficiency.

To include add-on products on your list of candidate product ideas, you'll need to execute a special subroutine. The pseudo-code looks something like this:

  1. Make a list of really popular products.
  2. For each of these host applications:
    1. Use Google to search for people who are whining about some missing feature or deficiency.
    2. Think of an add-on product to address their complaint.

The sheer volume of whining on the Internet usually makes it easy to quickly fill your candidate list with add-on product ideas.

Evaluate the Ideas and Pick One

Once you've got a list of ideas you can start thinking critically about them. Which ideas sound plausible? Which ones sound absurd? Which ones sound like fun? Which one is the best?

You need to ask yourself some difficult questions about each idea. Below, I have included a number of questions you should ask as you try to figure out how good each product idea really is. These are just examples of the kind of questions you should ask. Don't be afraid to come up with questions of your own.

Also, don't just ask yourself these questions. Find some other people to ask as well. Choosing a product idea entirely by yourself is a really bad approach. There is a substantial risk that you will fall in love with one of your ideas and find yourself blinded to risks and problems that show up later. Get the opinion of somebody else who is objective and who will not be involved with your new business. In fact, it's a good idea to get multiple opinions.

You don't have to heed every piece of advice you solicit, but do try to objectively consider each tidbit of feedback you receive. This means you need to have a thick skin. Somebody is going to tell you that your idea is lame, whether it is or not. You can't logically analyze your decision if you get your feelings hurt.

Suggested questions

Will you use this product yourself?

Life is easier if you are developing a product that you actually use. As a user of your own software, you will never be out of touch with its problems.

Does this product meet a need?

Entrepreneurs often want to develop games. And why not? After all, games are fun. Shouldn't we enjoy life?
Lots of software people do make a living in games, but this kind of situation is just very different. Don't forget that computer games are also called "entertainment software". The key word here is entertainment. Developing a popular game is a process which is roughly as predictable as developing a popular rock band.
If you can make a living developing games, please accept my congratulations and my envy. In my opinion, it is easier to sell software that solves a problem.

Who are the competitors?

You need to identify your competitors and study them. Search the Internet and dig up everything you can find. How long have they been in business? Are they profitable? Do they have investors? How many employees do they have? How much do they spend on advertising? For public companies, this information is easy to find. For private companies, just make a guess.
If you can't find any competitors at all, be afraid. This is usually a very bad sign. It means that your product might not actually have any market at all.

What is your differentiation?

How will your product be different from the ones already available from your competition? The people who care about this difference are your target niche. The most important factor in evaluating the potential success of a product idea is a clear description of a target niche that needs your product.
How many of these people are there? How much will they pay for your product? How can you make sure they know about your product?
Another fast and sure way to fail is to enter a market with established competition, telling yourself that you can get 5% market share even though your product is similar to the others. You must identify a market position you can pursue.

How long will it take to build the product?

It's important to pick a product idea that is about the right size for a micro-ISV. You're going to be all by yourself. Realistically, some product ideas are simply too big.
You also want to get to market as quickly as possible. How many months will you need to build version 1.0 of your product? It is usually better to keep the 1.0 feature set as small as possible so you can get your product out in the market sooner. If you can't get a sellable 1.0 out the door within six months or so, look carefully before you leap.
One of my own personal favorite product ideas has this problem. The market position is good, and I know the product would sell. But it would probably require around two years of full-time effort before I could release version 1.0. That's a long time to wait for the first dollar of revenue and the first real customer feedback.

Does this product require a sales guy?

The ideal product for a micro-ISV can be sold entirely online to customers who pay with a credit card. You are one-person company, and you don't have a support staff.
For consumer markets, if your product idea cannot succeed without shelf space at Wal-Mart, you should probably find another idea. Getting something into that kind of channel is going to be very difficult for a micro-ISV.
For corporate markets, if your product idea cannot succeed without a sales guy, you should probably find another idea. Get your micro-ISV established before you even think about adding more staff.
By the way, it's important to realize that this sales guy issue affects your pricing decisions as well. Corporate buyers have limits. If you exceed these limits, they need lots of approvals from their superiors, which means you need a sales guy to hold their hand throughout the process. Avoid these limits (and the sales guy) by keeping your product price under $1,000, preferably under $500.

How much technical support will be required?

As a micro-ISV, you are responsible for all technical support. Unless you eventually plan to expand your company with new hires, all of the time you spend supporting your customers is time you are not spending on development of new features. Keep this balance in mind as you analyze a product idea.

Do the numbers work?

Estimate the revenue you will get from a product. This is the hardest part of the analysis. A full discussion of revenue projections would be far too long for this article. For now, suffice it to say that your guesses are probably not as bad as you think.
Is the revenue enough to meet whatever your financial goal is? For example, if you want to go full-time in your micro-ISV, how many sales do you need each month to pay your bills? How realistic is it to get that much revenue?

Special questions for add-on products

As I mentioned above, add-on products involve a different strategy, so they need their own set of special questions as well:

How will you integrate with the host application?

Add-on products are rather difficult if you can't find a place to connect. Does the host application have an API you can use? An open network protocol? A documented file format? Your customers want the most seamless and integrated experience you can deliver.

Can you get marketing help from the vendor of the host application?

The vendor of the host application owns the entire market for your product. They know all of their customers. The dream scenario is for that vendor to market your product to their customers.
Keep in mind that the big vendor has very little incentive to help you. However, nothing you do in marketing can be as effective as what they can do on your behalf, so you might as well ask. Perhaps they would be willing to announce your product in their newsletter? Perhaps they might be persuaded to put a link on their Web site? Don't be too surprised if they say "no", but don't be afraid to ask more than once.

Will I find myself competing with the larger vendor?

The obvious risk of an add-on product is the possibility that the vendor of the host application will incorporate the feature that your add-on was designed to address. Think about this risk as you analyze the potential for your add-on product.

Narrowing the field

The geek in you would probably like to have a purely quantitative method for determining which product idea is best. Wouldn't that be great? Assign every idea a simple numerical score and do a sort. Barring a tie, the top idea is the one to choose.

If you happen to work out just such a formula, let me know. However, in my experience, things aren't so simple. No easy formula can accurately measure the "goodness" of any product idea.

Instead of ranking all the ideas and choosing the best one, make several iterations over your list, and remove some of the candidates each time.

If you did a good job during the brainstorming phase, your list probably contains some ideas that are really stupid. That's okay. Try to keep an open mind about every idea on your list. There isn't much risk that you will actually settle on a truly horrible idea, so why not let them all linger around until you're sure? I've made good money on ideas that sounded absurd to me at first.

Nonetheless, the first iterations might go very quickly. Some of the ideas can probably be eliminated without much analysis. If you are wondering whether to try and build a new SQL database to compete with Microsoft, Oracle, and IBM, I hope you can resolve that quandary quite expeditiously.

Your last iteration should be a decision between the two or three best ideas on your list. Don't make the final decision too quickly. Take the time you need to find every useful piece of information you need.

Your Next Steps

Let us suppose that you have followed all the steps described in this article and you still have not identified a good product idea.

The truth is that my so-called algorithm is not a panacea. In fact, I use the word "algorithm" in a somewhat tongue-in-cheek fashion. Entrepreneurship and marketing are very complex. These topics can be simplified and systematized only so far. As I said at the top of this piece, my goal is to make this process "as systematic as possible", but the result is probably "still not very systematic at all". Starting a micro-ISV requires a whole bunch of ingredients. Nothing I write can compensate for a critical ingredient that is missing.

On the other hand, perhaps you have found your idea and are ready to go. That's great news! Proceed with courage and caution, and with this one final piece of advice:

Never forget that your idea is worthless without you. There are probably nine other people on the planet who are thinking about the same idea right now. The only question is which one of you is actually going to make it happen.


Eric Sink is the non-legendary founder of SourceGear, a developer tools ISV located in Illinois. More of Eric's writings and rants can be found on his weblog is at http://software.ericsink.com/.


This article originally appeared on the MSDN website.