CelloSaaS Multi-tenant Application Development
SaaS Application development

SaaS ISVs – Don’t run fast, run smart; coz there is no finish line

Many SaaS ISVs, particularly start-ups, tend to overlook the difference between “running fast” vs. “running smart”. If you ask me the difference, it simply boils down to the question of “how long?”. While you may have the energy to run fast, what happens when there is no finish line? You naturally tend to slow down as time progresses. Finally you might even reach a stage where you may crash down. The same happens for SaaS ISVs when they don’t plan their strategy well.

SaaS_Application_Development

Above is a typical path that ISVs rush to get their SaaS product out in the market. But they tend to overlook on what happens after they start getting customers, and more customers. Following are the some of the challenges they start facing (rather start thinking) along with the typical short-cuts they tend to take. I have also mentioned the long term impact that could be caused by the short-cuts.

 

Challenge Typical Short-Cut Taken Long Term Impact
Product performance is dropping with every customer addition. Product is not scalable. Let’s create separate instances/machines and move some customers You will soon start paying huge sum of money for infrastructure. Moreover, managing multiple deployments with support for redundancy is a killer.
Customers are asking too many changes as part of implementation. Hence, implementation cycle is taking long time (and more money). Let’s hardcode the requirements without spending too much time on design or making it generic. You will have multiple hardcoding done in several parts of your product, which will make maintenance a nightmare.
Customers are spread across different subscription plans. Product is not functioning according to the chosen subscription plan. Let’s manually hardcode the settings for each tenant in the product. Increased product complexity.High chances of mismatch in subscription vs product functioning.
Customers are asking for pay by use option. There is no mechanism in the product to find out how much each customer is using the system? We can do a query and find out from the database Extreme levels of operational overhead to keep constructing these queries for each tenant. Moreover, highly error prone as it’s done manually.
Customers are not happy to keep sending cheques every month. They would like to pay the monthly charges by credit card We can use an external e-commerce provider. Additional cost overhead as you will have to give a cut to the e-commerce provider. Moreover, you still have to manually sync up the payment status with your product. For ex: what happens if a credit card fails and payments are not through? You product will still work unless someone manually deactivates the customer.
Leads are asking for the trial version of the software. Product does not have the capability to handle trial scenarios. Let’s give them a sandbox account. Once they sign-up we will move all their data to the production environment. More workload for support team. Downtime for customer right after signing up – Not a great way to start the engagement.
We are several days late in sending the monthly invoices to customers. Reason – too many subscription plan and too many customers Let’s add more staff to speed up invoicing. Your operational cost is going to keep going higher as you get more customers.
Too many questions from customers on the billing details. They want more transparency in the charges applied to them. Let’s prepare a detailed break-up of the billing and send them a report. Once again, this is not scalable. Moreover, this is extremely time consuming. Any errors in this process can lead to losing the customer.
Support team is getting lots of requests/tickets. Our response time to customers is getting higher. Let’s add more support staff and bring down the response time. More operational cost, delaying your break-even period and affecting your profit margins.
Customers are asking for some ad-hoc reports. It’s taking quite a lot of time to create them. Keep adding more staff By now you know what the impact is – more money spent!
Leads are asking if our product captures security audits Let’s write a separate utility to capture the data from the database and generate a report. When the data grows this utility will slowdown, and as well affect the performance of the live database.
Customers would like to change the content of the email that is going out of the product. Ask them to send the details to our support team. We can take care of it. These are the most typical requests that can keep coming from customers all the time. You need to have dedicated resources just to handle this request.
Customer has requested for a change in the business process workflow, but is not happy about the effort and cost charged by us. Let’s hardcode the changes and finish it quickly. If required, let’s take a separate version for this customer. Increased product complexity. Maintenance nightmare. Managing multiple versions can lead to more overhead.
Customer is requesting an additional field in one of the screens. Hardcode!!! Operational Overhead!!!
Customer is reporting performance issues with our system, but we are not sure what is causing it. Let’s ask our engineering team to stop their work and diagnose this issue. Your roadmap is going to get delayed quite a bit, and other customer commitments might slip.
It’s becoming increasingly difficult to track the payments and overdue cases. Let’s add more support staff Increase in cost
We have too many customers taking up trials. We have limited bandwidth and don’t know whom to focus on. Let’s add more sales people Increase in cost
Due to the increased product complexity our developers are taking more time to complete enhancements Let’s add more development people Increase in cost
We are talking to a large lead who wants to implement our product in each of their geographical locations, but would like to control the product and get a consolidated view from the head office. !@#!#!@$@!@#$@!@ You must have started seeing little stars around your head by now.

 

The fundamental and critical factor to be noticed is that SaaS is not just your “product” but the complete setup of how your product is designed, delivered and managed. One should also note that SaaS works under the recurring revenue model, which imposes constraints on your spend capability.

Cello realizes this and has put together the SaaS Life Cycle Management Solution, which can solve all the above challenges and much more right from day 1 of taking your product to production. Please refer the following site for more details http://slcm.techcello.com

If you are an ISV thinking of building a new SaaS product, please read this whitepaper “Building a Scalable and Profitable Business”. This could completely change your SaaS Strategy, but for a good reason.

 

Print Friendly

Janaki Jayachandran

Janaki serves as the Director of Technology at Techcello. Janaki has more than 15+ years of software development experience. He is responsible for product engineering, support and evangelization of Techcello. Prior to Techcello, Janaki worked with Aspire Systems as Delivery Manager and Practice Manager focused on Microsoft Technologies and SaaS/On-Demand product development. He has worked with several ISVs and enterprises in building multi-tenant, cloud enabled products. He has travelled widely across the US and UK for working with various customers. Janaki is an ardent cloud enthusiast and a prolific speaker at various cloud conferences including Interop, SaaS University, Cloud Connect and Euro Cloud.

More Posts - Website