I am a...
Learn more
How it worksPricingFAQ
Account
May 7, 2026 · 11 min read · Cadence Editorial

How to write a dev agency proposal that wins

dev agency proposal — How to write a dev agency proposal that wins
Photo by [Tima Miroshnichenko](https://www.pexels.com/@tima-miroshnichenko) on [Pexels](https://www.pexels.com/photo/man-person-people-desk-6914650/)

How to write a dev agency proposal that wins

A dev agency proposal that wins follows a three-section pattern: a short narrative summarizing the client's problem and your approach, a tight scope with assumptions and exclusions, and milestone-based pricing with 50 percent upfront. Skip hourly-only bids, name your risks, and your close rate goes up. Most losing proposals lose because they are too long, too defensive, and priced by the hour.

That is the playbook in 80 words. The rest of this post shows you the template, the language, the math, and the mistakes.

Why most dev agency proposals lose

Most proposals lose before the prospect reads page two. The losing ones share four traits: they are too long (15 to 30 pages of templated boilerplate), they quote hourly only (which signals junior work and invites scope creep), they never name a single project risk, and they restate the RFP back at the client without showing real thinking about what is actually hard.

The winning proposals are 5 to 8 pages. They lead with a one-page narrative that sounds like a senior engineer wrote it, not a sales rep. They quote milestone-based payouts. They name two or three specific risks with mitigations. And they include a written change-order policy so scope conversations are pre-resolved.

You do not need a fancy proposal tool to do this. You need a structure that closes.

The narrative + scope + price three-section pattern

Almost every winning dev agency proposal we see uses the same three-section structure:

  1. Narrative. One page. The client's problem in their language, your approach in plain English, the risks you see, and why your team specifically.
  2. Scope. Two to four pages. What is in the box, what is not in the box, the assumptions you are pricing against, and the change-order policy.
  3. Price. One page. Milestones with payout amounts, payment terms, total fixed price, and what triggers a re-price.

That is the entire document. References, case studies, and team bios go in an appendix or a separate page. The proposal itself stays under eight pages.

This works because it mirrors how decisions actually get made. The buyer reads the narrative to decide if you understand the problem. They read scope to decide if the deal is fair. They read price last and only after the first two sections have built trust. Burying the narrative behind a 6-page agency intro inverts the order and kills momentum.

Section 1: The narrative (the part that actually sells)

The narrative is the section that wins or loses the deal. A good one has four parts and runs about 400 words.

The problem in their words. Two to four sentences restating what you heard in discovery, using the client's vocabulary. If they said "our checkout is slow on mobile and Stripe webhooks fail randomly," do not translate that into "performance optimization and payment infrastructure hardening." Use their words.

The approach in plain English. Three to five sentences explaining how you will fix it. Name specific tools and steps. "We will instrument checkout with Datadog, find the slow queries, rewrite the worst three, and add idempotency keys to the Stripe webhook handler."

The risks named upfront. Two or three risks you actually see, plus how you will handle each. Naming risk is a trust signal. Example: "Risk: your Stripe data contains test transactions mixed with real ones. Mitigation: we run the migration in a staging schema first, you sign off, then we cut over."

Why us specifically. Two sentences. Not a 12-bullet list of services. One specific reason your team is right for this work, plus one named reference doing similar work.

Buyers in 2026 are pattern-matching on AI-generated proposals; the polished, generic narrative is the tell. Specific, slightly imperfect language wins.

Section 2: Scope, assumptions, exclusions

Scope is where margin gets protected or destroyed. The format that works:

In scope (numbered list of deliverables). Be concrete. Not "responsive design" but "5 marketing pages plus checkout, breakpoints at 1280, 768, 375, tested in the latest two versions of Chrome, Safari, Firefox."

Out of scope (named exclusions). This is where you save the deal six months from now. Examples: "Email template design (we use the templates you provide). Migration of legacy WordPress content beyond 50 posts. Translation or localization. New payment processor integration beyond Stripe."

Assumptions. A short list of things you are pricing against. "We assume access to your AWS account within 5 business days. We assume one technical decision-maker available 30 minutes per week. We assume your design system is documented in Figma. If any assumption fails, we re-price the affected milestone."

Change-order policy. One paragraph. "Changes to scope require a signed change order with revised price and timeline. Change orders under 4 hours of effort are billed at $200/hour. Larger changes are repriced as a new milestone." This is not legalese, it is a margin guarantee.

We have seen agencies double their effective hourly rate in six months just by adding the assumptions and change-order paragraphs to every proposal. The work did not get more expensive. The change conversations got easier.

Section 3: Milestone pricing beats hourly every time

Hourly pricing is the single biggest leak in the dev agency P&L. It signals junior work, caps your effective rate, and turns every status update into a justification meeting.

The structure that closes:

MilestoneDeliverablePayoutPayment trigger
KickoffSigned contract, Slack and repo access provisioned50% of totalOn signature
Design freezeApproved Figma, scoped tickets in Linear20%On client sign-off
BetaDeployed to staging, walkthrough call done20%On staging review
LaunchProduction deploy, runbook handed off10%On production cutover

A few rules that travel well:

Always 50 percent upfront. This filters tire-kickers, funds the kickoff, and signals you are not a freelancer who will disappear. Buyers who balk at 50 percent are buyers who will balk at the final invoice too.

Three to five milestones, no more. Anything more than five becomes a paperwork nightmare. Anything fewer than three concentrates payment risk on a single late deliverable.

Net 0 or net 7 terms. Not net 30. The reason agencies struggle with cash flow is because they accept enterprise payment terms while paying engineers weekly. Push back on net 30 hard, even with bigger logos.

No bonus or success fees. They sound great in the proposal and never get paid. Stick to fixed milestones.

The math behind why milestones beat hours: a typical dev agency charges $150 to $300 an hour. A booked weekly engineer (whether on your bench or via a marketplace) costs $1,000 to $2,000 a week, which is $25 to $50 an hour equivalent at 40 hours. If you bid hourly you are leaving 3 to 6x of margin on the table. If you bid milestones with a fixed scope, you bank that spread.

For deeper margin math on running an agency, our build a 6-figure dev agency breakdown walks through utilization, retainer mix, and the gross margin floor most shops should never bid below.

How to staff the proposal without hiring

Here is the gap most articles skip: you cannot bid milestone work confidently if your only staffing option is your existing team. The minute the project is bigger than your bench, you pad the timeline or pad the price. Both lose deals.

The structural answer is bench-on-demand staffing. Keep a small core team. For spiky project work, book engineers by the week against the milestone, then release them when it closes. You bid aggressive timelines without carrying salary.

Cadence is one option here. Founders and agencies book vetted engineers in 2 minutes against weekly billing. Every engineer on the platform is AI-native by default (Cursor, Claude Code, and Copilot are tested in a voice interview before they unlock the platform), so the spec-to-shipped lag is shorter than a typical contract role. Pricing tiers:

  • Junior, $500/week. Cleanup, dependency hygiene, integrations with good docs.
  • Mid, $1,000/week. Standard features, end-to-end shipping, refactors.
  • Senior, $1,500/week. Owns scope, architecture, complex refactors.
  • Lead, $2,000/week. Architectural decisions, fractional CTO work.

Two patterns work for agencies. White-label: book a Cadence engineer at $1,500 a week, bill the client at the agency rate ($4,000 to $8,000 weekly equivalent), and bank the spread. Partner referrals: agencies in the Cadence partner program earn 10 percent recurring on every founder they refer, on top of any white-label margin.

The point is not to plug Cadence. The point is that you cannot win milestone-priced proposals at agency rates if your only lever is hiring full-timers. Some structured bench has to exist.

Tools that do not matter (and the one thing that does)

Most "how to write a proposal" articles spend their word count on tooling. Tooling matters less than you think.

ToolBest forPrice (USD/mo)Where it winsWhere it loses
Better ProposalsPolished design, fast send$19 to $49Templates, e-signing, simple analyticsLimited team collaboration on bigger deals
PandaDocSales-driven shops$19 to $49Strong CRM integrations, approval flowsEditor can feel heavy for short proposals
ProposifyMid-size to large agencies$35 to $65Snippets, analytics, branded libraryMore UI weight than solo shops need
Notion plus PDF exportSolo and small shops$0 to $10Speed, full control of layoutLooks DIY without good templating
Google Docs plus DocuSignAnyone who hates SaaS$0 to $15Universal, easy collaborationNo proposal-native analytics

Pick whichever tool gets a polished proposal in front of the buyer in under 60 minutes. The differentiator is never the tool. It is the narrative section, the named risks, and the milestone math.

If you are debating tools versus building your own templates in Notion, build it in Notion. The templates that ship deals are the ones you have used 30 times and refined. A flashy SaaS proposal with a generic narrative loses to a clean Notion PDF with a sharp narrative every time.

Common mistakes that lose deals

Six patterns we see kill otherwise winnable proposals:

  1. Too long. Anything over 10 pages signals you do not know which parts matter. Cut everything that does not directly answer "do you understand my problem, what will you do, and what will it cost."
  2. No risk section. A proposal with zero named risks reads as either junior or dishonest. Two or three specific risks with mitigations is the sweet spot.
  3. Hourly only. Hourly bids signal you have not scoped the work and are protecting your downside at the client's expense. Move to milestones even on small deals.
  4. No references. Two contactable references, named, with the work they hired you for, beats a 12-logo wall every time. Buyers in 2026 verify references; vague testimonials raise flags.
  5. No change-order policy. This is the single highest-leverage paragraph in the document. Without it, scope arguments get personal. With it, they get procedural.
  6. No walk-away clause. Healthy proposals say what is true and let the buyer self-select. Discounting in the proposal itself, or matching a competitor's number, almost always loses both the deal and the margin.

You will recognize most of these from your own losing proposals. The fix is structural, not stylistic.

What to do next

Pick one proposal you sent in the last 90 days that did not close. Rewrite it against the three-section template: narrative, scope, price. Cut the page count to 8 or fewer. Add a risks paragraph and a change-order clause. Replace hourly line items with milestones. If you cannot staff the milestones from your current bench, pre-stage a Cadence booking against the spec so you can quote a real timeline.

Then send the rewrite to the same buyer with a one-line note: "I think we got the scoping wrong the first time. Here is what we should have proposed." This single move re-opens deals at roughly a 1-in-4 rate, which beats most cold outbound.

For the broader playbook on how dev shops find clients in the first place, our find clients for a dev agency post covers the inbound channels (SEO, referral programs, productized retainers) that feed the proposal pipeline. Proposals only matter if qualified leads exist.

Want to staff your next milestone without hiring? Book a Cadence engineer in 2 minutes, get a 48-hour free trial, replace any week. Weekly billing means you scale staff to the proposal, not the proposal to your bench. Earn 10% recurring as a Cadence partner.

FAQ

How long should a dev agency proposal be?

Five to eight pages, including scope and price. Anything longer signals you do not know which parts matter. Move team bios, case studies, and detailed legal terms to a separate appendix or a follow-up document.

Should I quote hourly or milestone-based?

Milestone-based with 50 percent upfront. Hourly bids signal junior work, cap your effective rate, and invite scope creep arguments at every status meeting. Milestones with named deliverables let you protect margin and force scope clarity before signature.

What payment terms should I include?

50 percent on signature, 25 to 50 percent split across midpoint milestones, balance on launch or production cutover. Push for net 0 or net 7 terms. Net 30 forces you to finance the client's project on your cash, which is the same trap that kills most agencies.

How do I handle scope creep without losing the client?

Build a written change-order policy into the proposal itself. New work outside scope requires a signed change order with revised price and timeline. Small changes (under 4 hours) bill at a fixed hourly rate; larger changes get re-priced as a new milestone. Pre-resolving this in writing makes the conversation procedural instead of personal.

Should I include references in the proposal?

Yes, but only two contactable named references with the specific work they hired you for. Long testimonial walls feel padded and trigger AI-generated proposal pattern matching. Buyers in 2026 verify references quickly; specific named references with real outcomes beat 12-logo banners every time.

What is the single biggest mistake on dev agency proposals?

Quoting hourly only with no fixed milestone payouts. It signals junior work, kills your margin, and leaves the client wondering what they are actually buying. Move to milestones with 50 percent upfront on every proposal over $5,000, no exceptions.

All posts