MVP Acceptance Criteria: Mapping Requirements to Code
Most MVP acceptance criteria stop at “what should be true.” Fewer teams answer the next question: how do we prove it’s true, and where in the actual product does that proof live? That second question is what source mapping answers — and it’s the difference between a founder who can verify their MVP is done and one who’s taking it on faith.
Why Acceptance Criteria Alone Fall Short
A well-written acceptance criterion — “a customer can cancel a booking up to 24 hours before the scheduled time and receive a confirmation email” — tells a developer what to build. It doesn’t tell a founder, three weeks later, whether that behavior actually exists in the shipped product, was tested, or quietly got dropped during a scope adjustment.
Without a link from criterion to implementation, founders end up relying on status updates (“booking cancellation is done”) that compress a dozen individual requirements into one word. Source mapping unpacks that word back into something verifiable.
What a Source Map Actually Looks Like
You don’t need specialized tooling for this. A source map is typically a simple table — a spreadsheet or a shared document — with one row per acceptance criterion:
| Acceptance Criterion | Feature/Screen | Test Case | Status |
|---|---|---|---|
| Customer can cancel a booking ≥24hrs before start time | Booking detail screen | test_cancel_within_window |
Passing |
| Cancellation triggers a confirmation email within 5 minutes | Notification service | test_cancellation_email_sent |
Passing |
| Cancellation inside the 24hr window is blocked with an explanation | Booking detail screen | test_cancel_blocked_late |
In progress |
| Cancelled slots become available for rebooking immediately | Availability calendar | test_slot_reopens_on_cancel |
Not started |
This table does more work than a plain checklist. It shows exactly which requirement is unverified, and where — not just that “cancellation” as a feature area is 75% done.
Building the Map Alongside Acceptance Criteria, Not After
The mistake most teams make is treating source mapping as documentation to backfill once development wraps. By then it’s a reconstruction exercise nobody wants to do, and it usually doesn’t happen. Instead, add the mapping columns to your acceptance criteria document from the start — as covered in how to write MVP acceptance criteria developers can test — so the “Feature/Screen” and “Test Case” columns simply get filled in as work lands, rather than reverse-engineered later.
This also changes how development conversations go. Instead of “is the booking flow done,” a founder can ask “which rows in the cancellation section are still blank,” which is a much easier question for a developer to answer precisely and a much harder one to answer vaguely.
What to Map, and What Not To
Not every line of code deserves a traceability row — that would turn a lightweight practice into its own project. Map at the level of acceptance criteria, not implementation detail:
- Map: each distinct, testable behavior described in your acceptance criteria (the booking cancellation example above has four)
- Don’t map: individual functions, internal refactors, or styling changes that don’t correspond to a stated requirement
If you’re finding you have hundreds of rows for a single MVP feature area, the acceptance criteria themselves are probably too granular — worth revisiting with how to prevent scope creep with acceptance criteria in mind, since overly fine-grained criteria tend to invite scope creep in both directions.
Using the Map During Review
When a founder or product owner reviews progress, the source map turns a vague conversation into a specific one. A few ways to use it productively:
- Weekly status reviews — instead of asking “how’s it going,” walk the map and ask which rows moved from “not started” to “passing” since last week.
- Pre-launch readiness checks — before committing to a launch date, every row tied to a must-have criterion should show a passing test, not just a “done” status from the developer.
- Handover and audits — if you’re bringing on a new development partner mid-project, the map is the fastest way for them to understand what’s actually verified versus what’s assumed complete.
Who Should Own the Map
For most MVPs, the development team maintains the map as part of their existing test suite and ticketing system — many test frameworks and project trackers can generate this kind of table automatically from tagged test cases. The founder’s job isn’t to build or maintain it, but to insist it exists and to actually read it during reviews rather than accepting a summary status instead.
This is a small addition to process but a meaningful shift in accountability. It converts “trust that acceptance criteria are met” into “verify that acceptance criteria are met,” without requiring the founder to read a single line of code.
A Simple Starting Template
If your MVP doesn’t have a source map yet, you don’t need to retrofit the whole product at once. Start with the highest-risk feature area — usually payments, bookings, or whatever core action drives your business model — and build the table for that section first. Once the pattern proves useful there, extending it to the rest of the MVP is mostly repetition, not new design work.
Want Acceptance Criteria You Can Actually Verify?
MVPHUB writes MVP acceptance criteria with built-in traceability, so founders can see exactly which requirements are implemented, tested, and shipped — not just marked done. Book a free consultation with MVPHUB to review your MVP specification process.
Book a free consultation with MVPHUBFrequently Asked Questions
What is source mapping in the context of MVP acceptance criteria?
Source mapping means tracing each acceptance criterion back to the specific code, test, or feature that satisfies it. Instead of trusting a general status update like 'booking flow is done,' you can point to the exact commit, test case, or screen that fulfills each individual requirement.
Why isn't a checklist of acceptance criteria enough on its own?
A checklist tells you what should be true, but not where in the product it's actually implemented or verified. Without a link from criterion to code or test, a founder has no way to independently confirm a requirement is met beyond taking the developer's word for it.
Do non-technical founders need to read code to use source mapping?
No. The goal is a traceability table or spreadsheet that lists each criterion next to the feature, screen, or test name that satisfies it — written in plain language your development partner provides, not raw code. You review the mapping, not the implementation.
How detailed should source mapping be for an MVP?
Detailed enough to answer 'how do we know this is done?' for every major acceptance criterion, but not so granular that it becomes its own project. A row per criterion with a linked test case, ticket, or feature name is usually sufficient at MVP scale.
When should source mapping happen — before or after development?
The mapping structure should exist before development starts, as part of writing the acceptance criteria themselves. The actual links to code and tests get filled in as work is completed, so traceability builds up alongside the product instead of being reconstructed at the end.