Explore
What Goes Wrong With Agency Development (And What to Do Instead)

What Goes Wrong With Agency Development (And What to Do Instead)

Development agencies aren't bad. But the traditional agency model has structural problems for early-stage startups. Here's what they are and how to work around them.

What Goes Wrong With Agency Development (And What to Do Instead)

Most founders have at least one agency horror story. The one where the project was double the estimate and half the quality. The one where they kept paying the retainer without knowing what they were getting. The one where the agency delivered something that worked in the demo but broke in production.

Agency horror stories are common enough that they've become a trope. But most founders engage agencies at some point — because the alternative (hiring) is often not feasible, and the options aren't always clear.

Here's an honest breakdown of what goes wrong with traditional agency development, and what to think about instead.


The discovery phase that lasts forever

Many agencies begin with a discovery phase: weeks of workshops, stakeholder interviews, and requirements documentation before a line of code is written.

For large enterprises with complex requirements and multiple stakeholders, this makes sense. For an early-stage startup with a founder who already knows what they want to build, it's often a billing exercise.

Discovery phases typically run 2-4 weeks at full day rates. You pay for the discovery. Then you pay for the build. Then you discover mid-build that the discovery didn't account for something, and you pay for the change order.

What to do: If you're well-enough defined to brief a developer clearly, you don't need a formal discovery phase. Work with someone who can start from a clear brief and ask clarifying questions as they go.


The bait-and-switch senior developer

The agency pitches their senior team. You meet two impressive people. Work begins, and you realise the day-to-day work is being done by a junior developer you've never met, with the senior person available for occasional reviews.

This is a structural issue, not a personal failing. Agencies make margin by having seniors win work and juniors execute it. The incentive is clear; the outcome for you often isn't.

What to do: Before signing, ask explicitly who will be doing the day-to-day work. Get a commitment in writing. Ask to meet the people who will actually work on your project.


Fixed-price projects that aren't fixed

"Fixed price" sounds like you're protected from surprises. In practice, it shifts where the surprises appear.

When something is genuinely ambiguous in the specification (which happens in every project), the agency has two choices: cover it in the original price, or raise a change order. The incentive structure favours change orders.

The result: a "fixed price" project that expands through legitimate-seeming change orders, each of which requires its own approval process.

What to do: Either accept that "fixed price" is a ballpark (not a guarantee) and factor in buffer, or work on a model where you add tasks to a queue and pay a flat monthly rate regardless of what was completed. The latter aligns incentives toward throughput.


Handover that doesn't work

At the end of an agency engagement, you receive code and documentation. In theory, this is a clean handover. In practice:

  • Documentation is often thin or out of date by the time it's written
  • The code makes assumptions that aren't documented anywhere
  • The developer who actually built it isn't available for questions after handover
  • Whoever picks it up next (whether internal or a new agency) needs significant time to understand it

What to do: Before the engagement ends, negotiate a "knowledge transfer" period where your next developer can ask questions of the outgoing team while they're still available. Or work with a partner on a continuous model where there's no formal handover.


The scope problem

Agency engagements are scoped upfront for a specific set of features. But products evolve. By the time you're halfway through a 3-month engagement, your priorities have shifted based on early user feedback.

In a traditional agency model, changing scope is expensive — it requires a new statement of work, new estimates, new approval. The engagement optimises for delivering the original spec, not the right thing.

What to do: Work iteratively. Short cycles, frequent delivery, the ability to reprioritise. A subscription or iterative retainer model is structured for this; a fixed-scope project is not.


What agency development is good for

None of this means agencies are wrong for every situation. They make sense when:

  • The scope is well-defined and unlikely to change. A specific, bounded project with clear requirements is where the agency model works best.
  • You need a large team for a short period. A redesign that requires 5 developers for 6 weeks is a legitimate agency use case.
  • You need specialists you can't access otherwise. A specific technology expertise that isn't available in a generalist subscription or hire.

The alternative

For ongoing product development — iterating on a startup product, adding features, fixing bugs, improving performance — the subscription model is usually a better fit than traditional agency engagements.

Predictable cost. Aligned incentives. Continuous delivery. The ability to reprioritise anytime.

It's not right for every situation. But for the "we need continuous development but aren't ready to hire" stage that most startups spend significant time in, it's a significantly better model.

Learn how the Hardlite subscription works differently →