The Startupp Playbook

How to Scope Custom Software Before Writing a Line of Code

software-scopingdiscoverybuy-vs-buildmvpcustom-software

The cheapest money you'll spend on a software project is the two to four weeks of structured discovery before anyone opens an editor. Most budget blowouts aren't caused by bad engineers — they're caused by teams building against a vague problem statement like "we need a platform." This is the pre-build discovery framework we use with founders: pressure-test the problem, map the real workflow, run an honest buy-vs-build check, and define the thinnest slice worth shipping.

Discovery isn't free — it costs real weeks and real attention. But do those four things in order and the scope you end up building is usually a fraction of the scope you walked in with, and the difference is measured in months of development you never had to pay for.

Why "we need a platform" is where budgets die

When we ask why custom software projects fail, the pattern is almost always the same: the spec was written as a solution, not a problem. "We need a portal." "We need a dashboard." "We need an app for our field team." Those sentences feel like requirements, but they're actually conclusions someone reached privately — and the reasoning behind them never made it into the room.

So the team builds the portal. Six months and a serious budget later, it turns out the actual problem was that two departments were emailing spreadsheets back and forth and nobody trusted the numbers. A portal doesn't fix trust in numbers. A shared source of truth does — and that might have been a two-week integration, not a platform.

The expensive part of software isn't writing code. It's writing code that solves the wrong problem, then paying again to unwind it.

The four-step discovery framework

This is the process we run when the budget is real and there's no room to build the wrong thing twice. Each step produces a written artifact. If you can't produce the artifact, you're not done with the step — and you're definitely not ready to build.

1. Pressure-test the problem statement

Take the request — "we need a platform" — and interrogate it until you hit something measurable. We use three questions, asked bluntly:

  • What happens today, concretely, when this problem occurs? Not in the abstract. Walk us through last Tuesday.
  • What does it cost when it happens? Hours, missed deals, churn, errors, someone's weekend. Put a number on it, even a rough one.
  • If we built nothing, what would you do instead? If the answer is "honestly, we'd keep muddling through," the problem may not clear the bar for custom software at all.

The artifact is a one-paragraph problem statement with a cost attached. Something like: "Order data is re-keyed manually between three systems, roughly 15 hours a week, and re-keying errors cause 2–3 customer escalations a month." Notice there's no solution in that sentence. That's deliberate. A problem statement that names a solution is a spec pretending to be a diagnosis.

In our experience, it's common for a project to change shape fundamentally at this step — the platform becomes an integration, the dashboard becomes an alert. Some projects die here entirely, which is a win, not a failure. Killing a bad project in week one costs a few conversations. Killing it in month six costs the whole budget plus morale.

2. Map the actual workflow, not the imagined one

The workflow that lives in the founder's head and the workflow that happens on the ground are different documents. We've watched a COO describe a five-step process, then watched the person who actually does the job reveal eleven steps, two of which involved a personal Gmail account and a whiteboard photo.

Sit with the people doing the work. Watch a full cycle end to end. Write down every step, every handoff, every place data gets copied from one place to another, and every workaround someone invented because the official process didn't fit reality. The workarounds are the most valuable part of the map — they tell you where the real friction is, and they're exactly what a spec written in a conference room misses.

The artifact is a workflow map: current state, with the painful steps marked and quantified. Once it exists, something useful happens — the software scope stops being "a platform" and becomes "remove steps 4, 7, and 9." That's a spec an engineer can estimate honestly, and those estimates tend to hold for a simple reason: "remove three named steps" is a fixed, countable amount of work, while "build a platform" is open-ended by construction — there's always one more thing a platform should do. Estimates against vibes don't hold because the thing being estimated keeps growing.

3. Run the buy-vs-build check — honestly

The buy-vs-build question should start from the same default every time: buy, unless there's a specific reason not to. The bar for custom software is that the workflow is genuinely part of how you win — your differentiation, your margin, your moat. Everything else (auth, billing, scheduling, CRM, notifications, analytics dashboards) has an off-the-shelf answer that a funded team of specialists maintains full-time so you don't have to.

The honest version of this check has three parts:

  • Search like you mean it. Spend a real day looking for existing tools that cover most of the workflow map from step two. Check current pricing yourself — it changes constantly, and last year's numbers are worthless.
  • Price the total cost, not the sticker. Custom software carries maintenance, hosting, security patches, and the salary-weight of whoever owns it after launch. As a rule of thumb, plan for meaningful annual upkeep on anything custom — it's never build-once-and-done.
  • Watch for the 80/20 trap. Teams often reject an off-the-shelf tool because it misses 20% of the workflow, then spend a custom-build budget replicating the 80% the tool already did. The better move is usually: buy the 80%, and custom-build only the thin connective layer that handles your genuinely unique 20%.

If you're building with AI — and if you're reading this playbook, you probably are — note that AI-assisted development shifts this math in both directions. Code is cheaper to produce than it's ever been, which lowers the cost of the custom connective layer and makes "build the 20%" more viable than it used to be. But cheap code also means you can build the wrong thing faster than ever, which raises the value of everything upstream of the editor. AI can generate the integration in days; it cannot interview the person running the eleven-step workflow. Discovery is the part that doesn't get cheaper.

The artifact is a one-page decision memo: what you evaluated, what you're buying, what (if anything) you're building, and why. If the memo says "build everything," someone should have to defend that out loud.

4. Define the thinnest slice worth shipping

Whatever survives steps one through three, don't build it all. Define the smallest version that lets one real user complete one real workflow end to end — ugly, manual around the edges, but genuinely used in production.

A thin slice is not a demo. A prototype proves the idea can be shown; a thin production slice proves someone will actually run their Tuesday on it, with real data and real consequences. That distinction matters enough that we wrote a whole piece on it — see The Working-Demo Trap: Your AI Prototype Isn't Validation for why an impressive prototype can still tell you nothing.

The test we apply: could this slice ship in four to six weeks, and would someone's Tuesday actually change when it does? If the answer to either question is no, the slice is too thick. Cut again. Admin panels, role permissions, reporting, and "we'll need this eventually" features are almost always removable from a first slice. You can add them once real usage proves the core is right — and real usage will also tell you that half of them were never needed.

The artifact is a one-page slice definition: the single workflow it serves, who uses it on day one, and the explicit list of everything you're deliberately not building yet. That second list is your defense against scope creep — when new requests arrive mid-build (they will), they go on the list, not into the sprint.

What discovery actually costs

Run properly, discovery takes two to four weeks and a fraction of what a single month of full-team development runs. That's a real cost, and it's worth naming honestly. Against it, weigh what it prevents: in our work with clients, the scope that survives to the slice definition is routinely a small fraction of what the initial "we need a platform" conversation implied. The gap between those two scopes is the budget blowout you didn't have.

Discovery isn't a delay before the real work. It is the real work — the code is just the part that happens to compile.

Where to go from here

If you have a build on the horizon, run the four steps yourself before you talk to any development team — the artifacts alone will make every vendor conversation sharper and every estimate more honest. And if you'd rather pressure-test the problem before a build starts, that's the kind of discovery and scoping work we do at Startupp.ai. Either way: write the problem statement first. The code can wait a few weeks. Your budget will thank you.

Building something and need a technical partner?

Get in touch

← All plays