Having been in the software business now for about 12 years I have learned a thing or two about the industry. Today, I would like to touch upon the difference between 2 models of running a software business, which are: 1) building customized software for clients or 2) operating a Sell as a Service (SaaS) software company. A customized software model is pretty straightforward; it means building software for a client where the application is unique and specific to the business. Conversely, a SaaS model is basically building a product that your company sells to a particular market and this same audience pays a monthly fee to use the product. Both models have their distinct advantages and disadvantages. I have spent years deciding on what is a better business model and what scales a company better. Below I will break down the advantages and disadvantages of both and I will recommend the better option.
CUSTOMIZED SOFTWARE MODEL
Building customized software solutions can be very attractive. There are a couple of advantages, which are:
- Revenue – Generally, when you enter into a contract with a client who wants to build something exclusively for the company there is a big price tag associated with the project. We have done work for a large printing company in Miami, FL and the cost of the software and added functionality they want is costly at times because of the complexity and unique nature of their business. Basically, the software is tailored heavily on how they do business and the specific business rules/workflow of that company.
- Credibility – If you’ve built a complex enterprise application for a business this may provide a sense of comfort for future potential customers. This can serve as marketing reference too, which can propel your brand and credibility in the industry — if you do a good job of course.
The two advantages listed above are indeed attractive components of running a customized shop but there are more disadvantages with this model in my opinion. These are listed below:
- No reusable value – What I mean by this is that you cannot use the solution for another client. The software is so unique and specific to your client that there is no market for it. Therefore, the code base or application has no re-sale value.
- More customization – My experience has been that once you build a version 1.0 for a client there will always be more functionality expected. More functionality means even more customization and further down the “customization” rabbit-hole you go.
- Difficult to price – I don’t care how long you have been in this industry every new custom project has its own unique functionality that you’ve never addressed before. This may require R & D and some roadblocks before finding a solution. Moreover, determining how much time it will take and how to price that out correctly is very difficult. Trust me, it is!
- Risk of termination – This one is big for me. If you are a software firm that builds customized software for a couple of clients then your risk of financial cash-flow may be threatened. For example, if you are a smaller software shop and have 5 big clients and one goes out of business, 20% of your business is now lost. What’s worse is that you now have software that is worthless.
- Difficult to grow – Chances are that if you are a software boutique building custom solutions you don’t have that many customers. By “that many” I mean over 10 or so. I mean even at 10 customers with large applications you are a pretty big firm already. Because every new client brings its own challenges and scenarios it’s difficult to grow accordingly. I will say that sometimes the price points are attractive so it may not be such an issue. Still, a SaaS type business can scale and grow a lot faster.
SaaS SOFTWARE MODEL
Building a SaaS business is difficult but has incredible upside if it is received well by your audience or target market. A couple of my recent SaaS favorites are: Intercom and Freshbooks. Some of the main advantages of such a model are:
- (Test) Iterate, rinse and repeat– Ah…my favorite of all advantages! Once your product has been properly tested and is ready for live market then it’s a matter of signing up users to use the service. That’s it. You do this over and over again without having to change the code base or application each and every time. In addition, if the system is built correctly, the onboarding process will be automatic and a new user can start using the software immediately.
- Sales positioning – Because everyone is on the same platform, this provides the business with great sales positioning. What I mean by this is that you can focus more on selling and not be overwhelmed with new tailor-made request or problem logs from 10 different customers. Instead, you can focus on one product and all development updates are published to the same environment. Again, just to reiterate, this allows the company to be more lean and to shift focus on selling the product over and over again — iterate, rinse and repeat.
- Decreased financial risk – With a SaaS model you generally want to sell your product to many users. So take for example that 1,000 users begin to use your product the first month. If there is a %2 churn (attrition) rate or 20 people drop the service at the end of that month you have only lost 2% of your business. There is less financial risk because the collective size of your user community.
Like any business model there are also disadvantages to note:
- No usage risk – Because you are building the software for your company there is a risk of your audience not receiving or using the software. Perhaps, the software is missing features or does not work as expected. There is always a risk that the software is problematic and users don’t appreciate the service. This is different than building software for a client because you know you will be paid a certain amount for the project.
There are definitely more granular advantages and disadvantages of each model but this serves as a simple analysis based on my experience. I would certainly recommend a SaaS type software model any day. The upfront labor can be exhaustive and tedious but it’s worth the effort. In my opinion, the better positioned a company is to sell and support an application the better. Then you can really scale and grow the business at a rapid rate. 🙂