What is prototyping? June 2, 2017
You have an idea for a new online product offering. Maybe you already have a thriving business and you want to reach more customers with an interactive experience. Or maybe you're a budding entrepreneur who has a fresh idea to take to market.
What's the first thing that you should do? Maybe you should brainstorm a compelling and memorable name. Then go register a domain name. Hire a designer to create a logo. Sketch some wireframes. Hire a developer. Build the app.
These all sound like reasonable starting points. And they're all things thriving product businesses have done, so it's natural you'd follow this progression.
But none of these activities involve the reason you're building your product in the first place: your customers.
Your customers aren't going to come to you because of your name. They're not going to pay you because you have a sweet logo. And they don't care about your app.
Your customers only care about one thing: That their life is improved because your product is in their lives.
It's fair to say then that your customers care about outcomes. They care that, after using your product, they feel better, have more money, or are otherwise more satisfied than before using your product.
An outcomes-oriented approach
Instead of focusing on deliverables like mockups, technology, and a snazzy marketing page, what if you focused on the outcomes your customers will experience? What if you spent time answering questions like...
- Who am I serving?
- What problem am I solving for them?
- What makes me better than the competition?
The answers to these questions might involve technology or visual design, if you decide those things are necessary to helping your customers solve their problem. But they certainly aren't the core reason your customers want what you've got. You've got to identify why they came to you in the first place. How do they think? What annoys them? How can you alleviate their existential suffering... or at least make their lives marginally easier?
When you know who you're serving, you're able to learn from them about what they want. And when you know the problem you're solving and how your solution is unique, you won't dilute your message and scope.
If you're actually solving someone's problem, they won't care if your branding isn't perfect. They won't mind if your site looks terrible on mobile, so long as they don't need to use the site on mobile. And even if they do: As long as they're getting value from your product, they'll be willing to wait.
That's the essence of prototyping: Building a working version of a product idea that provides real value to real human people, and putting everything else off until after you've done that.
Your objective is to confirm or refute your product's value hypothesis by conducting experiments which simulate aspects of your product idea—not to hold off "launching" your product until a "public release."
That doesn't mean you won't eventually choose a marketable name. It doesn't mean you're going to skimp on any aspect of your product for good. It just means you recognize that the thing your product must do in order to be viable is provide someone somewhere with real value.
If you're doing that, you have a successful product. If you're not, you just have a bunch of code and images and text chasing a fantasy.
The prototyping process
I've spent my career leading the early stages of digital products. Here's the process I use to reduce cost and encourage experimentation when taking a new product to market:
1. Identify the problem you're solving, and for whom
Clearly define the problem your new product alleges to solve, and the specific segment of the market who has the problem.
My favorite exercise for defining your problem and target market is the Fool-Proof Positioning Statement by Dan Janal:
The Fool-Proof Positioning Statement is a two-sentence message that tells people what your product is and how they will benefit. The second sentence tells people why your product is different than others. Here's an example: David Letterman is a talk show host who entertains baby boomers so they can feel good before they go to bed. Unlike other talk show hosts, he performs a Top Ten List.
A positioning statement identifies the following elements:
- Category of product
- Primary audience
- Primary benefits
- Competing products
- Primary difference or uniqueness
Take for example, a positioning statement for Formbot, my SaaS for sending webform submissions to Slack and email:
Formbot is an online service that helps developers of static sites receive feedback from their visitors without setting up a server. Unlike other form services, Formbot connects to Slack.
I had the idea for Formbot because I had a real and annoying problem: I love building websites with static site generators, but I didn't want to have to set up a server just to receive form feedback from my visitors.
Once you've identified your primary audience, identify real people within that audience who have the problem you want to solve. Get their assurance that they would gladly pay money to have the problem solved. Forge relationships with them. Ask them how your competitors' product could be better. Listen.
2. Identify desired outcomes from using your product
Now that you have a handle on the problem and the audience for whom you're solving it, it's time to identify how you're going to solve their problem.
Do your users want a fully-automated solution, or one with an interface that affords more customizability?
What are your audience's success outcomes? If your audience gets nothing else out of using your product, what is the one thing with which they need to leave in order to continue using the product?
Organize your product's hypothetical features into user stories. These are a special type of device for thinking about a product's features in terms of their outcomes instead of their deliverables. Each well-written user story identifies a persona, action, and outcome for a given software feature:
As a Formbot user, I want to connect my Slack account so that I can receive potential sales leads in Slack.
- As a...: the persona who has a stake in using the product
- I want to...: the action they're going to perform to reach a desired outcome
- so that...: the valuable outcome the product grants them
Note that the action for each user story needn't be explicit. You don't need to explain that your user should press the "Create Message" button; just explain that they're going to send a message and why that's important. For instance, here's an example of a user story that's too bound to deliverables and has no real business outcome:
As a user, I want to click the "Create Message" button to open the Create Message dialog so that I can send a message to my clients.
Instead, focus on the outcome of the action as it relates to the user:
As a user, I want to send a message to my clients so that I can follow up with them and make more sales.
In doing so, you decouple implementation from your outcomes. When you engage a developer to build the first version of your product, you'll be measuring success not by whether there's a button that reads "Create Message" (irrelevant to your business), but by whether your users can effectively reach their clients (relevant to your business).
3. Determine the most valuable feature of the solution
Of all the user stories you wrote, which one offers the most value to your users? If you were stranded on a desert island and your developer could only build one feature (yes this is a terrible analogy), which feature would you have them build?
Do your prospective users from step 1 feel the same way? Would they start using your product if you could deliver them that one feature?
Formbot started out as a single feature with hardly any user interface. It was barebones, but it did one thing exceptionally well. So it attracted a small but loyal userbase. As a result, I was able to capture user feedback and better understand why users were satisfied and why they weren't. This informed further development and further feedback collection.
You might think you need features that most products have, like email alerts or two-factor authentication. But when you force yourself to think in terms of delivering value to real human people you are actually talking to right now, you find ways to help them without a ton of expensive engineering work.
Again: That's not to say email alerts and two-factor authentication aren't valuable. They're both immensely valuable and you should build them. They might even be inseparable from your most valuable feature, and you might need to build them in order to satisfy your users. But strive to build the least product possible to deliver the most value. Usually that's less than you think.
4. Build and deliver that feature to your audience
Now that you know the featureset that will deliver the most value to your users, it's time to build it.
It's not time to create wireframes. Nor is it time to hire a designer. These are both actions that result in deliverables, like wireframes and mockups. We're prototyping, so we don't want deliverables. We want outcomes.
The first iteration of your product probably won't be pretty. But it'll solve a real problem that your identified real human users need solved. So it doesn't need to be pretty. It needs to work. And for that, you need a developer.
Developers are a dime a dozen. Most developers focus on deliverables. They build the features you want built in the way you specify. They paint by numbers.
What you want is a developer who focuses on outcomes. Remember the user stories you wrote in step 2? You know how I told you to make sure they specify your desired outcomes, as opposed to the path for getting there? You want to find a developer who thinks like that. Someone who sees the road ahead of your business and can steer your product accordingly.
Instead of asking how? like most developers, you want to find a developer who asks why? Instead of estimating how long it'll take to deliver "your app," you want to find a partner who can estimate how long it'll take to validate your business.
Here's a secret truth about software development no one wants you to know: You're never done. Your product will always have bugs, unimplemented features, or things you don't like. It's a fact of the business.
Developers don't want you to know this because they make their money on deliverables. For them to be done with a project is for all the deliverables to be completed. But by this definition of completeness, no project is ever finished.
But you're not going to focus on deliverables. You're going to focus on outcomes. You know that by focusing on deliverables, you can't clearly say whether you've achieved your desired outcome. Having a product with a gorgeous user interface that doesn't have any users is a sure way to go broke. But having a product with an ugly interface that helps 1,000 people achieve a desired outcome means you've proven your hypothesis. The gorgeous interface will come later.
5. Assess the value delivered
You've built your first feature. Your users are now able to walk through one workflow from start to finish. It's not pretty, but it works. Now it's time to see how your audience responds.
Because of how little you've actually built, you might feel ashamed to share this with your audience. But ask yourself this: How would you feel if you made it "perfect", shared it with your audience, and discovered it didn't help them?
And what about the best case scenario? What if your one feature helps your audience in ways you didn't think it could? If that happens, then congratulations! You've validated your product idea. And you did it without spending all your money on vanity deliverables like branding, visual design, and SEO marketing.
6. Refocus your efforts accordingly
If your first feature was a hit, then you're probably feeling encouraged and want to press on. If your audience didn't respond the way you hoped, then you're probably a bit discouraged and might feel like giving up.
Whatever happened, you can rest assured that because you reduced your deliverables to only those things that help you validate whether you can deliver your users the outcomes they desire, 100% of your investment was in pursuit of providing your users with a valuable experience.
You didn't spend lavishly on a hip domain name.
You didn't hire an expensive visual designer.
And hopefully, your sunk cost is low enough that you have the emotional wherewithal to be able to walk away unscathed.
Or, you can choose to regroup and reposition your product. Because you didn't lock yourself into a specific featureset with lavish marketing and polish, you can conduct another experiment. You can continue this process indefinitely until you find something that sticks.
That's the beauty of prototyping. That's why I focus on outcomes. And that's how to build a product people will actually use.
Read on: How is prototyping different?