All posts by Dmitry Sotnikov

Turning a Software Product Company Into a Cloud Company

From 2011 to 2015 Software as a Service (SaaS) adoption in enterprises grew fivefold from 13% to 74%. The trend still continues with public cloud services worldwide growing by 18% in 2017. With this growth, the pressure to become a cloud company in order to remain competitive is increasing.

We at WSO2 have already gone through the transition and in this blog I would like to share a few experiences and give you some pointers on becoming a cloud company. This will help you to go from being an on-premise business to adopting a cloud and as-a-service model. First, let’s explore why you need to make the move. Being a cloud company brings many benefits for both you and your customers.

Here are some of the customer benefits that we identified:

  • Customers don’t have to pay a lot of money upfront, so the cost of entry becomes low.
  • With the pay-as-you-go model customers don’t invest a lot of money unnecessarily.
  • Everything is already set up by the vendors so customers can go-to-market faster.
  • Customers don’t need to maintain infrastructure and can now outsource their operations including uptime, upgrades, and security.
  • Most cloud vendors care about having APIs and integration points so customers can typically integrate their system with other solutions.
  • Customers can easily scale up or down as required.
  • Web user interfaces are mainly used so they can work from anywhere.
  • Since these are shared deployments customers have an entire community around them that will help find bugs and fixes before they even notice them.

Also, there are quite a few vendor benefits that you can reap:

  • Its cost-effective delivery model lets you address new markets with lower expenses.
  • By enabling a self-service model for your customers you can cater to lower levels of the market as well as to larger geographies.
  • You receive faster feedback on your products because customers will notice any faults and let you know immediately.
  • There is less shelfware because people start using your products much faster and the chances of them buying a license and not using the product at all are low.
  • Because of this you gain recurring revenue and adopting a subscription model rather than a booking model allows you to predict next month’s revenue much better.

Now that you know why you should become a cloud company, ask yourself how this would affect your organization. Moving to an as-a-service model affects every single part of your organization including research and development, operations, security, sales, presales, support, and finance among others.

Research and Development (R&D)

In the waterfall model teams typically work on one big release every year or so and follow that up with a wave of upgrades for enterprise customers. The iterative cloud-first model is much faster. For example, if a product manager identifies a new market segment your team will be able to easily get the new features out in weeks or even days. The feedback they receive will also be faster since people will start using the features as soon as it’s released. This can be a very gratifying experience for developers but if something doesn’t work, they can’t make excuses and blame the customer for not configuring it correctly.

This also impacts testing, upgrading, and troubleshooting. Testing is key. There is lower tolerance if something is not working because it affects everyone using it, not just the client who happens to deploy it first. You need to pay a lot more attention to automated tests, acceptance tests, staging environments and more. Since it’s a shared deployment, teams get access to shared files, environments and servers that allow you to troubleshoot and fix issues faster.

You need to make sure your products are ready for the cloud before you launch them. They need to be able to scale for growing numbers of customers. When I first joined the company, the products were able to run in multi-tenant mode, but when we scaled for thousands of customers we started having issues which we needed to fix.

Usability is another aspect that customers have high expectations for. Cloud users expect a seamless experience that makes it easy for them to understand, configure and use the products themselves.

Designed by Freepik

Operations

In typical software companies, the extent of operations includes an internal information services team that maintains emails, WiFi, etc. Apart from this they provide a team that goes to customer sites, when the need is required, to help them deploy and fix things.

When you become a cloud business, operations become a key factor. You need to have a team that is dedicated to updating, installing and monitoring your services to make sure they are up and running all the time. Your need to hire or grow a team with a different mentality from traditional development. Pick some engineers who may be in development but have the ops way of thinking. On one hand, it’s very gratifying to know that the systems are up and running and the customers are happy because of you. On the other hand, it’s very different from normal development work where you just write the code and people use it. It’s also a 24/7 role because we now live in an era of globalization where either your customers or your customer’s customers have clients all over the world.

Cloud also increases the visibility of failures. Your customers will quickly notice if something is wrong so you need to introduce new processes for security, postmortems, shifts, and rotation models and implement an alerting system that lets your customers know if something is broken. Monitoring is also key so that you get early warnings and end up preventing a fire rather than putting it out.

Designed by Freepik

Transparency

That’s why you need transparency. When we first launched our cloud we were not very transparent. When things went wrong, we worked on fixing them but a lot of the times customers would be confused as to whether it’s something they’re doing wrong or if it’s something wrong with the service. We have implemented an uptime dashboard so that all our paying customers can check whether the services are up or down. We have also implemented a notification system that sends an email alert to customers when there is an outage and again when the problem is fixed. They also receive postmortem reports for further insight. When our formal SLAs with uptime guarantees are not met we give our customers credit.

The most important thing is to communicate. Cloud is a services business so you need to be very transparent and let your customers know what’s happening. They need to trust in you and your service, understand how the system works and know exactly what they are getting from it.

Security

Culturally in most industries today, cloud and SaaS is accepted. But security is a key factor for a lot of customers when choosing a cloud vendor. There are compliance factors that need to be in place. For example, if you have payments in the cloud then PCI compliance is a must. You need to conduct audits, have an internal security team and use external security services. You need to use encryption where ever you can.

In general, make sure you document all your procedures. Document the way you work with your software, run the server, etc. We ourselves have a fairly long security processes document that we share with all our customers, which validates to them that we treat security as an extremely important factor.

Source: http://www.zdnet.com/article/industry-cloud-research-security-and-data-protection-is-still-the-most-important-feature-for/

Sales

Currently, you have an existing sales team and existing products that you sell. When cloud comes into the picture, it will have an impact on your sales. You need to consider a few factors with regards to this:

  • Decide whether to let your team sell both the enterprise and cloud products or the enterprise product first and then the cloud as a service.
  • Decide on what the pricing levels should be if your service needs to address lower tiers of the market.
  • Figure out how to protect your larger enterprise sales from being cannibalized.
  • Make sure you offset the old revenue with your new revenue.
  • Give a clear message to your current and future customers to decrease the confusion caused by introducing these new services.
  • Distinguish between the customers who can take advantage of self-service and those who will need more help.

At WSO2, we try to align our pricing for cloud so that even people with lower budgets can use it. Our sales team actively promotes our cloud services to those customers that fit the model best. We get a smaller revenue from these customers but at the same time, we don’t spend as much time and effort to enroll them and customize their solution because of the self-service feature. It’s a win-win because our account managers can focus more on our bigger customers who need more assistance.

Designed by Freepik

Pricing

You will have to experiment with pricing. We’ve been doing the same. There are three main pricing model: freemium, trial and commercial. Some vendors will offer their solutions for free at certain tiers. In our case, we have a free trial because we found that optimal for the nature of our solutions. Overall, try to make the pricing predictable and easy to understand for your customers. Charge in terms that make sense to your customer rather than based on the resources you spend, but also do your math and make sure you don’t lose money.

Presales and services

How do you go about hand-holding? Is it okay for customers to work in a self-service mode and understand how to use everything on their own, or do they still need help with customizations? You need to be able to distinguish between smaller issues that customers can deal with on their own and bigger projects like customization.

Then, you need to figure out how to serve customers across geographies. What can you automate and what requires human presence? For example, you can embed some tutorials and run automated nurturing campaigns during the trial period so that they can easily understand how to use the service efficiently. You also need to have a way for your customers to request for help, either through a ticket-based model where customer ask for help as and when they need it or on a project-based model where for example, you work with them to create a proof-of-concept.

Support

You need to create a support model that works for you. Will you give a certain amount of community support through user forums? Would you prefer ticket-based support? Will the product team handle support or will you have a dedicated team? These are the questions you’ll need to ask yourself. At WSO2 we have a rotation model for support. The engineers who actually work on the products work in the support team on rotation, so they know exactly what the customers want, what issues they might be facing and how to quickly solve them.

Designed by Freepik

Finance

Typically for enterprise software, finances are calculated from a bookings perspective. You record it as soon as you get the deal. Cloud follows a subscription model with recurring revenue. With bookings, you can’t really predict the actual amount of revenue you will get. Looking at your monthly recurring revenue (MRR) is a good way of predicting next month’s revenue and how much you are growing.

Average revenue per customer (ARPC) is another important factor to consider. When you grow that figure, it means that you are getting more money from the richer customers, so you can spend more money to attract new customers.

The churn rate is also very important. The lower your churn rate (meaning the customers are happy and stay with you longer) and higher the average revenue per customer – the higher your lifetime value (LTV) from a customer is. If your LTV is higher than your customer acquisition cost (CAC), then you can spend more money on acquiring customers and make more money from them.

Becoming a cloud company has a cultural impact throughout your organization. The factors we talked about previously are all departments and teams in your company. They need to change the way they think and do their work. You can either go into this by creating smaller teams that follow the new model and work beside those that follow the older model and incrementally shifting to an as-a-service model or with a big bang where all your teams are transitioned to the new model at once. I would recommend you to start with some projects and dedicated teams, show their success and expand the team. This way you don’t disrupt any of the existing products and teams but coexist during this transition.

I hope this blog has helped you understand what it takes to moe to the new cloud and as-a-service model. For more information you can watch my webinar on this topic. Good luck!