Is 'Software As A Service' better than doing it yourself?
We often speak to potential customers who are weighing up the options between using a SAAS (Software As A Service) product and building something themselves (either with an internal team, or external partners). Here we outline some of our thoughts on things to consider while making this choice.
Awesome Software is a Process, not a Single Deliverable
Making awesome software is hard, but the key to doing so is understanding what makes software unique. For sake of example, let’s compare making software to making a table (I’m currently redoing my kitchen, so it’s on my mind!).
As it’s simpler, let’s first go through the process of making an awesome table:
- Go through Pinterest and get inspired
- Sketch some design ideas
- Check the ergonomics and that my chairs will fit with the design
- Buy some materials and tools
- Make the table
- Invite friends round and celebrate
And that’s it really, it’s a simple process that has a clearly defined requirements, outcomes and most importantly end to the process. We can be quite confident that it meets all users needs, or that my cutlery won’t update itself and suddenly become incompatible. I’m also fairly certain I won’t have 100 people turn up for dinner unexpectedly, giving me scalability issues, or that the expectations of my diners will suddenly change, and they all want to eat standing up. I also don’t need to worry about the latest security updates, I highly doubt a vulnerability in wood will be discovered that could allow somebody from China to remotely saw off a leg when I’m not looking.
For two key reasons, designing and building software is the antithesis of this linear process. Firstly it’s cyclical, with each iteration of the cycle improving the understanding of the problem, the users expectations and the functionality offered. Secondly, technology, especially web technology, is a highly turbulent and unpredictable environment.
The combination of these two factors means the software is a never ending process. The most successful technology companies are testament to this, in 2015 Facebook hit 1 billion users, but they didn’t just down tools then, their job wasn’t complete. Facebook has an estimated 3000 software engineers, constantly working on improvements and new features, making sure they stay ahead of the competition, that their apps work on the rapidly changing smartphone market and they have all the latest security issues under control.
SAAS or custom build?
So to answer the question, what is best, SAAS or custom, only you can decide! But, here are some helpful and important questions to ask yourself.
Uniqueness of your problem
Are you the only company that has this specific problem? What extra value are you hoping to deliver by building a custom solution rather than picking an off the shelf one?
Is this a key part of your business that delivers competitive advantage due to it’s unique technology or simply a tool used by your employees?
Product development cycle
If you’re building this yourself how equipped are you to constantly conduct user research, make visual design improvements and release app updates? The best SAAS companies are a very well oiled machine and drip feed updates on a daily basis.
Infrastructure, scaling and security
These are ongoing tasks that need to be managed. Who is in charge of security and penetration (PEN) testing? Who designs and tests the disaster recovery process? What happens when that person is on holiday?
SAAS makes it very easy to predict costs, even years ahead. This can be very tricky with custom software due to the aforementioned volatility.
I appreciate this article may appear biased towards SAAS over the custom approach, as a SAAS company it’s clearly something we believe in. One of my key motivators when co-founding Mo is that I was frustrated working for companies that delivered custom built software with no ongoing engagement with customers. I truly believed (and still do) this doesn’t deliver the best results in terms of costing or quality. There will always be situations where you need custom development, but our advice is to avoid it otherwise.