Discuss Home · Bootstrapped Podcast · Scribbleton Personal Wiki · HelpSpot Customer Service Software · Thermostat NPS

Selling my SaaS business - the full writeup


#1

Hi all,

Was asked in another thread if I could share my experience selling a SaaS business a little over a year ago.

The writeup wound up being a lot longer than I expected, so I broke it up into 3 parts (all are up now). Here’s the first part:

http://usermentor.com/blog/selling-a-saas-business-part1.html

Would be happy to answer any questions on this topic here - it was quite an experience, and one that I had never heard much about until I went through it myself.

Cheers,

–Dave


#2

Nice read. Thanks for sharing!

Question: how important is code quality, code documentation and test coverage in the process?

When I first started coding my SaaS, I was burning the midnight oil. So let’s just say I favoured fast delivery over code quality. I’m working full time on it now and quality has improved, but there are still several areas I’m not proud of.


#3

Good question. I think I need to unpack “code quality” a bit to answer properly. Here’s one definition:

Code Quality = well designed + easy to maintain + well tested + well documented

  • Well designed would apply as much to the user experience as to the underlying architecture, but in general a well designed product works the way a reasonable person would expect, is fast enough, stable, and can handle spikes in demand (within reason).

ClientSpot was written in PHP, using an MVC architecture with a framework called CodeIgniter, so there was good separation of concerns, and it was pretty obvious where to make changes to database calls, user interface, or utility code. So that by itself made things much simpler to explain, and I was able to refer to the CodeIgniter documentation to help the new developer get oriented.

The same would apply to someone now using Ruby/Rails, or Python/Django, or ASP.NET/MVC, or any other combination of modern language and framework.

In terms of buyer questions - everyone was very concerned as to whether the technology was “modern” - meaning would they need to invest in development to bring it up to some expected user standards. This was more around user experience, performance, and whether it looked like a 1990s app. I did 2 UX overhauls over the lifetime of ClientSpot, and that was well worth it in terms of staying up to date (though not cutting edge). By the end, I think the fact that there were slicker UIs coming out from competitors (single-page apps, etc.) started to hurt sales some.

  • Easy to maintain - this one is a bit subjective, but what it means to me is that it was easy FOR ME to maintain. I didn’t have to cringe on every small change or tweak in behavior, or worry that I was probably breaking something. Were there some areas that I was a little uncomfortable with? Yes, absolutely, but those were definitely limited to just a couple of places, and I knew exactly where those were.

The buyer didn’t have any trouble at all as far as I could tell - I didn’t really have to answer any questions at all about how to modify a certain section. So I guess the test is if a reasonable programmer came along behind you, knowing the language and framework, would they be able to make changes without talking to you or breaking everything.

I did have to submit some code samples for buyers to evaluate, so it was important to have something that looked standard and reasonable, with at least a few comments for sections that were not obvious.

  • Well tested - This one is critical, but mainly in terms of how “buggy” the product is. I was obsessive about testing new features and fixing even the slightest bug if it was reported or I noticed it. This really kept customer support down a lot. It’s easy to dismiss minor bugs, but they have a way of multiplying until someone stumbles across one of them every single day. Problems that affect 1% of your customers are really problems that affect you 100% of the time if you have more than 100 customers.

All of the buyers I spoke with were very concerned about the potential customer support burden. I was able to truthfully say that it was very low, and I think that was largely because I squashed bugs whenever they were reported, even when I wasn’t adding new features.

Whether or not you have unit test coverage is a different issue. It’s obviously very helpful for developers, but the goal ultimately is to have a product that isn’t buggy, however you get there. I didn’t have much in the way of unit tests at all, and that never came up as a an issue.

  • Well documented - like I mentioned earlier - leaning on a popular framework for development is a big win here in terms of not doing things in some odd way that requires you to personally explain the code structure. It’s also a good reason not to use the latest bleeding edge technologies - when you are selling, buyers need to know that they can find someone to maintain the code - it’s scarier to contemplate that when it’s an unusual language or a framework that has been abandoned.

#4

I see you were in a bit of a stress when writing it:

added a whole bucketload of new **fears**

:slight_smile:


#5

A fascinating read. After reading this, for the first time, I actually consider my business as something I could feasibly sell.


#6

Ha! Good catch! Updated to read “features” instead of “fears”. Though I had those too.


#7

Thanks Steve. What is your business?


#8

What is your business?

https://pokercopilot.com/


#9

Nice @SteveMcLeod! Looks like you’ve beans it for 8 years or so?

Since you do one time sales (and upgrades), I’d imagine the biggest metric for you would be the cost to acquire a new customer (CAC), and some history on how that has changed over the years. Also seems like a lot of potential to sell your own or affiliates additional products into your base (poker guides, cheat sheets, branded cards, chips, whatever.)

Are you considering selling, or quite happy to keep pushing this business forward?


#10

Are you considering selling, or quite happy to keep pushing this business forward?

I’m happy pushing it forward. It is good to know, however, that selling is an option!


#11

I think your business is more personal, Steve. You can actually see players (as you mentioned, on places like Twitch) using your software, and winning.

I suppose it’s harder when you have something more impersonal like project management or helpdesk software, especially if you sell to faceless corporations.

At least, that’s how I see it :slight_smile:

And @Dave_Churchville that’s a great article. I recommend everyone to read it. Most such articles by other entrepreneurs focus more on the mechanics/financial parts of it, while Dave looks at the human part too.


#12

@Dave_Churchville excellent articles - thanks for posting them. Everything that happened seemed fair - but I wondered if you’ve ever looked back with 2nd thoughts since then?

One other thing, you said “For the seller (me), the escrow company would guarantee that the funds were real, and were available once the deal closed.” but then "I reached out to the broker who informed me that the buyer had some trouble arranging funds, and needed another 10 days before close."… so was the escrow amount not the full amount? If the buyer hadn’t got the funds together, I assume some deposit amount would have gone to you?


#13

Thanks @Jim_Wright.

Everything that happened seemed fair - but I wondered if you’ve ever looked back with 2nd thoughts since then?

Other than being curious about the business was doing, no I’ve never spent a moment with second thoughts or regrets. It was definitely the right decision for me at the time, and is still the right decision.

I didn’t realize how much subtle stress there was on me at the time, so I spent a few months marveling at how light I felt after the sale.

Selling a business is obviously a very personal decision, but for me it was the right time, for the right reasons.

… so was the escrow amount not the full amount? If the buyer hadn’t got the funds together, I assume some deposit amount would have gone to you?

I think the buyer made some sort of good faith deposit, but we were waiting for him to put the full amount in by a certain date. I don’t think I was entitled to any “earnest money” since the timing was pretty quick on attempting to close (less than a month), but my memory on that might be faulty. So it was actually pretty stressful in that if he got cold feet, there wasn’t really any recourse other than continuing to shop the business around.

I remember being pretty upset at the time, because of the uncertainly about what it all meant.