
CodeCaste, a web development agency, posted publicly about their experience with fixed-cost projects: “The truth about fixed-cost website projects — they almost ruined us” 1.
Their story is painfully familiar to anyone who has run a software house. A client wants a fixed price. The agency wants to win the deal. A number is agreed upon. And then the project begins.
The scope changes. The requirements were never as clear as everyone thought. The client’s “small addition” turns into a week of work. The agency eats the cost because they’re already over budget.
The project that was supposed to build a relationship instead destroys trust. The agency loses money. The client loses confidence. Both sides walk away disappointed.
Why Fixed-Price Projects Are Dangerous for Agencies
1. Scope Is Never Fixed
Fixed-price assumes the scope is known and stable from day one. In practice, every software project evolves. Requirements that seemed clear during the sales process reveal ambiguity during implementation. The client discovers new needs. The market changes.
The agency is left with three choices: absorb the cost, fight the client, or deliver a product that meets the letter of the contract but not the spirit. None of them are good for the relationship.
2. The Risk Buffer Problem
Agencies that don’t add a risk buffer to their fixed-price quotes can’t survive the inevitable scope adjustments. But agencies that do add a buffer struggle to justify the higher price without admitting they padded it.
The result: many agencies underprice their risk, win the deal, and lose margin on delivery.
3. Sales Pressure
The pressure to win deals pushes agencies to say “yes” to fixed-price requests they shouldn’t accept. The sales team promises a price and timeline based on optimistic assumptions. The delivery team inherits a project that was never realistically estimated.
The Math of a Failed Fixed-Price Project
Consider a typical scenario:
- Estimated effort: 200 hours at $100/hour = $20,000
- Actual effort: 320 hours (60% overrun, which is common for fixed-price projects with unclear scope)
- Effective hourly rate: $20,000 / 320 = $62.50/hour — a 37.5% margin loss
- With overhead (30%): actual cost per hour = $130 × 320 = $41,600
- Project loss: $41,600 - $20,000 = -$21,600
The agency lost $21,600 on a project they thought would generate $6,000 in profit. Projects like this don’t just erode margin — they threaten the business.
How to Protect Your Agency
1. Always Add a Risk Buffer
Before sending a fixed-price quote, add a transparent risk buffer. A common approach is the PERT method: (Optimistic + 4×Most Likely + Pessimistic) / 6 1. This gives you a weighted estimate that accounts for uncertainty.
2. Show the Client a Menu
Instead of one fixed price, present:
- Core scope: what’s included, with a fixed price
- Optional scope: what’s available as an add-on
- Risk buffer: explicitly stated as a percentage
This transparency builds trust and sets expectations. The client sees that you’re not hiding anything.
3. Use Market Benchmarks
When a client questions your price, benchmark data helps. “Our quote of $20,000 is at the low end of the market range for this project type 2. Adding a 25% risk buffer brings it to $25,000, which is still within market norms.”
4. Define “What’s Included” and “What’s Extra”
Every fixed-price proposal should clearly state:
- What’s included in the base price
- What’s available as an add-on
- How changes will be requested, estimated, and approved
- A simple rule: any request adding more than 2 hours of work triggers a written change order
How Apropo.io Helps Agencies
Quote Sanity Check: Before sending a fixed-price quote, check it against market benchmarks. Is your risk buffer adequate? Is the total within the typical range for similar projects?
Market Benchmarks: Support your pricing with real market data. When a client pushes back on the risk buffer, show them where your quote falls relative to the market.
Interactive Quotes: Present core scope, optional scope, and risk buffer as separate toggles. Let the client see exactly what they’re paying for and adjust the scope to fit their budget.
Summary
Fixed-price projects aren’t inherently bad — but they’re dangerous when priced without proper buffers. The story of CodeCaste is a cautionary tale for every agency owner.
Before accepting your next fixed-price project, check: does your estimate include a realistic risk buffer? Is the scope clearly defined? Does the client understand what’s included and what’s not? And most importantly — does the price reflect the real cost of delivering certainty?
Footnotes
-
LinkedIn post by CodeCaste — “The Truth About Fixed-Cost Website Projects.” Source ↩ ↩2
-
Apropo Insights Benchmarks — market data from anonymized RFP and proposal logs. See methodology. ↩
