Moving from Packaged Software to SaaS
It’s probably no surprise to our readers that many old packaged software companies are attempting to take their software and hence their business models “online”. And why not? The model is attractive and benefits accrue to both the providers of service through software and those who outsource portions of what was once bothersome internally hosted software. The providers benefit from economies of scale in hosting that generate attractive profits for the provider and savings for the customer, lower maintenance costs resulting from custom customer deployments, predictable revenue streams fostered through closer customer contact, more frequent and smaller releases that reduce risk and faster implementation times that result in faster profit recognition. Customers benefit from outsourcing non-core IT functions, providers who specialize in delivering specific services, lower capital expenditures and faster deployment times. SaaS is both a desert topping and a floor wax! It’s the cure for cancer and the answer to the riddle of life!
But what many of these companies don’t realize is that the way one architects a product and runs a company focused on service delivery is simply different than the approach of a company focused on delivering software. Customers expect that you are going to give them higher availability and fewer headaches. Software alone simply won’t meet this goal; it is imperative that one design SaaS systems holistically which in turn requires skills in both infrastructure and software architecture (or “systems” architecture). The cost leverage necessary to both increase profit margins and decrease customer cost typically requires multi-tenancy which has its own share of headaches. Fault isolation and rollback capabilities are a must to minimize customer impact and mitigate rapid deployment risks.
It is not enough to simply bundle up an application in a hosted fashion and label yourself a “SaaS” company. If you don’t work aggressively to increase availability and decrease your cost of operations, someone with greater experience will come along and simply put you out of business. After all, your business is now about SERVICE – not SOFTWARE. This is a fundamental mind-shift that some companies simply can’t overcome or maybe simply don’t recognize. This isn’t to say that a good engineer or product manager can’t be equally good at developing packaged and SaaS applications, but it does mean that the approach is completely different.
Stop trying to figure out how to leverage your existing assets with minimal work and start thinking about having two different products. Or, determine which business you want and kill the other one off. If you decide to keep both products alive, you can share services and code between these platforms, but you should not do so at the expense of optimizing your SaaS solution. Attempting to satisfy both with a single architecture will likely result in you failing at both.