This book is the culmination of eight years spent designing, building, supporting, and ultimately selling a SaaS application. It covers everything about launching and operating and can hopefully help you build and launch an application without making the same mistakes I did.
-
Foreword
This is a quick introduction by JD (acquirer of Sifter) providing context about background and experience.
-
Preface
This is a short introduction to provide some context about how the book came about, with a little history to set the stage.
-
Acknowledgments
So much has gone into this book, and there are a few people who deserve thanks.
-
Introduction
A quick summary of what to expect from the book, and some insight to the overall vision.
-
Balance fear and hope
It’s hard but rewarding work. Your happiness and satisfaction will largely be a result of your expectations. Expect and plan for slow and steady growth, and be pleasantly surprised if your business grows more quickly.
-
Plan for a paycut
When you’re getting started, your personal costs will be your single biggest expense. By reducing your cost of living, you can buy yourself time and reduce your stress while your business gets going.
-
Don't quit your day job
If reducing your costs is the best way to set up your business, not quitting your day job is the next best. There will come a time when you need to quit, but it will be long after juggling the two is easy.
-
Be cautious with projections
At some point, you’re going to put together a spreadsheet that illustrates your business plan making a million dollars in some random period of time. Remember that these aren’t real numbers, and then get to work.
-
Get money
It’s handy to have some money set aside to get your application off the ground, but you may need less than you think. More importantly, you may have a lot more options for gathering that money. Make sure you understand the pros and cons of whichever path you choose.
-
Get paperwork out of the way
Paperwork is never any fun, but there’ll be a handful of things you need to set up and keep handy. The critical part is keeping the information to hand and documenting this so it’s not a chore when you need it.
-
Focus and execute
On the one hand, you need to explore multiple ideas to gain the knowledge of what will and won’t work; but at some point, you’ll need to focus exclusively on the one idea you really believe in.
-
Build something yesterday
The best way to test an idea is to start building something real. Prototypes will help others understand the vision and force you to think more deeply about what you’re trying to build.
-
Use tools that speed you up
When you’re getting started, one of the best ways to save time is by using the tools you know. It’s important to maintain a modern tool set, but the latest shiny tools are no substitute for the ability to iterate and ship quickly.
-
Assemble a team with care
Of all the activities that can destroy a business before it starts, how you assemble the team is one of the most difficult parts. Don’t choose partners and cofounders haphazardly. Take your time.
-
Defend your productivity
You’re running a small business and juggling dozens of aspects. You can’t afford time lost to non-critical tasks. Take the time to make a plan, be disciplined, and hold yourself accountable for focused work.
-
Embrace learning
You’re inevitably going to face new tasks that require new skills. Being in a constant state of learning can be overwhelming and distracting. Do your best to stay focused and take it one skill at a time.
-
Build vs. buy
In the coming years, you’ll face decisions to either pay for a tool that isn’t a perfect fit, or build your own. It’s imperative to recognize that building anything that isn’t a core part of your business will become more of a distraction than a strength.
-
Plan for icebergs
As you get started, you’re going to run into problems and challenges you either didn’t anticipate or severely underestimated. With SaaS, there’s a handful of seemingly simple things that might catch you off guard.
-
Choose vendors wisely
Your business will depend on vendors. Try not to become entirely dependent on a vendor. But if you absolutely must be dependent, make sure you choose carefully.
-
Embrace smallness
It can be intimidating to see large companies that seemingly have more bandwidth and can eat your lunch without trying, but it’s important to remember that being small gives you strengths those other businesses wish they had again.
-
Ignore the competition
When you get started, there are only two things that matter: your customers and your productivity. While it might be helpful to evaluate competitors when getting started, once you start, it’s best to ignore them and do your thing.
-
Remember it's a business
As a founder juggling multiple tasks, it’s easy to forget about the business in the face of all of the other product decisions, but you have to factor business and operations into your decisions now.
-
Develop empathy for customers
As a new founder, you’re in a position to design your business and life the way you want to. If the standard way of doing something feels wrong, use it as an opportunity to do the right thing rather than the corporate thing.
-
Be cautious with transparency
More and more businesses operate with some degree of transparency. But how do you know if it makes sense to run your business transparently? Make sure you weigh the pros and cons before deciding one way or the other.
-
Focus on purposeful quality
With software, quality is priceless. If a specific feature is worth building, it’s worth building right. Cautiously consider every new feature, but once you commit, go all the way and build it right.
-
Design for iteration
As a small business, agility is a key strength. Your ability to quickly gather and act on customer feedback is a central advantage. Investing in tools and processes to help you iterate quickly and safely is always a good investment.
-
Payment is the best validation
You may have asked friends, family, or strangers if they would use your product. You may even have asked if they’d pay for it. But until you ask them to enter credit card information, any assurances they gave you are worthless.
-
Consider the big picture of development
If you’ve never been responsible for the full stack of a web application development process, it can be overwhelming. Be sure to spend some time becoming familiar with all phases of the development and release management process.
-
Right-size your architecture
Premature optimization can often be a waste of time and money, but underinvesting in infrastructure can be just as costly. Find the right balance between making progress and unnecessarily holding back growth.
-
Spend time talking to customers
Nothing can lead you in the right direction better than spending time with customers and striving to understand their problems and challenges. In the early days, no investment will pay off more than time spent understanding your customers’ needs.
-
Make it easy to test drive
Free trials are a core part of what makes self-service SaaS powerful, but there are countless ways to handle trials. Don’t treat your trial period as an afterthought. Carefully consider the pros and cons of different approaches to free trials and demos.
-
Invest in helping new customers
You only get one chance to make a first impression, and with software it’s a fleetingly brief chance. Make sure you focus on the customer’s success and help them get started with your software.
-
Carefully consider payment options
Every business needs a way to accept payments, and there are many ways to handle them. Make sure you carefully weigh the pros and cons of each form of payment, as well as the providers that process your payments.
-
Pricing can change everything
Pricing is one of the most interesting dials you can adjust with software, and more often than not, you’ll want to adjust your pricing upward.
-
Plan for failed payments
How can you minimize the number of failed payments, and how should you handle them when they happen?
-
Make security a priority
Security is an ongoing and ever-changing challenge. There are experts who dedicate their lives to security, so how can you possibly keep your app secure? Use tools and automation as your first line of defense, and enlist experts once you can afford them.
-
Establish working backups
Backups aren’t a big deal until you need them. Unfortunately, by the time you need them, you may not have them. Whatever you do, don’t skip out on backups. Set them up and ensure they’re tested regularly so your business doesn’t become another example of what not to do.
-
Integrate email seamlessly
Email is a critical piece of infrastructure that can’t be taken for granted. It’s an extension of your software’s interface, and customers expect it to feel seamlessly integrated.
-
Ease into analytics
It’s incredibly easy to go overboard with analytics, but in the early days it’s going to be difficult to know what to track. More importantly, looking through stats can feel like you’re doing real work without concentrating on what matters. Do the minimum and focus on shipping without getting too deep into analytics configuration.
-
Monitoring is the new cofounder
You can’t keep an eye on all of the moving parts of your application. At some point, something’s going to fail, and when it does it needs to fail loudly and provide information to fix it. This is where monitoring comes into play to ensure minimal impact when things do go wrong.
-
Be strategic about integrations and APIs
No app is an island. Integrations will become a central piece of your development strategy, but it’s difficult to build them all. At first, it’s best to focus on only a few key integrations, and spend the majority of your integration time building an API and webhooks.
-
Don't neglect sales
We’d all love to believe that for a great product, you don’t need marketing or sales. But if there’s anything that can separate you from every other founder, it’s taking sales seriously. You don’t need a sales force and pipeline on day one, but you should actively make it as easy as possible for potential customers to get on the phone with you.
-
Build anticipation
One of the most common mistakes when launching an app is believing that if you build it, they will come. That would be great, but it simply doesn’t work like that. You have to start carefully and tastefully building anticipation and interest so you’re not launching into a vacuum.
-
Nail your private beta
The word “beta” gets thrown around in the early days of building an application, but teams rarely understand what it really means. “Beta” is more of a process than a point in time. It’s as much about learning as it is about sharing, and you have to design your beta to gather feedback.
-
Launch way too early
It’s tempting to make everything perfect before you share it with anybody, but this is a terrible tactic. If you build the wrong features, it doesn’t matter whether they’re perfect. Optimize for release speed, learning, and iteration. You can be a perfectionist once your application is healthy and profitable.
-
Launch day is overrated
Launching is exciting. It’s a tangible milestone that represents an exciting day of watching your stats. It’s worth celebrating–but only briefly. Launching is where the work begins, not where it ends.
-
Maintain momentum
Launch day is really just the beginning of your journey, and once you launch, nothing is more important than getting back to work. Talk to customers, get feedback, and continue improving.
-
Handle feedback with care
Feedback will either be plentiful or non-existent, but once it’s plentiful, don’t ever take it for granted. Maintain a conversation with customers and always dig deeper. Be thankful they took the time to share, and be honest about how you plan to act–or not act–on their feedback.
-
Roll with criticism
It’s hard when someone criticizes the work you’ve poured yourself into, but you mustn’t take it personally. And you definitely can’t let it slow you down. Use it as inspiration or fuel for improvement, but remember that one voice is still just one voice.
-
Keep customers informed
It’s easy to forget when you’re focused on shipping, but you have to keep your customers in the loop. Tell them what’s coming, and help them prepare for transitions. Let them know when you have to go offline for emergencies and other planned downtime. Always strive to keep the lines of communication open and honest.
-
Bring it all back to customer success
Support is a reactive approach to helping your customers. These days, you want to be more proactive. And you absolutely want to help customers in the places and media they’re comfortable with. Scale carefully, but always go out of your way to give great support and learn from your customer requests.
-
Fight through plateaus
At some point, growth will stall or even decline sharply. These moments can be incredibly scary or depressing, but they’re always temporary–if you want them to be. You just have to look at it as a problem to be solved. What have you not tried that could be the next thing to help you break through?
-
Be ready for fraud and spam
It’s unfortunate, but not everyone on the internet means well. If you put a payment form online or give people a way to post public content, you’ll eventually get a visit from a spammer or scammer. You must address it, but don’t let it get to you.
-
Keep chargebacks in context
Chargebacks will happen. Hopefully you won’t have many, but when you do, it’s important to understand what it means and what you can do about it, if anything.
-
Create a prioritization framework
Once things get rolling, prioritization will haunt you. How do you know you’re working on the right thing when you have endless choices? Development? Design? Writing? Research? Support? Help documents? Marketing? Refactoring? Performance? Security? It’s difficult, so you absolutely need a framework to help you make the right decisions.
-
Prevent churn before it happens
In the early days, you’re too small for churn to be a meaningful statistic, but after those first 100 accounts, mitigating churn can help you grow much faster. So how do you know if you should focus on getting new signups or decreasing churn?
-
Listen carefully to cancellations
Paying customers who explicitly cancel can be among your most important sources of insight. You can’t prevent every cancellation, but you can do your best to get to the bottom of why people leave.
-
Be honest and graceful when things go wrong
When you eventually make a mistake that affects customers, you’ll be tempted to sugarcoat the problem. This is a terrible idea. Honesty and transparency are best, combined with a clear and well-documented explanation of your path forward to prevent it from ever happening again.
-
Outsource your weaknesses
Outsourcing can be expensive, but once you have the resources it’s more cost-effective to hire specialists than try to learn everything yourself. If it’s not a core competency, get help with it.
-
Make changes with confidence and empathy
Every time you make a change, it won’t be universally embraced by your customers. You’re rocking the boat, and it’s worth spending a little extra time to make the transition as seamless as possible.
-
Understand marketing and advertising
Like sales, marketing is a fundamental but often overlooked aspect of building a business. There are countless forms of marketing, and many of them aren’t even sleazy. Don’t do yourself a disservice. Understand and appreciate what marketing can do for your business.
-
Strategically maximize automation
Automation will be your friend, but only if it’s deployed strategically. Automating everything as soon as it’s annoying will be a distraction and prevent you from doing the work that matters. Make a plan for progressive automation and improve iteratively.
-
Make time for maintenance
You’re going to be overwhelmed with new work to do, but ignoring maintenance will take you to a bad place. Security updates, bug fixes, and recurring support requests will drown you in wasted time if you let them slide for too long.
-
Refactor first, rebuild as a last resort
If you let code quality slide, you’ll eventually face a decision between refactoring and rebuilding a portion of your application. Treat rebuilding as a last resort, and make sure you have good, measurable reasons for taking that route.
-
Always be preparing to exit
You may have no plans to ever sell, but sometimes life throws you a curveball. Moreover, even if you never sell, being mindful of these aspects of your business will make life easier for the rest of your time running the business.
-
Be certain that selling is the right option
Once the idea of selling starts to take hold, it can quickly become tempting to follow through. But there are some serious questions to ask yourself to avoid any regrets.
-
Know what buyers want
Every business is unique, and every buyer is just as unique. However, there are some fundamental things that matter to buyers. Understanding them long before you sell can help you build a better business.
-
Understand your business valuation
Valuing a SaaS business is fairly straightforward, but there are some ways you can work to improve your valuation.
-
Understand the process of selling
Selling a business isn’t easy, and you’ll learn a lot your first time around. Knowing a little bit in advance can really help you prepare and build your business in a way that makes life easier whether you sell or not.
-
Consider talking to a broker
Should you use a broker to sell your app? Maybe, but not necessarily. Whether you work with a broker or not, it can’t hurt to talk to one. They’ll help you think about your business critically, and if you decide to work with a good one, they could get you a better offer than you might on your own.
-
Understand deal structures
Deals for buying business can be incredibly complex, encompassing holdbacks, escrow, seller financing, non-compete agreements, consulting agreements, and more. Acquire a basic understanding of how these can affect you if you ever sell your business.