Friday, November 22

first 5 steps to building your own SaaS application by Mukund Mohan

This post is for non-developer founders who want to build a SaaS application. Before writing about 5 steps to make SaaS application it’s important to know about “What is Saas?”

SAAS, or “Software as a Service” in general refers to a software application which is hosted by a provider on their own servers, but accessible to users across the Internet. In other words when using a SAAS application the data and functionality that create the user experience are being delivered from the provider’s servers and not installed locally in the user’s own computer or intranet and users could help to keep the cloud protected through saas monitoring tools.

SAAS solutions have benefits both for the provider (infrastructure is one place, no need to support many OSs, can upgrade services to all users in one place) and users (the service is normally instant to set up, available from anywhere and competitively priced). On the other hand, data is stored at the provider’s site – hence some organisations are unwilling to use SAAS solutions for some applications..

Salesforce.com, Mint.com, Mailchimp, and many other services people use day to day are SAAS services.

5 steps to building your own Saas app

Software as a Service (SaaS) is a relatively small market – at $19 Billion in total revenues, it seems large, but compared to $250 Billion of the overall custom software development market it seems minuscule. It has grown from nothing to this large number in the last 10 years. Similar to the eCommerce market, which seems large but is less than 15% of overall retail, the opportunities will start to be in the niches is my prediction with some companies using something similar to saas ecommerce for their online businesses.

The big question is when and how will it grow and where are the opportunities. While there are many specialist firms focusing on SaaS alone, the incumbent software companies (the largest of who are Microsoft, SAP, Oracle, etc.) are also making their own investments to move their businesses from selling licensed software to services.

One of the key opportunities I see is that ability for smaller, niche markets to be targeted using SaaS. Since the deployment model, time to value and cost are so much lower now than 10 years ago, it is easy to build a niche product that can gain rapid fan following among the target customers and *if that customer base* does grow and end up having more budget it can be a lucrative market.

I do get the question often about the steps to build a SaaS business. Even if you don’t intend to build a Venture funded business, the economics of SaaS are determined by cost of customer acquisition (CAC) and cost of servicing the customer (developing, operating and maintaining the software).

What I am increasingly starting to see is that most prototypes are either built by a developer founder, or outsourced (by a non-technical founder) to “prove that the market exists“.



The first 5 steps to building your own SaaS application

1. The first step

I’d recommend before you start development, is to sign up 15-20 beta customers. Target people you know well who will stick through your crappy alpha, beta and version 1, so you can convince them that the value does exist when you iterate quickly.

For early beta customers, there are many techniques you can use including:

a) Setting up a launch page and promoting that launch page on social media b) setting up a launch page and buying Google

b) Setting up a launch page and buying Google adwords to drive signups and following up with signups via email c) blogging about the topic to share what you know about that market d) interviewing influential users before you launch

c) Blogging about the topic to share what you know about that market d) interviewing influential users before you launch

d) Interviewing influential users before you launch or

e) Set up an email newsletter of great content for that industry and have many potential users subscribe to that newsletter.


2. The next step –

Create an activity model and user flows to ensure that you can know exactly what are the top 3 features you need to implement first which will make your product “must have” to solve the problem for your users.
User flow Diagram

In fact if you can identify the top feature (just one) that people will come back and use every day, you should be good to go to the next step. Validate the top feature with your beta customer list, so you are building what they will use.


3.The third step –

Create a mockup using wireframes to show the screens your user will go through and the experience as well. I would get a lot of feedback on the list of steps and screens before I build the prototype.

Iphone Wireframe

Typically in your first pass stick to under 7 screens would be my suggestion. That’s enough for a 45 second to 1 min “demo” and should give your users a feel for what the app will do. If they ask you for “one” feature that matters more to them than the ones you have, don’t mock it up yet, but put it on your list until you have enough users interested.


4. Design your database schema –

A database schema is good to share with your developers entities that exist in your application and what their relationship are. I tend to use DB Schema or just Freemind to show to fields without the datatypes.
DB Schema


5. Understand and select your “stack” –

Even if you want to outsource your application development I’d recommend you talk to a few developer friends who can educate you on the stacks they use – what the front end languages and libraries would be, what the back end language would be and the database options. You will be more confident when you talk to your outsourcing company and also be able to help make tradeoffs when you need them.


Note: The article first published on Mukund Mohan’s personal blog