How to Vet and Hire a Software Development Agency (Without Regretting It)

Most bad agency hires don't look bad in the pitch meeting. They look bad three months in, when the "senior team" turns out to be one senior person spread across five clients, or the fixed price turns out to have a change-order clause that eats the budget. Vetting an agency well means checking the things that don't show up on the sales call by default — you have to ask.
Here's what actually predicts whether an agency will do good work for you, roughly in the order it matters.
Start with their portfolio, but look past the screenshots
Anyone can show you a polished screenshot. What you want to know is whether they built the thing or skinned it.
- Ask which specific parts of a shown project they built vs. inherited from a previous team or template.
- Ask for a live link, not just images — a real product tells you more in five minutes of clicking around than a case study page does.
- Ask what went wrong on one of their projects. An agency that can't name a single real problem they hit is either new, or not being straight with you.
If they only have consumer marketing sites in a portfolio and you need a complex backend system (or vice versa), that's a real signal, not a nitpick — the skill sets don't fully transfer.
Match their team structure to your actual project
"We have a great team" means nothing without specifics. Ask directly:
- Who, by name and role, would work on your project, and for what fraction of their time?
- Is that person a full-time employee or a subcontractor brought on per-project? Neither is automatically wrong, but you should know which.
- Who is your single point of contact when something goes sideways, and what's their response time commitment in writing?
A team of two generalists is genuinely fine for a small internal tool. It is not fine for a multi-platform product with compliance requirements. The mismatch between team size/shape and project complexity is one of the most common reasons projects stall — not because the agency is bad, but because they're the wrong size for the job.
Get specific about how they estimate and price
Pricing model matters less than pricing honesty. Fixed-price, time-and-materials, and retainer models all work — the failure mode is an agency that won't explain how they arrived at a number.
Ask:
- What assumptions is this estimate based on, and what happens if those assumptions turn out wrong?
- How do change requests get priced — is there a defined process, or is it negotiated case by case after the fact?
- What's included in "maintenance" after launch, and what isn't?
An agency that gives you a number without assumptions attached is either guessing or planning to make it up later in change orders. Either way, that's information worth having before you sign.
Ask how they handle disagreement, not just how they handle agreement
Every project has a moment where the client wants something the agency thinks is a mistake — wrong technical approach, unrealistic timeline, scope that doesn't fit the budget. How an agency handles that moment tells you more than how they handle the easy stuff.
Ask them directly: describe a time a client asked for something you pushed back on, and how that went. An agency that says "we always just build what the client asks for" is telling you they won't flag problems before they become expensive. That might sound accommodating in a sales conversation; it's a liability once you're mid-project.
Check communication cadence before you need it
Decide, before signing anything, what "good communication" concretely means for this project — daily standup notes, a weekly written summary, a shared project board you can check anytime, whatever fits how you work. Then ask the agency if that's what they actually do, not whether they're "communicative" (everyone says yes to that).
Time zone overlap, response time on blockers, and who writes the actual status updates (a project manager, or you'll be pinging the developer directly) are worth nailing down in writing, not assuming.
Red flags worth walking away over
- Pressure to sign quickly, or discounts that expire in 24 hours. Good agencies aren't scarce enough to need that tactic, and it doesn't reflect confidence in the work.
- Reluctance to put a named point of contact, response times, or change-order pricing in the contract. If it's not written down, it's not a commitment.
- No questions back at you. An agency that doesn't ask about your users, your constraints, or your timeline before quoting a price hasn't actually thought about your project yet.
- Every past client described only in superlatives, with no mention of a single tradeoff or delay. Real projects have friction. An agency that can't describe any is either inexperienced or not being candid with you — and you'll want to know which before you commit, not after.
The actual decision framework
Once you've done the above, the decision usually comes down to three questions:
- Can they show me they've solved a problem shaped like mine — not just worked in the same industry, but built something with comparable technical complexity?
- Is the team they're proposing actually sized and skilled for this project, not just available this month?
- Do their pricing, contract terms, and communication commitments hold up when I ask for specifics, or do they get vaguer the more precisely I ask?
If the answer to all three is yes, the rest — personality fit, tooling preferences, even price — is negotiable. If any of the three is shaky, no amount of a good pitch deck fixes it later.
If you're currently in this evaluation process for a web development project and want a second opinion on a proposal or estimate you've already received, we're happy to look at it — get in touch and we'll tell you honestly what looks right and what doesn't, whether or not you end up working with us.