Things to Consider When You are Building a SaaS Product From Scratch

Written by anands | Published 2019/11/24
Tech Story Tags: saas | software-development | product-development | startup | scalability | saas-development | founder-advice | latest-tech-stories

TLDRvia the TL;DR App

SaaS is not a buzzword in 2019! It's a proven, efficient and most widely used model to deliver software to customers. SaaS stands for software as a service, which means the software is delivered as a continuous service over the web/internet where the customer doesn't have to download and install the product on his system. Examples of popular SaaS products include Zoho, Salesforce, Mailchimp, Twilio, etc.
Having built and scaled a SaaS product to several hundred millions of users from scratch, I've gathered valuable knowledge and experienced in various aspects related to building and maintaining a SaaS software. I'll share some of the key elements to consider while building a software product that you plan to offer in the SaaS delivery model. If you're thinking to build your first SaaS product, this article will help you get some ideas.

Test The Waters

It may not be calm as you see. Look for sharks inside!
Developing a SaaS product can be very costly unless you're an expert programmer and willing to spend all your time inside a room coding. SaaS development projects will have cost anywhere from $50,000 to $1M depending on the complexity and the stage you're in. So, before you invest your time and money in developing a full-fledged SaaS product, you should test if it's worth the effort by building a quick, low-cost MVP.
As in every business, find your target customer segment. To whom are you going to sell this product? -This is not as easy as it seems. You might have several intuitions about your target customer which is likely to be wrong. You might be entering a market that is ruled by enterprise companies, or the market size of your product is too narrow that you can't make a sizeable income.
And when it comes to finding your ideal customer persona, it should be laser-focused. You should be able to define a clear and crisp profile of your ideal customer!
During the initial stage of Engagespot, I assumed that our target customers are digital marketing agency owners and tried to sell the product to them. After spending a lot of time and effort, I realized that Engagespot is just a small module inside their already existing digital-marketing suit
It will take you several iterations, and customer interactions to refine your customer profile! Once you find the right product-market fit, you'll feel like you are being chased by customers!

Don't Re-invent the Wheel

Wheels are already made and perfected by others. Don't re-invent them. Just use it!
When you're building a SaaS product, several components are common for any SaaS apps that you need to build. But don't build them! Instead, look for companies that offer such modules as SaaS offerings. This will not only help you save months but also takes away the overhead in maintaining such modules. Hence your team can spend more time building and refining your core features, instead of coding some fancy invoicing templates!
There are several third-party services that you can use to speed up your SaaS product development time.
ChargeBee - Their platform takes away the pain in building the subscription module for your SaaS product, which includes monthly billing, invoicing, account management, pro-rata billing, multi-payment-gateway integrations etc.
Engagespot - This is my product, that helps you save time by quickly adding user notification support on your SaaS product. Every web-based product will have a notification center where users can see important notifications and alerts. Even though it looks simple, it needs a lot of effort to build that component. With Engagespot, you can add a complete notification system in less than 15 minutes.
Algolia - If your product has complex realtime search features that search millions of records, stop trying to optimize and make it as smooth as Google search. You're likely to fail! Instead, try Algolia.

Build for scale

Will your product withstand the growth if you get lucky overnight?
You may not need to consider the word "scale" if you're building an MVP just to test the market. But after you've found the product-market fit and ready to onboard hundreds of real paying customers, it becomes critical.
Sudden growth is something that I never expected while building my product and that's a mistake every new SaaS founders often make. For me, it happened when a website with comparatively huge traffic began to use my product and that sudden surge froze the product!
I didn't foresee the potential bottlenecks while I was architecting my product as I never expected such a spike event. Later, I had to optimize the codebase and database to withstand such load spikes.
If you are building your product v2.0, then you must architect it for scalability. You need to identify the areas where there is a chance for your SQL Queries to slow down or your in-memory array processing will crash the server. It's not as easy as it sounds.
You need an experienced software architect who had worked on similar projects who can predict such scalability issues and design the architecture accordingly. 

You need an assembly line

You need an efficient pipeline like this, to build and release new features to your SaaS product
You've finished coding your product, tested it properly and made it available to your customers and they started using it. And you become a millionaire! - No, it's a dream and far away from reality.
Your SaaS product will never be finished and it shouldn't be. Once your customers start using your product, you'll see bugs and issues that might have escaped your QA process. It's fine and it happens! But the real question is, how will you fix it and release it to your customers quickly without affecting the current system?
This is where the importance of defining a delivery pipeline becomes critical. During the early stage of my SaaS product, I give little or no importance to software delivery at all and that was a recipe for failure. When bugs are encountered I fixed them and pushed directly to production and Boom!
The entire system went down due to an unknown issue. Then I had to change revert the bug fix and identify what happened. This can seriously affect your business if you have several paying customers.
Consider new feature releases just like a car in its production assembly line. It needs to go through several stages, automated and manual.
And you need an efficient DevOps platform like Jenkins, Travis, Gitlab, etc combined with a test automation tool like LambdaTest to handle the continuous release of new features to your product without affecting the existing system.
Change your mindset that software will run by it's own once deployed. Software development is a continuous process and it needs regular updates, maintenance and support to keep your customers happy.

Measure from day 1

The way you think is not how your users think.
This is a very important thing but often neglected by founders while building their product. What I've learned from building several SaaS products is that our intuitions are most likely to be wrong! We cannot trust our intuitions to build a new feature thinking that it might be loved by users.
From day 1, you should use analytics software to measure and track your users and the way they use your product. If your customer base is low, you can even consider using a session recording tool like Smartlook and watch how your users are behaving. 
I used session recording to understand why most of my customers are not going beyond a particular step in the onboarding process and found a serious design issue that was making them confused and thus leading to abandoning the product. 
You'll never know how your customers use your product unless you track and measure using good analytics software. It can even give you ideas about which feature to build next.
Building and scaling a SaaS product is an exciting journey with countless things you can learn from. But if you think you don't want to reinvent the wheel, it's better to learn from other SaaS founders and developers who have already walked the same path before you.
What I've shared here is some of the basic things that you need to consider while building your first SaaS product which can help you a lot in your journey forward. All the best!

Written by anands | Founder @ https://logidots.com, Simplifying software development
Published by HackerNoon on 2019/11/24