← All posts

How to scope the first version of your app (MVP)

How to decide what goes into the first version of an app or platform: start from one core job, cut features honestly, keep the admin side lean and plan what comes after launch.

Author
Elie Chaaban
Published
Reading time
5 min
Topics
Planning, Mobile Apps, Startups, Product

The most expensive decision in most app projects is made before any code is written: what goes into the first version. Too much, and the launch slips by months while the budget runs out. Too little, and the product does not solve the problem well enough for anyone to use it.

"MVP", minimum viable product, has become a buzzword, but the idea behind it is practical. Launch the smallest version that does the core job well, learn from real users, and build the rest based on evidence rather than guesses.

Here is how I help clients get there.

Start from the core job

Every product has one job that matters more than everything else. For a booking app, it is "a customer books a service at a time that works, and the business can deliver it". For a field-service platform, it is "a job gets assigned, done and recorded". For an ordering app, it is "a customer orders and the order arrives".

Write that job in one sentence. Then, for every proposed feature, ask: does the core job fail without this?

Map the journey, then cut

List the steps of the core job from start to finish, for each type of user. Then look at each step and ask what the simplest version is that still works.

Some examples of simpler versions:

The simpler version is not worse; it is cheaper to build, faster to launch and easier to change once you know what users actually do.

Features that usually wait

These are the ones I most often suggest moving to "later":

Features that rarely wait

Some things feel optional but cause real trouble if left out:

These are invisible to users, but skipping them creates problems that are expensive to fix after launch.

Design for change

The first version will change once real users touch it. A few choices make that easier:

Building the foundation properly is not over-engineering. It is what lets you add the "later" list quickly.

A worked example

Take a cleaning company that wants a booking app, similar in shape to Pro Clean+, which offers booking with real time slots, prices and photo-based quotes in English or Arabic, plus packages and visit tracking.

A first version could focus on:

Photo-based quotes, packages and visit tracking are valuable, but each one could be the second or third release, built once bookings are flowing and the team knows what customers ask for most. Whether to include them at launch depends on the business; the point is to decide deliberately.

How to decide with limited information

You will not know everything before launch. A few ways to reduce guessing:

Planning beyond launch

Scoping the first version is also about planning the second:

Talking about scope with your developer

A good developer will push back on scope, and that is a sign they care about your launch. When they suggest moving a feature to later, ask what it would cost to add after launch compared to now. Sometimes the answer is "the same", which makes waiting easy. Sometimes a foundation decision, such as supporting several branches or several languages, is much cheaper to make at the start, even if the feature itself comes later. Those are the conversations worth having before the first line of code.

Signs your scope is too big

Signs your scope is too small

The right first version sits between those two: small, complete and solid. It does one job end to end, it is reliable enough that customers trust it, and it is built so the next release is easy.

If you are planning an app and want help drawing the line, start with how to write a brief, look at my work, and get in touch.

More from the blog

Let's work
together