Here at Less Annoying Software, we're big fans of Software as a Service (SaaS). On of my favorite things about developing web-based applications is that you can easily release new features whenever you want, but this also makes deciding when to launch a product a little more difficult.
With traditional software, a customer would buy a physical disk with the program on it. Whatever program the developers put on the disk is the one the customer would install and it would never change. Because of that, developers could only launch a new product when it had absolutely all the features it would ever need.
Because web-based software can be updated at any time without any user involvement, that old limitation no longer exists. The definition of what software needs is quickly changing as a result. This is obviously a good thing, but it also means that there is no obvious time to launch a product. If a company is developing a web application, there could potentially be a span of several years where the software works well, but doesn't yet fit the vision of the creators. So how do you know when something is good enough?
There's no one-size-fits-all way to decide when to launch, but there are some points to consider that might make the decision easier:
Are you charging?
If the software is free, there's a lot less risk launching early. No one can get too upset if free software doesn't work well. If you're charging money (which we are for our first product) then it seems obvious that you shouldn't launch until the software is worth the cost for at least some users. Once you're sure it's worth the asking price, it's probably safe to launch, even if it's not as worth the price as it will be eventually.
How many customers do you need?
If you're starting a social networking site, you probably can't succeed without millions of users. That means that if you launch and your marketing pitch isn't perfect or your software isn't mature enough, you could lose out on your only chance to grab enough users. On the other hand, if you only need a few thousand customers, you can get away with launching a product with less preparation. If someone comes to your site and doesn't like your design, you may have lost that person as a customer forever, but there are still hundreds of millions of other potential customers out there.
How valuable is customer feedback?
Most businesses end up becoming something that the creators never planned and it's all because of the users. If you're developing a new product, it's just guesswork until real people are using it. It's easy to make a lot of assumptions only to realize later that the world doesn't work the way you thought it did. For many companies, it might be worth losing out on the hype of a big launch if it means getting the product in the hands of users a couple of months earlier.
What will you do after launching?
If you plan on releasing a product and then moving on to something else, it probably makes sense to get it right the first time because there needs to be a logical stopping point. If you're plan is to continue working on the same product for the foreseeable future, it seems more reasonable to get it out there as soon as possible. The product will evolve at about the same rate it would otherwise so at worst you end up in the exact same place.
Can you handle rapid growth?
One potential reason to wait to launch is if you think that you don't have the resources to support customers and continue developing new features. Like I said, things change once people are using the software and that can make it hard to focus on your original vision. This is particularly a problem if there's the potential for you to get overloaded with users.
So considering all these things, I think most SaaS companies should launch products as soon as the basic functionality is working. The software market is changing and the benefit of getting users on your system normally outweighs the risk of people seeing a less than complete product. If the software works and you're trying to decide when to launch it, the answer is: launch it right now.
What do you think as a user? Are you the type of person that jumps into every Google Beta you can get an invite to, or do you only like using software once it's been around the block and you know exactly what you're getting? When websites make changes, are you excited to test them out, or are you upset that they changed something you were already used to?