Rules of SaaS to Live By

Learning baseball is certainly about the fundamentals but it’s also about knowing the rules. You can certainly have fun in the backyard playing catch and practicing your curveball. However, when it comes time to head down to the sandlot you need to understand how the game is played. The same is true for business sectors and technology.

The rules of baseball inforgraphic

Baseball rules infographic

You have to know, or learn, the rules for the space you’re in to avoid making big mistakes. If you’re platform as a service company, you need to know how’ll you be measured. If you’re an enterprise software company, understanding what your customers expect will be crucial in designing the right team and technology to grow. A lot of my career has been in the Software as a Service (SaaS) space, discovering the rules we have to live by.

The “golden rules” of SaaS

1. Multitenancy: Your system should be able to manage multiple customers on the same server/cluster. This gives you a lot of economy of scale to increase your sales without needing to constantly add new servers or clusters for each new client. Additionally, you should be able to move a customer to a new server easily to rebalance as needs grow. This will give you flexibility to make sure each system is appropriately loaded.  It will also help ensure customers are only minimally impacted when you experience performance degradation in a particular server or environment.

2. A single version: For your SaaS company to truly scale with the customer growth you must run only one version of the code. If you’re writing custom code or features for individual customers you’re bending more towards an Enterprise, Consulting, or Services company.

This should include all forms of software, not just your server side code. Even HTML, CSS, JavaScript can cause significant issues. Get into the habit of making all customizations to your product backed by a configuration which can be easily toggled by non-engineers (or even customers themselves.) One way I’ve successfully accomplished this is by storing configuration in the database and creating a simple UI to manage the settings. The huge benefit here is that you’ll have a much more predictable process for testing, and the ability to data driven analysis of which features customers have enabled.

Breaking the rules?

Violating these rules is a form of technical debt. No question about it. A large debt. If you’re measuring yourself up against the top SaaS companies out there, and you have broken these rules, it’s going to be a very difficult road. Your server or implementation costs will significantly outpace your competitors. You’ll be slaved with significant rewrites/refactors to correct these mistakes. Or, you’ll have to change your business model and expectations as you move to become more of a consulting/services organization.

What other rules for SaaS companies have you discovered?

Drop a comment to let other’s know the rules you’ve discovered.

Also published on Medium.