From idea to MVP: how we arrive at a first working version

· Hidde Bruin

#Custom software#MVP#Product development

Almost every software project starts with a list. Everything the product should ever be able to do, written down on an enthusiastic afternoon. That list is valuable. It just isn't a plan.

Because anyone who wants to build everything at once is still left months later without users and without an answer to the question that really matters: will people use this? That's why we start with an MVP. In this article you'll read how we get from an idea to a first working version, and which choices we make along the way.

What an MVP is, and what it isn't

MVP stands for minimum viable product. The smallest version of your product that real users can do something with, and that teaches you something.

That last part is often forgotten. An MVP is not a demo that looks nice in a presentation. Nor is it the first phase of a fixed project plan in which everything has already been decided. It's a working piece of software that tests one important assumption. For example, whether customers would rather enter their request themselves than call, or whether engineers really use a schedule on their phone.

Small doesn't mean sloppy, by the way. What's in it has to work well. There's just less in it.

01 / Our approach

Five steps to a first working version

Every product is different, but for us the order is usually the same.

  1. Step 1

    Getting the problem clear

    Who are we building for, what can that person not do now, and how do they solve it today?

  2. Step 2

    Choosing the key assumption

    Which question should the first version answer? We focus everything on that.

  3. Step 3

    Reducing the scope

    We cut until only what's needed to answer that question remains.

  4. Step 4

    Building in short rounds (iterations)

    Showing something that works every week or two, so that changing course stays cheap.

  5. Step 5

    Live with real users

    A small group starts working with it. What they do determines the next step.

Step 1: getting the problem clear

We don't start with features, but with people. Who is going to use this? What do they do now, and where does it get stuck? We usually talk to a few future users and watch how they work today. Spreadsheets, emails and loose notes often tell you more than a requirements document.

Step 2: choosing the key assumption

Behind every idea there are assumptions. That customers are willing to pay. That staff will open a new app. That the data you need is already available somewhere. We look for the riskiest assumption: if it doesn't hold, the rest makes little sense. That's what the first version tests.

Step 3: reducing the scope

This is where it gets difficult, and interesting too. We go through the list together and ask the same question about every item: do we need this to test the assumption? An extensive permissions/roles system, reports, an integration with the accounting software: important, but often not for version one. What gets cut doesn't disappear. It goes onto the roadmap.

Step 4: building in short rounds (iterations)

We build in rounds of one to two weeks. After each round you see something that works, not a progress report. That way you notice early if something turns out differently than planned, and changing course is still cheap.

Technically, we choose a foundation that can grow. An MVP may be small, but we don't build it in a way that means you have to start over after six months.

Step 5: live with real users

An MVP is only finished when someone works with it. We put the first version in front of a small group of users and watch what happens. What do they use, where do they drop off, what do they ask for? Those are the answers it was all about.

02 / Scope

What belongs in a first version?

A selection of the choices we make in almost every MVP. What's on the right isn't unimportant, just not needed yet.

Usually included

  • the one task the product revolves around, working from start to finish;
  • logging in and the basics of security and privacy;
  • a way to measure how it's used;
  • a place where users can leave feedback.

Can usually wait

  • extensive roles and permissions;
  • reports and dashboards;
  • integrations you can initially also do manually;
  • settings for every exception;
  • a second language or an app alongside the web version.

And after the first version?

That is when the real work begins. With real users and real data, you no longer choose the next step on gut feeling. Sometimes a feature that sat at the top of the list turns out to be barely missed. Sometimes users ask for something nobody had thought of.

It can also turn out that the most important assumption is wrong. That feels like a setback, but it is exactly what an MVP should deliver: an answer, before most of the budget is gone.

Frequently asked questions about an MVP.

How long does it take to build an MVP?

That depends on what the first version needs to do. Usually between 3 and 6 weeks. After step 3 you know more precisely, because by then the scope is fixed.

What does an MVP cost?
Do we have to start again once the MVP works?

No. We build the first version on a foundation that can keep growing. Whatever you add builds on what is already there.

What if we don't know which assumption matters most?

Then that is where we start. In a short discovery we work out together where the biggest risk lies, before any code is written.

Have an idea you want to test?

Tell us what you want to build and for whom. We'll help you think through what belongs in the first version, and what can wait a little.