Monday, October 09, 2006

Reducing SaaS Operational Costs (II)

In the last post Reducing SaaS Operational Costs I discussed how utilizing two strategies, Automate and Delegate can enable economies of scale, so that the cost of adding new customers is marginal.

Following is a review of some of the areas in which these strategies will prove to be cost effective over the long run, and reduce the probability of the operation collapsing under pressure.

Professional Services
Remember - “customization – OUT; configuration - IN”. The software should be designed to allow maximum configuration without altering the code. This includes branding the software and, more importantly, allowing the customer to define names and custom fields to various entities of the product.
Build the architecture to support Web Service for painless integration with in-house systems, then Let your customers do the integration.
Train the trainer. Find the champion of your solution at the customer, and grow her. Help her promote the product and build a well trained team that will take the burden off your shoulders, including some of the sales and marketing efforts.

Operations
Provisioning should be a seamless process with no (or minimal) human involvement. A customer should be able to sign up to the service and the resources should be provided automatically. A customer-centric application is essential and administration should be delegated to the customer with multiple-hierarchy supported.
Client side components should be downloadable with self-installation. If the application supports an on-premise agent, it is essential that the backend application is version-backward compatible, to avoid the upgrade nightmare.
In order to ensure that the application is up, available and performing to the SLA requirements automation should be used to the maximum. This begins with monitoring the network, resources and the application. A dashboard should depict the status of all resources with the ability to drilldown to sub systems and components. Alerts should be used and crossed referenced in order not to create false alarms. Use automation scripts for self recovery whenever possible and keep extensive logging for postmortem of downtimes, because they are going to happen no matter how good you are.
And while we’re at it, make sure that R&D provides well-tested, easy-to-use data migration tools for version upgrades. Utilize change management and patch management tools and processes to lower costly human errors.
Maximize self help systems – FAQs & online knowledge base - to reduce customer calls.
Add new services seamlessly – build the capability into the application management systems.

Sales
Naturally, a SaaS offering reduces greatly the need for direct marketing and sales. Cyber sales will take most of the burden and referrals will become an important sales tool. Design a good interactive demo site and allow customers to test the application for a limited time as a proof of concept. This process should not involve human intervention on the ISV side.
If your service is becoming a commodity, allow for self registration and on-line payments. This will greatly reduce the sales cycle and the number of people involved.
Automate the metering and thus, the billing process.

Customer Support
Remember that a SaaS customer service rep replaces some of the functions of the customer organization's HelpDesk. That means that your reps will be getting a LOT more traffic than your average packaged software company. And when bad things happen, everybody will be screaming bloody murder and bog down your communication lines. Therefore have an updated status page where customers can view the responsiveness and availability of your production system(s).
A self service portal will go a long way to reduce the call volume. A rich and well maintained knowledge base will do that as well (check out all the Freemium sites - they will not invest in a non-paying customer, yet they want happy customers as bad as you do). User forums are also a great way to harness the goodwill and knowledge of the community to save on training and problem resolution resources.

In conclusion
The OSS (operations support system) should at least support provisioning, access, self admin, metering, and report tools. There are a number of available platforms for purchase that provide the OSS. They may be a good solution for your operation.

I have touched upon many areas and providing for full automation and the technology enabling delegation may not be available from day one. It is therefore imperative for the Ops team to work closely with product marketing, R&D and QA and to participate in product discussions and development planning.

Reducing SaaS Operational Costs

"Say, Tom, let me whitewash a little." (Tom Sawyer, Mark Twain)

Remember that quote of Ben from the timeless Tom Sawyer, who gladly gave up his apple to have the opportunity to do Tom’s work?

Cute, but how does that relate to reducing operational costs in a SaaS house? Well, at least fifty percent of the magic formula “Automate and Delegate”

In my numerous interactions with pure SaaS startups as well as with established ISVs transitioning to on-demand, I have encountered time and again the lack of planning for a robust Operations Support System (OSS).
Whenever I bring up the potential hazard of non-scalability I hear the same response “we wish that were our problem” or “we’ll deal with it when that becomes an issue”, secretly wishing that it will become an issue fast enough.
The logic being - let’s make sure our software works as a service and that we get traction. When we’ll have more customers than we can currently support efficiently that would be a success milestone.

I’m sorry to break the news but when that happens you might find yourself with a catastrophe waiting to happen (see Chronicle of a Death Foretold).

The profitable SaaS operation utilizes economies of scale when the cost of deploying, say, 100 customers is just marginally more expensive than a single customer. In an ideal world, the hardware and software infrastructures costs should remain the same; bandwidth utilization should not change dramatically; storage needs will expand more or less proportionally to the number of new customers, while the support staff should remain steady and perhaps increase slightly.

So what costs are involved with the growing SaaS business? There is the hardware, bandwidth, software licenses (e.g. databases), customer care, and the inevitable marketing and sales. Human resources are still the greatest expenditure for a software vendor.

Careful planning – ‘doing things right the first time around’ can make the difference between a profitable operation and one that is bleeding the company.

In order to maximize your margins, you must reduce human intervention in every aspect possible. There are two strategies, that when applied in concert, can do just that. They are Automate and Delegate.
Automate means let technology do whatever task that would otherwise require manual work.
Delegate means enable your customer to do whatever task that would otherwise require your team to handle. Remember Tom Sawyer?
Obviously these stategies will necessitate a technological infrastructure to support it.
By carefully planning your application and operational environment you may achieve a high level of automation and delegation.

In my next post, I will review the areas in which these principles can play a major role.