...or: putting a long time failed goal public.
In 1999, about the time I was ending my first year in college, I had created a few very simple Java-based games and established my first company. I discussed with my girlfriend (now wife) who was skeptical about paying for a domain/web site, but we (?) decided to do it. Then, with a strike of luck, the largest telecommunications company in Norway - Telenor - found and liked the games and wanted them and similar games for their ISDN-touch screen platform. In total I created 7 games. The payment wouldn't impress anyone (certainly not me) too much today, but as a student it was definitely significant and I also managed to do the deal on a yearly subscription basis rather than as a single payment.
Getting that big customer will probably be classified as luck. The problem is that a micro ISV cannot rely only on pure luck in the long term. Thus the key question becomes: How can you increase the chances of being lucky? And more specifically, how can you get beyond that first project sale?
In my experience recurring revenues are often calculated when pricing a complex software projects (ever heard the "but the next similar project will be much more profitable", only to find that the next project was not that similar in the end?). To talk about “productization” is easy, to successfully do it is not.
I will argue that you can increase the chances of being lucky by (1) securing your rights to the product, (2) thinking about it like a product, (3) building it as a real product and finally by (4) doing the marketing for the product - often only with the guerilla methods available to small firms.
I will go through each of these four points in order and I will use a system I made the first version of in 2003 as a working example. This system is a web-based recruitment system currently used by a single recruitment agency. I will try to see where I did wrong, comments regarding the specific project is inline in italic, and hopefully get some of it right in the aftermath of this blog post. Since I have NOT been successful in trying to sell this to customers beyond the first one, you are now watching live the first structured attempt at changing this (and could argue who am I to write this blog post…).
By putting the failure public, will I finally manage to do it? Anyway, on to the four components I will go through, starting with the intellectual property rights (IPR).
Secure your rights
This might be basic, but if you plan to reuse the software from a project either in other projects or even in a product you must get the IPR correct from day 1. In my experience this is usually possible, but may vary according to type of customer.
On this point I was not too bad, I was sure to get full IPR (giving a partner pricing scheme to also get full IPR to changes developed over the years), but I had to give my customer exclusivity in Norway. In retrospect, a few enquiries have come over the years from Norwegian firms wanting to license the system - so negotiating away that clause at the outset might have paid off. My customer, although always constructive, did not want to give up local exclusivity the one time a customer that was ready to buy actually emerged.
Think about it like a product
Next, I strongly believe you have to think about your product as exactly that – a well defined product. It is easy enough to say that the core of some project is a “product”. But what is the product exactly? Be specific - thinking about exactly which user interfaces and functionalities are part of the product forces the thought process around the product.
Likewise, be specific about who is going to buy the product and what is their willingness to pay? What is important to the customer might be different from what you assume. One way of finding out is getting partly founding for new features from early adopters. This forces your pilot customers to put their money where their mouth is.
Think about the most likely competitors. If there are none you can either hope to be a true genius, but it might also indicate lack of market. Don't let a number of competitors scare you away, a micro ISV can be nimble and develop in new directions quicker than they can! Often it is great to be small and not have a lot of legacy code and customers that use it to think about.
On this point, I just have to say Mea Culpa. It was more a vague hope than a clear strategy behind the product thinking. A few years later it seems to clear to me this is not a volume product (also given what we can support) and it will be priced between the simplest competitors and the offerings from huge ERP/HR vendors.
I have tried to think more about it like a product lately, will return to that when I cover marketing, but first on to building the product.
Build it as a real product
It is not enough to think and talk about it like a product, if you are going to support it without too much grey hair and get the scale effects, you also have to build it like a product. This has practical consequences all the way down to the details of the technical architecture and the underlying data models.
Regarding user interfaces there is also a need to be clear on what is part of the product and what is customer specific – and find a clear cut way to manage that. If you throw hard coded texts or data fields specific to the first customer around the user interface, it is not a product. Also, if you have to fix the same error for all customers, it can be an indicator of a flawed architecture or structure.
In most cases you won't have partners selling your product from day 1, thus you need to think about supporting (and possibly hosting) the product professionally. Then it matters a lot that it is built in a way that grows maintenance work in a sub-linear way with the number of customers.
Again, on this point I did not do to well at the first attempt. When trying to generalize this now in 2010 for the new version, some rework had to be done to make possible installation for the next customer smoother. I also made what I think was a smart move by trying to provide easy hosting, or letting the customer forget about hosting all together, through possible single sign-on with their existing solutions. I also made connecting to enterprise systems easier by exploring a module that will run PHP (in which the original system was built) inside the Java application server Resin, called Quercus.
Marketing for the product
Many entrepreneurs seem to almost lose interest in a product once it is approaching something that looks (remotely!) like production quality. Then it is on to the next project, although they might claim they are both "products". Well, it might be fun (I think so!), but if doing so one should be honest enough to simply call them projects, not fool oneself by calling them products. That being said, it is nothing wrong with trying out several product ideas – if you can make even one of them fly, to me that is just plain fantastic – but remember that not all projects need to become products.
A product should have a name. Try to find a good one. Create some, if very simple, marketing material and try to get it spread. These days many channels are available, but it is still much easier said than done to create the amount of buzz needed to reach just those potential customers.
If you really believe in the product and it has a great potential, here is the area you are most likely to need professional outside help. It can be from partners or external investors (VCs). Marketing and internationalization can be frightening expensive and for a software company founder to be excellent at it is probably the exception rather than the rule.
If your product is consumer oriented, the Freemium model has gotten quite a bit of attention lately (some would say too much, it is certainly not a one-size-fits-all silver bullet). Andreas Göldi covered some properties on when the Freemium model can be successful in a blog post in 2009, it comes highly recommended. If the free version is great, maybe the word of mouth can help your marketing? In addition to pure guerilla tactics including wise use of social media, some forms of targeted advertising might be feasible. Very targeted search word advertising and doing talks and/or stands at conferences or conventions might be worth exploring. I am not the best example of this (again, look at the 7 years of a great system still with that single customer!), so I am sure you can come up with more creative ways of doing this than I can!
How did I do on this point? I simply didn't. But I have settled for a name in the process of upgrading the solution this year. RightCruit.com is going to be the proud new name of the product. And I have now written this blog post (and not least done the analytical work both leading up to it and starting doing the operational work coming out of it). I have to admit that my blog with very limited traffic is not ideal, but it is a starting point.
In addition, and more important, I have good ambassadors in my customers that have used the system since 2003. I still think the most likely way of doing a sale is through them and their international contacts.
So by posting this I have made public the goal of making the first international sale for RightCruit. If it happens, have no doubt there will be a follow up post or comment on this page. In the short term, I will use the comments field here to give a quick update as I progress in trying to make it right using my own medicine. The next month or so, I intended to record a small presentation video and maybe buy some Adwords ads for those to see if that can generate any qualified leads.
I welcome comments, both on the theoretical argument and on what I am still doing terribly wrong with my practical attempt at selling RightCruit to new customers. At least can't be the name? ;-) I thought it was utterly clever with a word play on “recruit” and good meaning to it as well...
 - ISV = Independent Software Vendor. When using the term "micro ISV" I generally mean companies with only a handful of employees, for most of the time in the specific example it was actually less than one FTE. But some of the argument above is valid also for somewhat larger companies struggling with the tension between customer projects and product development.
 - If I were to argue back I could mention that I have been involved in some successes as well :-)
 - This might sound easy. It is not. I have seen examples of the time spent being almost exponential and when having the first small handful of customers, the coordination and attempt to do projects for customers along with product development almost stalled progress completely for a while.
 – I don’t claim to be the biggest expert on social media usage. I do have opinions, however. Without attempting to lay out rules and certainly not a social media strategy here, I would say that adding some value to a discussion or offering something of value (I hope this blog over time shows some of how I think) is always a good idea. And always, always, always be honest about who you are and who you represent.
Also, thinking about real life parallels can be useful (in a party, would you go “hey, this guy that none of you know just said that something I wrote was great and I will repeat that without any other comment to all of you”?), even if it is not always straightforward to find a relevant analogy.