Software budgets rarely grow because developers type slowly. They grow because nobody wrote down what "done" means, so every new detail turns into a surprise, and every surprise turns into an invoice.
What fixes it is a clearer scope. Here's how we scope projects so the quote you agree to stays the quote, and how to spot a quote that's going to grow.
Why quotes grow
- The scope was a feature list, not a description of what people actually do with the product.
- Integrations were an afterthought. "We'll connect it to our CRM" turned out to be a project of its own.
- Content and data were nobody's job, so the build waited on copy, images and spreadsheets.
- Changes weren't treated as changes. New ideas slipped into the build and showed up on the bill at the end.
Seven steps to a quote that holds
1Describe one person doing one job
Before any features, write two or three sentences: who uses this, what they're trying to get done, and what happens when they succeed.
"A salon owner connects WhatsApp, and their clients can book a slot without calling" is a scope. "A booking system with AI" is a wish.
2Write an "in" list and an "out" list
The out list matters as much as the in list, because it's where assumptions hide. Things that often get quietly assumed: a mobile app as well as the website, more than one language, reports and exports, an admin area for your team, importing your existing data.
If something isn't in, write down that it's out, for now. It can always come later.
3Name every integration
Payments, email, calendars, WhatsApp, CRMs, accounting tools: each one brings setup, edge cases and someone else's rules. List them up front with the exact product names, and say whether you already have accounts. A tool with no proper API can double the work on that feature.
4Decide who provides what
Copy, images, product data, test accounts, access to existing systems. When these arrive late, the project is late, and no quote can account for waiting. Agree who owns each one and when it's needed.
5Agree what "done" looks like
For each feature, write one or two sentences a non-developer can check. "A client can cancel a booking up to 24 hours before, and the slot opens again." If you can't click through it on a demo and say yes or no, it isn't defined yet.
6Look at working software every week
Misunderstandings are cheap in week two and expensive in week eight. A weekly demo on a real staging link, not a status report, is the best protection against a scope that drifts without anyone noticing.
7Treat new ideas as new ideas
You will have better ideas once you see the product; that's the point of building it. Put them on a list. Before any of them is built, either swap it for something of a similar size or get it quoted on its own. What should never happen is a new idea quietly absorbed into the build and billed at the end.
Red flags in a quote
- Hourly or daily rates with no written scope and no cap
- No list of what's out of scope
- Code, hosting or accounts kept in the agency's name
- Nothing to see until the end of the project
- "Unlimited revisions", which usually means nobody has defined the work
What to send a studio for a useful quote
You don't need a spec document. These six things are enough for a real conversation:
- Who it's for, and the one job it does for them
- What must be there at launch, and what can wait
- Every tool it has to connect to
- Two or three products you like, and why
- What exists already: designs, a prototype, a spreadsheet, or nothing
- Your deadline, and what's driving it
Send us those six things. We reply within 24 hours with questions, and after a short call you get a written scope, with an out list, and one fixed quote. It only changes if you change the scope.