There is much demand for SaaS these days from all manner of companies. Indeed, the cloud has been – and will continue to be – one of the greatest assets to the modern business, and particularly SMEs. With monthly pay-as-you-go pricing schemes lowering barriers to entry for even the smallest of businesses, combined with flexibility, scalability and accessibility, it’s no wonder that the future will skew increasingly towards SaaS models as time presses on. But there’s a problem. You know that you’re not going to be able to build, deploy and maintain the product all by yourself – so how do you go about choosing the perfect SaaS development team that’s going turn your idea into a very lucrative reality?
SaaS (Software as a Service) is a wonderful thing. Programmes exist in permanent state of beta, which, far from being a bad thing, simply means that users of the software can expect an almost constant stream of updates and upgrades – all included within the same monthly (or annual) fee – for as long as they are customers of the product. It certainly beats licencing models, where expensive upgrades would have to be forked out for every couple of years – or not, if it was simply beyond the SME’s price range.
Yes, SaaS is most definitely the future, and there are many technically-minded entrepreneurs out there who are now focussing their creative energies into coming up with ideas that embrace this model, with big ideas about how many people are going to benefit from this great new product, and the thousands (or millions!) who are going to sign up.
Indeed, you may have dabbled in some development in the past – perhaps built a few apps, or what have you – and now you think you’ve got the perfect idea for the next big SaaS product. Learn why you shouldn't do it all by yourself.
Of course, you may harbour the idea that, since you already have some basis in coding, that you’re going to be able to take on the whole project yourself. However, there are some things that you need to take into deep consideration before embarking on such an endeavour.
These are, in no particular order of importance:
SaaS is a very specific type of IT product, which requires expert knowledge from whomever is behind the development, as well as special qualities in the workflow. Whilst it’s most certainly true that the success or failure of your project won’t rest entirely on how well-built your software is (SaaS means permanent beta, remember – which means you will always be able to update and improve), it nonetheless needs to be pretty much robust and bug-free if people are going to actually adopt and use this thing. In many ways, so long as your SaaS is solving a genuine problem, and your vision is near enough met during the build, then you will have the basis for a very successful product. However, a people don’t buy into a basis – i.e. if you want to be successful, then you’re probably going to need stronger coding skills than what you can acquire from reading a few blogs, books, or taking an online crash course.
One fundamental of building any software is of course extensive testing. Many development houses these days go in for an Agile development approach, where multiple testing is conducted within each iteration of the build. This is indeed an extremely effective way of building software, for it means that various additional functionalities can be added in relatively short time frames to the software product. But how and where are you going to test all of these mini-updates that you build and release? You will need to know how to deal with bugs that you find within each iteration, and, doing all of this alone is not simple.
You can’t. In fact, there are probably very few occasions where just one person can accomplish the whole build – let alone the marketing and the maintenance – alone. Besides, if you’re just doing it yourself, there’s no one there to challenge your ideas or test your code. To be frank, it spells disaster. Far better is for you to establish yourself as the technical founder, but then to go into a partnership with someone who’s purpose is to market and sell what you have produced, and then outsource a team (and it can be a small team) of professional developers who know exactly what they’re doing.
Indeed, what you have to think about is the fact that, if you are determined to tackle this task by yourself, you are essentially going to have to be founder, project manager, developer, marketer, salesperson, client service and quality assurance all in one fell swoop. Be honest – can you really handle all of this responsibility alone?
The likelihood is that when you begin to develop your SaaS product you will be able to rely on just the one programming language and one framework to begin with. And that might be ok for a while – and of course you might not have any other choice if you’re only versed in a single language. But, what happens if it turns out that you need to learn more languages to achieve what you want for your product? Does the whole project get put on hold whilst you take yourself back to school to get to grips with code that is completely new to you? If so, then surely you’re going to need to build a few basic programmes first whilst you’re learning, then gradually work your way up to more advanced constructions. How long’s that going to take? Six months? A year? Longer?
These are all questions that Doug Keefe goes at length to answer in his brilliant LinkedIn post ‘What Language Should I Use For My SaaS App?’ I’d encourage all those who are considering developing a SaaS product to read the whole thing – whether you’re planning on hiring in a development team or going it alone – but the key take away from it is that there is no silver bullet. What you want your product to do will probably be achievable in many different languages – but do you have the knowledge to make the right choice, and the skills to move from one technology to another should the need arise?
Ok, so I’ve played quite a lot of devil’s advocate here in trying to communicate the risks and the pitfalls of taking on a SaaS build alone – especially if you only have amateur skills. What I hoped to do in writing this was to raise some questions about what exactly you need from a SaaS development team when tackling such an endeavour, and in part 2 of this blog I am discussing the answers.