Probably, you have already read umpteen blogs and books on how to build a SaaS business. Or, maybe you’ve gone further and conducted some smoke tests to validate your SaaS startup idea with real customers. So now you need to find a development team to convert your idea into a product that you could market.
We all know (at least in theory) that to build or renovate a house, we would need to create a concept, scope of work, make a design, calculate the budget, find builders, buy necessary materials, arrange and monitor building process, and so on. Now imagine that creating a SaaS application is the same as building a house with its specific steps to follow.
This guide is for those who are going to move from theory to practice and want to understand what steps to do next! We propose you to follow us and peek into the development kitchen to get a better understanding on how it all works! Ready to start this journey?
There is hardly any person who does not like traveling. Creating a product can also be regarded as a trip from point A to point B, and then to C, D, and so on. As a journey starts with a wish to go somewhere, the development also begins with an idea. Then, you start researching for useful information to understand what steps you should do to make your wish come to true.
In this article, we will suppose that you have already formulated a clear purpose of the application that you are going to build. You have investigated the pain points and unmet needs of your audience, and know how to solve their sufferings with the help of your product. Even more, you may have already tested your idea on a group of people with the help of surveys, presentations, landing pages or other methods to seek audience feedback. Also, you may have created a list of features and a high-level description of business logic. Usually, at this stage, the business part of SaaS creation ends and you need to move to implementation and find specialists that will help you with the technical part. So, what can you do next?
Here is our guide to make it clear.
You should focus on the single most significant feature to deliver it as soon as possible. Also, use a chance to test your SaaS idea with real users who will gladly give you feedback. After that first launch, you will have an opportunity to make changes and add new features.
If your idea doesn’t get a lot of support from customers, at least you will not regret spending years and many thousands of dollars on development.
To identify which features are the most important, start from the epicenter of your solution and ask yourself if your app fulfills its main purpose without each feature or not. Features the app cannot live without should be done first. Here is a very good metaphor from Basecamp’s Rework book:
“If you’re opening a hot dog stand, you could worry about the condiments, the cart, the name, the decoration. But the first thing you should worry about is the hot dog. The hot dogs are the epicenter. Everything else is secondary.” ― Jason Fried, Rework
If your solution does not solve the main challenge for your audience, it is useless. The market is overwhelmed with possible and impossible applications to make our life easier. This means that you will have to compete and be outstanding among all others by means of your uniqueness. That’s why, we suggest you follow the suggestion in the book “Getting Real” (by the way, if you have not read this great book, we highly recommend) and do less, but do the best:
“Do less than your competitors to beat them. Solve the simple problems and leave the hairy, difficult, nasty problems to everyone else.” ― “Getting Real” by Basecamp
Prioritizing is important, so don’t panic trying to do it all at once. Take a deep breath, and get rid of all these “nice to haves”, before implementing all the “musts”. Start with MVP and make it lovable (here should be fireworks of hearts) with your audience before you start cramming your software with secondary features and decorations.
Put yourself on your customers’ place and start writing User Stories. These are short tales (in 1-2 sentences) accurately describing how the system should respond to the user’s actions. Usually, they are written from the person who performs an action.
You should write as many stories as possible, don’t forget the negative cases as well. Then again, prioritize them to start with the most important. These brief descriptions will help you communicate your ideas to developers and designers who cannot simply read your mind (*groaning*), guesstimating how you want the system to behave in this or that situation.
For effective user stories, you may use the conventional template proposed by Mike Cohn, one of the inventors of the Scrum software development methodology. Here it is:
As a < type of user >, I want < some goal > so that < some reason >.
“As an Admin, I want to edit user details, so that I could help users to fill in their Profiles.”
Surely, some user stories will be epics that later you can split into smaller stories to fit into a single iteration. Working from your user stories, it is easier to further create detailed requirements.
Wireframing is a visual representation of the product in a structural and very schematic way. It allows you to define the layout of the UI elements of an app on the screen before creating a detailed design. With wireframes, it is much easier to make changes without difficult manipulations. You can literally juggle the UI elements, their sizes, and placement, searching for a better layout.
Wireframes can be either drawn by hand or created in special apps. Wireframes can also be used for prototyping in preliminary usability tests or demonstration to stakeholders. You can even create them by yourself with the help of online tools like Wireframe.cc.
4. Create Design
When the wireframes are ready, you may proceed to the design step.
Why design goes before development?
Turning back to our house-building metaphor from the article’s intro: what would you dо first – create a project design or start building? Probably, first.
Thus, you need someone who can create a design for your SaaS!
To find a good designer may be difficult. You may search on creative communities and workplaces like Dribbble, Behance, or Upwork. Post a job offer and wait till freelancers heap their proposals in your email, or search by yourself through the designers’ portfolios to connect with those whose works you like.
One more aspect to highlight is the mobile first design. Now that most people use their mobiles literally for everything, they definitely expect that your app will also work on their device as smoothly as on the desktop. As mobile screens are small, you should again prioritize the most important features to go first and get rid of all unnecessary details that will distract attention and make a mess. This will also give you a chance to look at your application feature scope, once more under the small-size mobile-focused angle.
If you are in a startup mode, do not spend a lot of time at your wireframes and design. Move on! In the first stages, it is much more important to prove the viability of your idea, and the sooner, the better. You will be able to correct design in the letter iterations.
As you have a clear picture of what you want to build and know how it should look and function, it is time to make it all work. At this stage, you need to find developers. The process of development usually consists of these aspects:
Pre-development stage. We analyze your requirements to estimate time and budget, research and think over the best technological stack, and architecture. Our Project Manager creates a project plan where she/he highlights the milestones, their timeframes, and deliverables, splits requirements into smaller tasks. All tasks are prioritized from the technical point of view (some tasks can be made in parallel while others should strictly follow one another) and assigned to the team members.
Coding itself. All development progress is tracked and reported to Team Leads and a Project Manager.
Demo-meetings for Product Owner on milestones completion.
Testing of the final product version.
Launch to production.
Subsequent maintenance and upgrading.
The role of the Project Manager should not be underestimated. This person is the link between you as the Product Owner and the development team. The main functions of a Project Manager may include:
Clarification of requirements and interpreting them to developers. Communication is organized via email, Skype-calls, or tracking systems (Trello, Jira, Assembla, Asana, etc.). Usually, during the development process, there arise a lot of questions about requirements and some changes are inevitable. The Project Manager helps the team to understand business logic and, vice versa, explains technological solutions to the client.
Team management that means time and task tracking to know the progress, statuses, and possible bottlenecks. The Project Manager keeps all stages of development under control, and reports to the client on the progress.
Collecting feedback from the client after the work is done.
6. Test “in the Wild”
After your SaaS has successfully passed in-house QA testing to ensure there are no bugs, acceptance testing that proves that app works as required, and was launched to the production site, it’s time for a reality check – test it in the wild. Contemporary cloud solutions depend on many factors like Internet connectivity, web browsers, and their versions, mobile devices screen sizes and resolution. Testing in the wild is inevitable as you simply cannot recreate all the different conditions of real life and foresee all possible user scenarios. So, launching your SaaS to the market, you automatically convert your first users into testers. And this is both a benefit and a risk.
On the one hand, you receive immediate feedback on what should be enhanced and you can quickly update your app.
On the other hand, you risk it all if users do not accept your solution. This can influence the whole brand reputation that will be difficult to recover. But, as one Japanese proverb says: “Fall seven times and stand up eight.”
After you have launched your SaaS and received the first feedback from the real users, you would definitely want to add new features or make enhancements to the existing product. This is called the iterative or repetitive process – when you add changes and launch a new version. Thus, you will pass through most of the described above steps in a circle with each new iteration.
However, don’t go mad and attempt to add more and more features. Stay moderate and always keep in mind that “less is more”.
Here is a concise crib sheet for every new feature you are going to add or change:
What else to consider to build a SaaS application
The Software as a Service development has the following peculiarities:
In most cases, SaaS requires multi-tenant shared databases to logically isolate the data of different subscribers on the same server.
Security and confidentiality should be a high priority in your requirements. Each user should have their separate data storage.
Users should access only a certain set of features according to subscription or other license conditions.
SaaS solutions should be updated, and the updates should be timely delivered to users to prevent security breaches and version incompatibility. At the same time, updating should not disrupt the user’s ongoing operations.
A cloud platform that allows integrating with other enterprise software like Oracle, Salesforce, SharePoint and other services via API adds value to your SaaS as it allows third-party developers to use your SaaS more easily to solve their challenges.
API should also be maintained with each new version of SaaS.
How to Apply This to Your Business
Here our guide comes to its last page, but we hope that it will become the start for your new journey!
The SaaS development process steps can vary depending on the team. It is very important to setup trustworthy relationships with the developers in the initial stages. Here a Project Manager who balances between business and technical parts can be of help. A good Project Manager will take the burden of managing development time and progress while letting you focus on strategic aspects.
Do not hesitate to ask questions and seek clarification from the technical guys. Also, remember that the more concise your requirements are at the beginning, the best chances to get a more accurate estimation and escape changes and development time increase at the end.
So what is your next step? Maybe getting a free quote for your SaaS?