December 24, 2023
Reading time: 22 min
PDF Logo Printable PDF

The roadmap for Product/Market Fit… maybe

This seven-step process brought WP Engine from an idea to a Unicorn. While there are other roads to Product/Market Fit, consider copying some of these ideas.

Whether or not you accept this definition of Product/Market Fit, the question remains:

What is the formula for going from an idea to a real company, growing with high customer retention?

There isn’t a repeatable formula for success, because that’s not how life goes. There is, however, a progression that describes our path of WP Engine becoming a unicorn, and supported by 16 years of articles from this site.

Here’s what that progression looks like. Then we’ll explore the other truth—that it often doesn’t work like this after all.

  1. Personal Fit: “Passion” is necessary but not sufficient.
  2. Market Fit: Because most good ideas aren’t good businesses.
  3. Customer Fit: Talk to customers before you waste months building the wrong thing.
  4. Build and ship the SLC quickly: It’s where the only real learning happens.
  5. Marketing and Sales should occupy more of your day and budget than you wish.
  6. Retention-driven Product development.
  7. Prioritize systematically, ruthlessly, strategically.

1. Personal Fit: The inner fires of problem-passion, solution-obsession, and leveraging a personal edge

“Do what you love, and the money will follow.”

That is false, as evidenced by most artists, philosophy majors, and most people who start companies.

Passion is required, it’s just not sufficient. Passion is the motivator, especially in the dark times when your savings is depleted, competitors are winning your customers as you suffer a constant bombardment of rejection from potential customers and potential employees and potential investors, as you question your self-worth and wonder whether the cause of your Impostor Syndrome is that you’re actually an impostor.

You have to be burning with an idea, or a problem, or a wrong that you want to right. If you’re not passionate enough from the start, you’ll never stick it out.
—Steve Jobs

But the existence of passion doesn’t imply the existence of a business model. (We’ll solve that in the next step.)

“I had this pain myself, so I built a product to solve it.”

Indeed, my own companies all started that way (more on that later). This common origin story embodies the second requisite inner fire: You must love the problem you’re solving even more than you love building the product. Further, you must love the customer you’re solving it for. When you’re obsessed with the solution, and not the problem, it’s a pet project, not a company1.

1 This is why companies built on the basis of “AI is cool” don’t succeed—they are passion-projects without a commensurate passion for some ideal customer, and for a specific problem that customer has. You never cared before about “talking to PDFs,” you just think it’s cool that we’re suddenly able to do that.

Passion for both the problem and the solution is not enough, because everyone founder has passion, and larger competitors have everything else. You have to answer the question:

Why are you the perfect person to build this company?

A great idea or a great strategy that you can’t execute well, isn’t a good strategy for you.

Because a startup has no resources—no time, no money, no brand, no customers, no distribution, no momentum, no product—the answer to “why you” needs to include “leverage”—talents and experiences that you have, which allows you to accomplish an inordinate amount of quantity or quality, with relatively small time and money. See this article for many types and examples of leverage.

Be yourself. Everyone else is taken.
—Oscar Wilde

Not just leverage, but unique leverage, so you’re different from the competition. Often this appears at the intersection of your assorted above-average talents and experiences, which taken together are unique2, coupled with an idea that you are uniquely qualified to execute. Your leverage, your edge, becomes your competitive positioning. You need differentiating strength that competitors lack, because your customers are going to compare you to competitors whether you like it or not, and you have to have an answer besides “we have this one minor feature that they don’t have” or “we’re $10 cheaper.”

2 The quintessential exponent of this idea is Scott Adams, writer of the Dilbert cartoon and now political activist, who points out that he is a decent illustrator but not a great one, a decent humorist but worse than any comedian on Netflix, and has held jobs in the tech sector, unlike almost any artist or comedian. It is in the intersection of those three “circles of competence” that he is unique.

You need a tangible edge, not just a passion and “wanting it badly.”

“But often the first idea is wrong, so why do I need a specific idea?”

Because walking in a random direction is not progress, and because the main way to discover the right direction, is to have clear ideas and notice when the world negates them.

That’s what actually happened with Smart Bear, and Slack and WhatsApp and Flickr, as described and analyzed here. Only by having a specific, strong, clear idea, was it possible to notice what customers really wanted instead, which led to the pivots that each of them took to become successful.

In all of those cases, the idea was very personal to the founders—that trifecta of problem-understanding, solution-passion, and personal leverage. If you lack any one of these, you are unlikely to ever reach Product/Market Fit, because you yourself are not a fit for this business, much less the “market.”

2. Market Fit: A working theory of why they will buy.

It’s right there in the name: “Product/Market Fit” means fitting into the market “out there,” the customers out there, the competitors out there, and this is where so many people fail, even if they pass the first hurdle of personal fit.

Most ideas aren’t businesses. You have to figure out what the business is. Many people just start building a product because it’s fun/interesting/edifying/curious/exciting/ego-stoking.

Those are all good reasons to have a side-project, but none is a reason why a given side-project will become a money-making business, even at a scale that feeds a single person. That’s why most “indie hacker” startups fail—the genesis was “fun project,” not “plausible business.” The plan was “maybe it will work itself out.” Typically, it doesn’t.

Sometimes it works out anyway. That’s what happened to me at Smart Bear. More on that later. But that’s luck, and the point of a framework like this one is to reduce your reliance on luck.

You need a plausible theory of the customer, market, and business model. “Plausible,” because many ideas fall apart under honest scrutiny. “Theory” because of course it won’t be correct, but it will be your working understanding of the world, which you can modify as you learn.

Here’s exactly how to develop a specific theory of the market, customer, and your positioning. You’ll analyze these market characteristics:

  1. Plausible: Do 10M people or 100k companies have the problem?
  2. Self-Aware: Do they know & care they have the problem?
  3. Lucrative: Do they have substantial budget to solve this problem?
  4. Liquid: Are they willing and able to buy right now?
  5. Eager: Do they want to buy from you, specifically?
  6. Enduring: Will they still be paying(-it-forward) a year from now?

A lot of people read that article, then said they wish they had read in before at [insert name of failed startup], because it would have saved them two years of heartache and wasted effort. Don’t be one of those people.

You might think it’s infeasible to analyze these questions, because the research is impossible or the idea is too new to apply data of the past.. However, as you’ll see in the article, you can do it using Fermi Estimation—a technique useful not only in market analysis but for ROI, probabilities, and decisions.

Even better than having a great business model is to have a great strategy. Maybe that too much to ask for in the early days; it is certainly impossible if you lack vision3. Still, it’s never too early to be asking yourself how to leverage your strengths to build products that are great and differentiated despite your weaknesses. It’s also never too early to write down your assumptions and decisions, to ensure they are at least self-consistent if not self-reinforcing, so that when contrary evidence appears, you can notice that, and react methodically.

3 This isn’t necessarily a bad thing. I’ve often started projects where I didn’t have a clear vision of how it ought to unfold 5-10 years from now; I just knew (because of the techniques above) that it would work well enough to create a company today.

If a full strategy is too much, at least create a theory of where your product will fit in the customer’s Needs Stack, and pick a few tactics for navigating the fact that the future is unpredictable, and decide how you will generate “Love” and “Utility” types of Willingness-to-Pay. All three of these are fun, accessible, strategic, and they work in practice.

You know you have a nice idea for a product; you need just as much conviction in your business model and strategy, otherwise it’s just a personal project.

3. Customer Fit: Find customers first.

Data about the past cannot tell you how a brand new future will unfold, and therefore “validating” your theory of product and market must come from potential customers, not from research, not even from competitors’ behavior. You have to talk to customers.

You don’t want to do this. You want to build the product because that’s the fun part. But spending six months building a product will not answer any of the questions from the previous section. Building a shaky first version will validate exactly what you already know—that you have the ability to build a shaky product—rather than (in)validating your theory of market and customer. Building doesn’t de-risk the business, doesn’t lead to Product/Market fit.

Potential customers are hard to find and they don’t want to talk to you. It’s going to be like that when you have a product too, so if you can’t do it now, you won’t be able to do it later. Building the product first won’t make it easier to find or talk to customers. Building the product first will, however, ensure that you haven’t actually built what people want, because you don’t know what people want.

Once you get someone on the phone, how do you interview them in a way that maximizes learning and leads to a specific theory that you can execute on, from your unique winning advantage to pricing?

The customer validation system I’ve developed is the Iterative-Hypothesis customer development method. Fifteen years ago it invalidated a startup idea that I thought was good, and then validated the startup idea that was WP Engine—now a unicorn.

If it’s too hard to get formal interviews, anything is better than nothing. Buy ads for a landing page with web-chat, and talk to the people who arrive. Ask what they’re looking for, what they need it for, why are they looking for it right now, how they found you, and what else they’re considering. If it goes well, ask them to hop on the phone and run the full method above. Another example: Go to an event where your target customers are, walk the halls, and interview everyone all day long. People like talking about themselves.

Find and talk to the customers; they’re the only ones with the answers.

☞ If you're enjoying this, please subscribe and share this article! ☜

4. Build and ship the SLC.

Interviews give you a better model of the world, but the real learning doesn’t start until people are using—or more often, not using—a product.

SLC is my alternative to MVP. Build something small (but also lovable and complete), and ship it to customers, because that’s when real “progress” begins. That’s how you learn the truth.

Simple, because complex things can’t be built quickly, and you need to ship product to customers now.

Lovable, because crappy products are insulting to customers, and you didn’t start this company to make crappy products. The love overpowers the fact that it’s buggy and feature-poor. There are many wonderful, powerful, competitively-defensible forms of “Love.”

Complete, because products are supposed to accomplish a job. Customers want to use a v1 of something simple, not v0.1 of something broken.

If you’re building for more than 6 months and a customer hasn’t used it, you’re not on the road to Product/Market Fit; indeed you’re not making progress on the business at all. What you’ve done is proved what you already knew—you can build software.

The learning starts when customers are using it.

5. Focus more on marketing and sales, less on product.

Your natural inclination is to fall back on what you understand and enjoy, so you need to feel over-rotated towards marketing and sales, just to be balanced.

Ask yourself: What can you do today, that will (a) get more people from the target market to come to the website or (b) convert more of those people to try the product or (c) convert more of those to buy the product.

The answer might be found in writing more code. Improving the new-user experience, for example, could increase the conversion rate from “try” to “buy.” But more often the answer isn’t inside the product; indeed several of those steps happen before the person has used the product at all.

You’ll advance the product anyway—I know that. And you should, but you don’t need to be told to do that. After all, it’s all you ever wanted to do, even at step one. That’s why you need to set an intention every day to make progress on one of those questions. That’s how you’re going to generate growth.

☞ If you're enjoying this, please subscribe and share this article! ☜

6. Prioritize product work around retention.

What does it mean, that one person out of billions cared enough about your space to notice your advertisement or social media post, then felt compelled to follow the link, then was so intrigued by the website to be that one out of one hundred that tried the product, then liked what they saw enough to take out their wallet and pay, then started to use it… and then cancelled?!?

After all that—clear signals of desire, need, willingness to pay, and apparent “fit”—they decided “Nope, this is not what I want.”

What it means is: You made the right promise, but didn’t keep it. It means they thought it would work in their environment, but it doesn’t. Or it means they thought they wanted it, but they were wrong.

Marketing is where you discover the promise the customer wants you to make, and retention4 is where you discover whether you’re fulfilling that promise.

4 Actually, retention is a lagging, multi-factor indicator, which makes it useful as a high-level check, but not useful as an operational day-to-day metric. Here’s a complete system for practical metrics that embraces this observation.

Some people believe that low retention is fine because you can make up for it with growth. That’s not true for two reasons:

  1. Growth will start out good, but then will slow and halt sooner than you realize5.
  2. If customers don’t want to use the product, your “growth” is fake news. It’s not Product/Market “Fit” if the “market” decides “nope” after actually using the product.

5 See this and this for data-backed examples.

Therefore, when you do work on product features, build things that increase retention.

This starts by understanding why people cancel. Gaining understanding is difficult, because once they leave they don’t want to talk to you anymore. You might coerce them by paying for interviews with Amazon gift cards or charitable donations. Some people will respond to an email (no harm in asking). Better is to look for signs that the customer isn’t being successful (e.g. activity within the product) and reach out before it’s too late, while they’re still in the middle of the problem, and therefore might be willing and able to articulate it.

The Talk/Walk workshop might help, because it helps elucidate the difference between the promise and the execution. But probably, as usual, you just need to talk to customers.

7. Ruthlessly, methodically, systematically prioritize.

More than just “focus,” more than a generic admonition to “prioritize,” have a system that ensures you’re leveraging your most valuable, most limited asset (time) to maximize progress.

Do this by combining a Fairytale Plan with the Rocks, Pebbles, Sand work-prioritization system:

Identify the next milestone.
At all times, be crystal clear what the next milestone is.
(Finding a good business model. Public launch. 20 paying customers. Getting to 3%/mo retention. Getting to $10k MRR so you can quit your day job.)
You have to be executing against the next milestone every day. Write it down and look at it every morning.
Identify the biggest current obstacle.
At all times, be crystal clear what the biggest barrier is to you achieving that milestone.
(Can’t figure out how to leverage your strengths for something differentiated and desirable. Easy to get someone to use it once, but only 15% use it again. Got 17 customers from Product Hunt but now there’s no repeatable way to get more. Can’t get people to agree to be interviewed. SLC isn’t accepted by beta testers.)
You must face the difficult truth. Do not pick the obstacle that feels comfortable; pick the existential crisis that is uncomfortable exactly because it is critical and scary and true.
You have to be attacking or side-stepping the obstacle every day. Write it down and look at it every morning.
Split work into Rocks, Pebbles, Sand.
Use this specific Rocks, Pebbles, Sand framework to split up work, schedule work, and prioritize different kinds of work differently.
Schedule the Rock that attacks the obstacle and milestone together.
Use Binstack to prioritize one Rock that addresses that most important milestone and attacks the obstacle. (You don’t have time for more than one.)
If you can’t think of one that’s good enough, don’t just proceed with a mediocre idea that will occupy the next three months; grab some friends and brainstorm a better one.
Schedule Pebbles sparingly.
Because you have to focus on the Rock, and you have little time for anything else, use this ROI framework to prioritize just a few other activities that are valuable enough to justify spending your remaining time.

Don’t stray from the system. You don’t have the time.

But you’re not going to do this, are you…

You have a fun feature idea so you’re just building it.

You always wanted to learn Rust so you’re just learning it.

AI is astounding and it’s the future so you’re building things with it, even though it’s a technology and not a customer problem that needs solving.

You’ve started your own company in part because you don’t want to be shackled by “processes” and “frameworks,” so you’re just doing whatever you want.

Visual Studio is comfortable and Google Ad Manager is foreign and like Las Vegas is designed to separate you from your money, to say nothing of the discomfort of asking for the sale or getting someone on a call to talk about their workflows or get an earful about how your precious software actually sucks.

Uncomfortable. Scary. And you’re lost, unskilled at those things, not making progress, not even wanting to. So you slip back to Visual Studio where you know what to do, and enjoy doing it, and you’re good at it, especially when Copilot suggests something outrageously complicated and accurate.

Then you post on Twitter about how you have $1600 in MRR after 18 months but it’s okay because perseverance is a virtue. When in fact you’ve fallen into the well-known trap of doing what you’re good at, what you love, but not what the business needs done.

☞ If you're enjoying this, please subscribe and share this article! ☜

Perseverance is a virtue, if you’re doing the right work, with the right goals. It’s a vice if it means you’re moving diligently in the wrong direction.

Smart Bear only halfway followed the roadmap

But who am I to talk?

The company I founded in 2002, sold in 2007, and that gave me the online handle that persists to this day on this site, Smart Bear’s first “product” Code Historian was a personal project, built because I want to learn .NET (we would later rewrite everything in Java), built because I thought there was value in the historical record encoded in version control (all products that operated under that assumption failed).

Screenshot of viewing how old each line of code is, in Code Historian

This doesn’t make me look old, right? Right???

I didn’t talk to customers ahead of time. I did talk to them a lot after they started paying, and learned they didn’t want Code Historian at all, but rather they wanted something else (in a story told here). As a result, I created Code Reviewer, which sort of hit the need, but the architecture and features were all wrong, because I didn’t have the right idea from the start. But all this customer feedback gave me the confidence of rewriting everything from scratch (which everyone says you should never do) in a product called Code Collaborator.

Would I have found the idea for Code Collaborator by interviewing customers using the “Iterative-Hypothesis” method above? No, because I wouldn’t have known what to ask them, and they wouldn’t have known to tell me. I would have discovered that Code Historian wasn’t a good business idea. Which could have been wise, except then I wouldn’t have made Code Historian, which means I wouldn’t have made Code Reviewer, which means I wouldn’t have figured out that I really should make Code Collaborator, which made many millions of dollars. The interviews would have stopped everything cold. Does that make “interviewing” the wrong road to Product/Market Fit?

I do think building and getting product into customers hands is far more valuable than conversations. This was an example of (1) having a specific idea matching my passions, which then because of (4) building and shipping and (6) listening to customers, lead to the right idea. So, part of the path, but not the full path.

In particular, coding in isolation, coding instead of selling, coding instead of honestly figuring out what customers really need—that’s definitely the road to failure.

WP Engine followed the roadmap and became a unicorn

That said, WP Engine is an example of traveling this road exactly.

WP Engine wasn’t the initial idea. The first idea was for a marketing analytics tool with features that Google Analytics lacked: A real-time event dashboard, a clever goal-setting-and-measuring system that worked retroactively, and the ability to capture web-form data even when it was only partially filled-in and never submitted, all with just one line of Javascript6. But I ran that Iterative-Hypothesis method and after 20 interviews I learned that the idea wasn’t strong enough. I was on the road; I (1) had a specific idea that (2) was clearly a great market and (3) vetted it, and thanks to (3), I did not waste years on that project.

6 These are typical features of analytics tools today in 2023, but in 2009 it was innovative.

I then had the idea of a managed WordPress platform because I needed it myself—my blog would crash when I got to the top of Hackernews (link-sharing site). I asked other bloggers what they use to keep WordPress fast and scalable; many said, “I don’t know, but if you find it, tell me, because I need that.” I ran the Iterative-Hypothesis method again, and this time it was very clear what the need was, what people would pay, and how to find them. And the market was already huge (WordPress was 11% of the entire Internet) yet growing fast (today WordPress is 43%). That’s steps (1), (2), and (3), but this time the road was validated.

I built just enough to fulfill the promises of speed and scale, building the first version in 30 hours. Good enough to not only stay running and fast on a Hackernews day, but with almost no load on the server, which meant I was still far away from a capacity limit.

Hundreds of simultaneous connections on a Hackernews day

Hundreds of simultaneous connections on a Hackernews day

The first version didn’t even have a customer dashboard. I took credit cards with the default form that came with the online credit card service, and the rest was just WordPress.

The marketing website was… “spare” shall we say?

Very plain initial website

The second version of the website was so bad, there were database errors shooting out the bottom. Database errors, on the home page, of the company that you’re supposed to trust with your precious website.

The market need must be overwhelming, if customers walk through this wall of fire and say "yeah just take my money."

The market need must be overwhelming, if customers walk through this wall of fire and say “yeah just take my money.”

So that’s step (4), the SLC product that fulfills the job with the absolute minimum of “Product.”

We reached $1M ARR after two years. The reason is (5)—focus on marketing and sales.

Because I did marketing and sales before even having a product login screen, I was able to launch with 30 paying customers. Sure I worked on the product, I worked support tickets, but what I focused on was how to get customers:

From an "advisory group" email update from 2010; my asks were for marketing and sales, not product and engineering.

From an “advisory group” email update from 2010; my asks were for marketing and sales, not product and engineering.

When you do marketing and sales, with a product that people actually need, in a large and growing market (all covered by the exercise under (2)), then you might have a nice growth curve:

Hit $1M ARR in first 18 months at WP Engine.
But wait, the Product/Market Fit is still to come…

Hit $1M ARR in first 18 months at WP Engine.
But wait, the Product/Market Fit is still to come…

We’ve always spent a lot of time on (6) retention. Sometimes years would pass where we wouldn’t add a new feature, because all our engineering time was spent on the challenges of scale and continuing to improve on the promise of speed and uptime. As a result, we’ve had best-in-industry customer retention for 14 years.

High retention due to happy customers, folds back onto itself into growth through word-of-mouth referrals and a thousand top-of-class reviews:

All that, combined with the hard work, the craftsmanship, the large and growing market—did I mention the large and growing market?—and yes also the luck, meant that in early 2012 we hit Product/Market Fit, as detailed here:

The previous chart's "up and to the right" growth from 2010-2012 looks almost flat compared to the sudden moment of Product/Market Fit, when it became hyper-growth, and never slowed.

The previous chart’s “up and to the right” growth from 2010-2012 looks almost flat compared to the sudden moment of Product/Market Fit, when it became hyper-growth, and never slowed.

Do you have to walk this road like WP Engine, or can you stumble onto it halfway through like Smart Bear, or can you take a completely different route and just emerge at the finish line? Do you have to (7) prioritize or can you just do what feels good in the moment? Can you just cherry-pick things you like from this framework, and ignore the rest?

Yes. Everything is possible.

Possible, but not equally probable. We like the stories of outliers, because exceptions are interesting. But exceptions are not something you can repeat, and therefore they don’t teach you anything. They are the Sharpshooter’s Fallacy—shooting randomly at the side of a barn, then drawing a bullseye around the bullet hole and declaring “nailed it!”

It’s your life; you can take any road you please.

What are you going to do?

Many thanks to Rowan Udell for contributing insights to early drafts.
☞ If you're enjoying this, please subscribe and share this article! ☜