If you’re not technical, a software quote is nearly impossible to judge. Is $80,000 fair for your app, or double what it should be? Is “6 months” honest, or a number that will quietly become twelve? Agencies know you can’t easily tell — and most aren’t crooked, but the incentives don’t run in your favour.
I spent 14 years on the other side of these quotes, scoping and pricing software for Fortune 500 clients. Here’s how I’d sanity-check one.
Where padding actually hides
It’s rarely a single inflated number. It’s spread across:
- Vague line items. “Backend development — $30,000.” Thirty thousand for what? Fair quotes break work into features you can recognize. Vagueness is where margin hides.
- Seniority you pay for but don’t get. You’re quoted senior rates; the work is done by juniors while the senior “oversees.” Ask who is actually writing the code, and what percentage of their time is on your project.
- Padded estimates on risky items. Genuinely uncertain work deserves a buffer. But every line carrying a fat buffer means the whole estimate is a negotiation starting point, not a real number.
- Change requests as a business model. A low initial price with everything-is-extra terms means the real cost arrives later, when you have no leverage.
The terms that matter more than the price
The headline number gets all the attention. These quietly cost you more:
- IP ownership. Do you own the code, unambiguously, on payment? Get this in writing. It’s astonishing how often it’s fuzzy.
- What “done” means. Is it “the feature exists” or “the feature is tested, documented, and deployed”? The gap between those is where projects die.
- Who owns the accounts and infrastructure. If the agency holds your cloud, domain, and repos, switching vendors becomes a hostage negotiation.
- Change-request pricing. Agreed rates up front, or “we’ll let you know”? The second one is a blank cheque.
A quick fairness gut-check
You don’t need a full audit to smell trouble. Ask:
- Can they break the quote into features I recognize? (No → padding.)
- Will they tell me who writes the code and their seniority? (Evasive → red flag.)
- Do I own the IP outright on payment? (Not clearly → fix before signing.)
- What happens when scope changes — exact numbers? (Vague → future pain.)
- Have they shown me comparable work they actually delivered? (No → risk.)
A good partner answers all five happily. Hesitation on more than one is your signal to slow down.
What good actually costs
There’s no universal number — it depends on real scope, platforms, and team. But the useful benchmark isn’t “what did they quote,” it’s “what would a fair, competent team charge to deliver this specific scope to a real production standard.” That comparison is exactly what tells you if you’re being overcharged, and it’s hard to make from the outside without having sat on the delivery side.
If you’re already mid-project
The most common time people realize something’s off is halfway through, when timelines slip and costs climb. It’s rarely too late. You can review what’s been delivered against what’s been billed, check whether the hours match the work, and reset the relationship with specific, informed pushback rather than a vague feeling that you’re being taken.
If you’ve got a quote, an invoice, or a project that feels off, a second opinion pays for itself many times over. My vendor & cost sanity-check gives you a clear read — fair, high, or a red flag — and the specific terms to renegotiate. Book a free intro call and bring the numbers.