
MVP development means building the smallest version of a product that can test your riskiest assumption with real users. It is not a low-quality product or a stripped-down version of everything you imagined. Define the problem and user, list the few features that solve it, validate demand before heavy building, ship, and measure what you learn before adding more.
Key takeaways
- An MVP is a learning tool. Its purpose is to find out whether people want your solution, not to showcase every feature.
- Begin with a specific user and a painful, frequent problem, then work backwards to the smallest solution.
- Sort features into must-have, should-have, could-have and won't-have-now, and be strict about the first group.
- You can often test demand with a prototype, landing page or manual service before writing production code.
- Choose a technology stack that your team can change easily, since the first version will not be the last.
- Decide up front what you want to learn and how you will measure it.
What an MVP is and is not
The term minimum viable product describes the smallest thing you can release that delivers real value and produces real feedback. Each word matters. Minimum means you cut everything not needed to test your idea. Viable means what remains must actually work and solve the problem well enough that someone might use or pay for it. Product means real people can use it, not a slide deck.
What an MVP is not
- A prototype that does not work. A clickable mock-up is useful for testing ideas, but it is not a product people can rely on.
- A buggy first draft. Narrow scope is fine; broken core features are not.
- Version one of your full roadmap. If everything on your wish list is in, it is not minimal.
- A one-off. It is the first step in a cycle of build, measure and learn.
Step 1: Define the problem and the user
Start with who you are building for and what problem they have, not with features. Write one or two sentences in this form: "[Specific user] struggles with [specific problem] because [cause], and today they cope by [workaround]."
Talk to real people in that group. Ask how they currently handle the problem, how often it occurs, what it costs them in time or money and what they have tried. Listen for strong pain and existing workarounds, because those suggest demand. Be wary of polite enthusiasm, since people often say an idea is great and never use it.
Then write your riskiest assumptions. Typically these are: the problem is painful enough, people will choose your approach over alternatives, and they will pay or commit time. Your MVP should be designed to test the most dangerous assumption first.
Step 2: Decide what is in and what is out
A MoSCoW-style sort
Write every feature you can think of, then place each into one of four groups:
- Must have: without it the product cannot solve the core problem.
- Should have: important, but the product still works without it for now.
- Could have: nice additions that can wait.
- Won't have yet: explicitly parked for a later version.
The test for a must-have: if we removed this, could a user still complete the one job we promise? If yes, it is not a must-have.
Be careful with common temptations
- User accounts, roles and permissions, when you could start with simple access.
- Automation of steps that you could handle manually while volumes are small.
Writing down the "won't have yet" list is valuable. It shows that ideas are parked, not forgotten, and helps stakeholders accept the narrower scope.
Step 3: Validate before you build
Building is usually the most expensive way to learn. Cheaper tests can reveal a lot first.
- Customer interviews: structured conversations to confirm the problem and current workarounds.
- Landing page test: describe the offer and invite sign-ups or enquiries, then see who responds. Our guide to landing page best practices can help. Be honest on the page about what is available.
- Clickable prototype: show designs to target users and watch where they hesitate.
- Concierge or manual MVP: deliver the service by hand, using spreadsheets and email, to learn what users really need before automating.
Interest is not proof, but repeated behaviour is a stronger signal than opinions.
Step 4: Choose how to build it
Options
- No-code or low-code tools: fast for simple workflows and internal tools, with limits on flexibility and scale.
- Existing software, configured: a ready-made platform may cover part of the need. Our build versus buy framework helps you decide.
- Custom build: best when your value lies in unique logic, experience or integrations, or when you need to own the technology.
- A hybrid: buy commodity parts such as payments, authentication or email, and build only what differentiates you.
Pick a stack that is easy to change
For a first version, choose well-supported, widely used technologies with a healthy talent pool, rather than the newest option. Keep the architecture simple, separate the main concerns clearly, write enough tests around the core flow and avoid premature optimisation. You are likely to change direction after feedback, so ease of change matters more than theoretical scale. Our web development framework guide and React Native versus Flutter comparison cover typical choices, and a web app or website decision is often the first fork.
Step 5: Plan the timeline without false precision
Fixed deadlines for products with unknowns tend to be guesses. A more reliable approach is to plan in small steps:
- Agree a clear learning goal for the first release.
- Break the work into slices that each deliver something usable.
- Demonstrate working software regularly, not only at the end.
- Re-plan after each slice, based on what was learned and what turned out harder than expected.
- Set a time or budget boundary, and decide what to cut when you reach it, rather than extending indefinitely.
Treat estimates as ranges, state what you do not yet know and agree how scope will change if you discover something significant. A written project brief, as described in our guide to writing a software project brief, keeps everyone aligned.
Step 6: Measure learning, not just activity
Decide before launch what success looks like. Pick a few measures linked to your riskiest assumption:
- Do users complete the core action, for example booking, paying or finishing a task?
- Do they come back without being prompted?
- What do they say when asked what they would do if the product disappeared?
- Where do they get stuck?
- Are people willing to pay, or to commit time, at the point you expected?
Combine numbers with conversations. Analytics tell you what people did, while interviews tell you why. Keep a simple log of hypotheses, what you tried and what you concluded. Our post on business intelligence dashboards can help you avoid vanity metrics.
Common mistakes
- Overbuilding: months spent on features before a single real user sees the product.
- No feedback loop: shipping and then guessing, instead of scheduling conversations and reviewing data.
- Confusing minimum with sloppy: cutting quality on the core experience undermines the test.
- Skipping the basics: security, privacy and reliability still matter once real people use the product.
A worked example
Imagine a founder who wants to build an online platform for local tutors to manage bookings and payments. The full vision has a mobile app, ratings, group classes, reminders and analytics. After talking to a handful of tutors, the main pain turns out to be scheduling and collecting fees. The founder lists features, keeps only a simple booking page, a calendar view and basic payment collection as must-haves, and parks everything else. A landing page and a short pilot with a few tutors comes first, using spreadsheets behind the scenes for anything not yet automated. Only after seeing which steps tutors actually use does the founder commission a first custom build, informed by real behaviour. This kind of focus is similar to the thinking behind an online booking system.
FAQ
What does MVP stand for in software development?
MVP stands for minimum viable product. It is the smallest version of a product that real users can use and that lets you learn whether your idea solves a real problem.
How much should an MVP include?
Only what is needed for one user to complete the core job you promise, and nothing more. If a feature does not help test your riskiest assumption, it is probably a later addition.
How long does it take to build an MVP?
It depends on the problem, the team and the technology, so any universal number would be misleading. Plan in small working slices with regular demonstrations, and set a time or budget boundary that forces choices about scope.
Should I build an MVP as a web app or a mobile app?
Choose where your users already are and what you need to learn. A web app is often quicker to build and update, and a mobile app makes sense when you need device features or daily app-style use. If unsure, test the idea with the simpler option first.
Related reading
- How to Write a Software Project Brief That Gets Real Quotes
- Build vs Buy Software: A Decision Framework for Owners
- Website or Web App? How to Decide What Your Business Needs
Next steps
Write your problem statement and riskiest assumption in two sentences, then list every feature and mark the must-haves ruthlessly. Plan a cheap validation step, such as five interviews or a landing page, before committing to a build. When you are ready to turn the plan into software, our app development and website development teams can help scope a first version, and you can contact us to talk it through. Our overview of startups and SaaS work shows how we think about early-stage products.



