Back to BlogStartups & MVP

How to Write an MVP Spec an Agency Can Quote Accurately

Rupak Amin

Founder & Lead Engineer, RAITHub

10 min read

An MVP spec an agency can quote accurately names the users and their roles, describes each core journey as numbered steps with testable acceptance criteria, lists every integration by vendor, sets measurable limits for speed and scale, and states plainly what is out of scope. Every question the spec leaves open becomes a buffer in the price, so a precise spec is a cheaper one.

Agencies do not quote features; they quote uncertainty. When a brief says "users can manage their bookings", one team pictures three screens and another pictures thirty, and both price in the risk of being wrong. The spec's job is to remove that guesswork. You do not need to be technical to write one. You need to describe your business precisely, and to leave the technical choices to the people you are hiring, unless you have a real constraint.

What should an MVP spec include?

Ten sections. Most fit on a page or two each, and a complete spec for a typical first version is usually 8 to 15 pages. Use this as a template:

#SectionWhat to writeExample
1Problem and goalWho has the problem, what they do today, and the one result the MVP must prove"Small landlords chase rent by text. The MVP must show that 20 landlords will collect rent through it for 2 months."
2Users and rolesEvery kind of user, and what each may see and doLandlord, tenant, admin (our staff). See the permissions matrix.
3Core journeysEach journey as numbered steps, start to finish"1. Landlord signs up. 2. Adds a property. 3. Invites a tenant by email..."
4Acceptance criteriaFor each step, how you will check it works, including failure cases"Given an expired invite, when the tenant opens it, they see a request-new-invite message."
5DataThe main things the system stores and how they relateProperty has many units; unit has one active lease; lease has many payments.
6IntegrationsEvery outside service by name, and who owns the accountStripe for card payments (our account); Postmark for email; no accounting sync in v1.
7Admin and supportWhat your own staff must be able to do on day oneFind a user by email, resend an invite, refund a payment.
8Non-functional requirementsMeasurable limits: users, data, speed, uptime, devices, languagesUp to 500 landlords in year one; pages under 2 seconds on 4G; English only; latest two versions of major browsers.
9Out of scopeEverything you have decided not to build yetNo mobile app, no maintenance requests, no multi-currency.
10Constraints and doneBudget range, deadline, required accounts or hosting, and what "finished" meansLaunch by March; code in our GitHub organisation; done means deployed to production with tests passing.

If you are still unsure the product should exist, validate before you specify; how to validate your MVP covers the experiments that come first.

How do you write user journeys a developer can price?

As numbered steps, each with one actor and one action, from the moment the user arrives to the moment they get value. "Tenants pay rent" cannot be priced. This can:

  1. The landlord sets the rent amount and due day for a lease.
  2. Three days before the due day, the tenant receives an email with a payment link.
  3. The tenant pays by card; the payment appears on the landlord's dashboard.
  4. If the payment fails, the tenant sees why and can retry; the landlord is not notified until the due day passes.
  5. After the due day, unpaid leases are marked overdue and the landlord receives one summary email.

Notice step 4. Failure paths are where estimates go wrong, because they are where most of the work hides. A spec that lists them gets a more accurate quote than one that only describes the happy path.

What are acceptance criteria, and how detailed should they be?

Acceptance criteria are the checks that decide whether a step is finished. A common format is Given, When, Then: the starting situation, the action, and the expected result. Write them in plain language; they are for you and the agency, not for a machine:

Journey: tenant pays rent

Given a lease with rent of 1,200.00 USD due on the 1st
When the tenant pays by card on the 29th
Then the payment shows as "paid" on the landlord's dashboard within 1 minute
And the tenant receives a receipt email

Given the tenant's card is declined
When they submit the payment
Then they see the decline reason and a retry button
And no payment is recorded as "paid"

Two or three criteria per step is usually enough for a quote. They also become the basis for the agency's automated tests, and for your own sign-off at each milestone. The Scrum Guide calls the shared quality bar a Definition of Done: "a formal description of the state of the Increment when it meets the quality measures required for the product". Whatever process the agency uses, agree that definition in writing.

Why does a permissions matrix matter so much?

Because roles multiply work quietly. Every role adds screens, rules and test cases, and "admin" alone can mean anything from a read-only list to a full back office. A simple matrix removes the ambiguity:

ActionLandlordTenantStaff admin
Create or edit a propertyOwn properties onlyNoAny, with an audit note
See paymentsFor own leasesOwn payments onlyAll
Refund a paymentNoNoYes
Invite a tenantTo own unitsNoYes
Delete an accountOwn accountOwn accountAny, after confirmation

For a sense of scale, Sundor Skin, a B2B wholesale platform RAITHub built, has 12 staff roles and 88 permission codes. Most MVPs need three or four roles. Writing them down is how you find out whether yours is one of the exceptions.

Which vague phrases make MVP quotes go up?

Phrases that sound like requirements but cannot be tested. Each forces the agency to guess, and guesses are priced high:

  • "Like Uber, but for X." Name the three things from the reference product you actually need.
  • "Scalable." Replace with numbers: users in year one, records per user, peak requests.
  • "Secure." Replace with specifics: two-factor login for staff, data stored in a named region, who can see what.
  • "An admin panel." List the actions staff need on day one. The rest can wait.
  • "AI-powered." Say what the AI does, on what data, and what happens when it is wrong.
  • "Integrates with payment providers." Name the providers, the countries and the payment methods.
  • "Simple and intuitive." Attach sketches or screenshots of products whose flow you like.

What should you leave out of the spec?

Technical choices you have no real reason to make. Unless you have an existing system, a team that will maintain the code, or a buyer requirement, let the agency propose the framework, database and hosting, and ask them to justify the choice in the quote. Do include constraints that are real: code in your own repository, a specific cloud or region, an existing brand or design system. Leave out long feature wish lists as well; move them to the out-of-scope section with a note that they are candidates for version two.

How does a spec turn into a fixed quote?

A good agency reads the spec, asks questions about every gap, and returns a quote that lists its assumptions: the ones you should read most carefully, because they define what the price covers. Changes after sign-off go through a written change request with their own price. For how fixed price compares with paying by the hour, see fixed price vs time and materials for an MVP; for what different budgets buy, what a $30k MVP budget buys; and for schedules by scope, how long an MVP takes. For a rough range before you write anything, the MVP cost estimator helps.

At RAITHub the path is three steps. A free 15-minute technical audit call to understand the product and its risks. A written spec, drafted from your material and the call, which you review and correct. Then a fixed written quote against that spec, with its assumptions listed. If you already have a spec, the audit checks it for the gaps described above; if you have only an idea, the spec is written with you.

Why RAITHub for spec-to-build?

  • The spec is yours. The written spec is useful whoever builds the product. Take it to other agencies and compare like for like.
  • Acceptance criteria become tests. PropDesk runs 1,024 tests, Sundor Skin 530+, and TheSkinProof, the founder's own venture rather than a client project, 750+ across 217 API endpoints.
  • Fixed scope, stated assumptions. No public rate card, no open meter; you own the code and IP, and an NDA is standard. See the MVP development service.

When you don't need us

  • Your MVP is a landing page or a no-code prototype. A one-page brief is enough; a full spec is overkill.
  • You want an hourly team to discover the product as it goes. RAITHub quotes fixed scope or a dedicated monthly team, and does not offer staff augmentation.
  • You already have a strong spec and trusted developers. Use this post as a checklist and go build.

If you are comparing several agencies with your spec, how to choose a software development company lists the questions to ask each one.

Sources checked on 29 September 2026.

To turn your idea or draft into a written spec and a fixed quote, book the free 15-minute technical audit.

Frequently asked questions

How long should an MVP specification be?

Usually 8 to 15 pages for a typical first version: a page or two each for the problem, roles, journeys, acceptance criteria, data, integrations, admin needs, measurable limits, out-of-scope items and constraints. Length matters less than whether each line can be tested.

Do I need technical knowledge to write an MVP spec?

No. A spec describes what the product must do for which users, and how you will check it. Leave the choice of framework, database and hosting to the agency unless you have a real constraint.

What is the difference between a brief and a spec?

A brief is one page that starts a conversation. A spec is detailed enough to price and test: every journey step, its acceptance criteria, the roles and permissions, integrations and what is out of scope.

Why do agency quotes for the same idea differ so much?

Because each agency fills the gaps in the brief differently and prices the risk of guessing wrong. A precise spec narrows the spread, and makes it easier to compare quotes line by line.

Should the spec include wireframes?

Rough sketches or annotated screenshots help, especially for the core journey. Polished designs are not required for a quote, and they can be produced as part of the build.

Does RAITHub write the spec for me?

Yes, if you want. After the free 15-minute technical audit, RAITHub drafts a written spec from your material, you review it, and the fixed quote is written against it.

how to write an mvp specmvp specification templatesoftware requirements for agencyacceptance criteriafixed quotenon-technical founder

Ready to discuss your project?

Book a free 15-minute technical audit with our engineering team.