Skip to content

Why we charge $4,800 per sprint and what that buys you

The complete math behind our sprint pricing — what two weeks contains, why fixed-per-sprint beats both T&M and fixed-bid, and when it's the wrong model.

Vukasin Vulovic 7 min read
Why we charge $4,800 per sprint and what that buys you

Agency pricing is usually a negotiation wrapped in a mystery, so this post does the unfashionable thing and shows the math. Our sprint price is $4,800, it is on the pricing page in public, and here is exactly what it contains, why it is shaped the way it is, and the three situations where we will tell you it is the wrong model.

The genre owes a debt worth acknowledging: Atomic Object’s “Fixed Budget, Scope-Controlled” model is the spiritual ancestor of per-sprint pricing — the insight that you can fix the budget cadence while letting the scope stay honest about being discovered as you build. What follows is our AI-era descendant of that idea.

What a sprint contains

Two weeks. One senior .NET engineer. Your repository, your priorities.

Day 1 is kickoff and planning — you send documentation ahead, so the kickoff aligns on goals rather than orientation. Days 2–13 are execution, with check-ins on whatever cadence fits your team: daily standups, twice-weekly syncs, or async-only. Day 14 is a demo and hand-off. Code is committed to your repo on your GitHub or Azure DevOps from the first day — you own 100% of it, always, and if you stop after this sprint, you keep everything including the documentation.

Between sprints, everything flexes: pause indefinitely at no cost, continue, or change team size — one developer this sprint, three the next, without renegotiating anything. The minimum commitment is a single sprint. There are no retainer minimums, no account-management fees, and no charges while paused.

And underneath the visible two weeks sits the part that makes the price work: the engineer is not typing alone. Every sprint runs inside the twelve-layer guardrail system — pre-warmed against your repository during Sprint Zero — with AI agents executing the mechanical share of the work under investigation gates, build gates, and the rest of the stack this blog documents in public.

The math, in one paragraph

$4,800 for a two-week sprint is 80 hours of a senior .NET engineer at a $60/hr floor. For calibration: a US senior developer runs $130K–$180K/yr fully loaded — $65–$90/hr on paper, past $100/hr once you count the true cost of an employee — and traditional agency rates for the same seniority run $150–$250/hr. So the honest question is not why our price is low; it is what makes it sustainable. Two things. The template means engagements never start from zero. And the guardrail system means the 80 hours are spent on decisions while agents absorb the boilerplate — the throughput of those hours is what a materially larger allocation used to produce. We priced the sprint against output, then let the system defend the margin. When the system improves, the margin improves; the price stays put.

Why fixed-per-sprint beats time & materials

T&M has an incentive problem nobody in the industry likes saying out loud: the vendor’s revenue is proportional to how long things take. Nobody plans to exploit that, and the incentive works on everyone anyway — in estimation padding, in gold-plating, in the absence of any pressure to compress. You end up auditing hours, which means the trust you are paying a premium for is precisely the thing the billing model erodes.

A fixed sprint price inverts the incentive. Our margin improves only when our throughput does — which is why we invest in the tooling this blog documents instead of in timesheet software. You read the price before the engagement, your board reads it in a budget line, and the invoice never contains a surprise. What T&M genuinely does better — absorbing completely unpredictable scope — is handled by the sprint boundary instead: if the work turns out different than expected, the next sprint’s plan changes, not the current sprint’s bill.

Why it beats fixed-bid, too

Fixed-bid pricing fails in the opposite direction: it pretends the scope of a SaaS build can be fully known up front, then converts every discovery into a change-order negotiation. The vendor prices in a risk premium for the unknowns (you pay for uncertainty whether it materializes or not), and the relationship’s default mode becomes contract interpretation.

Per-sprint pricing is fixed-bid at a two-week granularity — short enough that scope genuinely is knowable, long enough to ship something demonstrable. Every sprint boundary is a fresh decision made with current information: continue, redirect, pause, or stop. You are never more than two weeks from a clean exit, which — as we argued in the engagement-model comparison — changes the risk profile of saying yes in the first place.

What the price includes that quotes usually hide

No onboarding fee — Sprint Zero is a priced engagement that leaves your repo permanently instrumented, not a ramp-up tax. No tooling pass-through — the AI systems, the hooks, the MCP servers are ours to run and yours to keep; nothing is licensed back to you. No management layer — the check-ins are with the engineer doing the work, and the principal answers personally for the engagement. And no knowledge-transfer crisis at the end: the CLAUDE.md, pattern snapshots, and inventories that made the sprints fast stay in your repository, which means your team inherits the setup, not just its output.

A first sprint, worked

Abstract pricing is easier to trust with a concrete ledger, so here is the shape of a representative first sprint on an existing SaaS codebase (details generalized):

Scoped in at kickoff: a subscription-cancellation flow (endpoint, proration logic, email), two bug fixes the client’s team kept deferring, and test backfill on the billing module. Demoed on day 14: the cancellation flow end-to-end, both bugs closed, billing coverage up — plus one item nobody scoped: the inventory tables installed during Sprint Zero had flagged a duplicate tax-calculation path, fixed as part of the proration work rather than discovered in production next quarter. Moved to sprint 2, explicitly: the admin-side cancellation reporting, because the client’s team wanted a design pass first — a decision made at the boundary, costing nothing.

That un-scoped fourth item is the recurring pattern worth noticing: the guardrail system’s ground-truth layers keep surfacing the small structural debts that hourly engagements have no incentive to mention.

The questions every scoping call asks

“What if you finish the scope early?” We pull the next priority forward — the sprint buys the two weeks of throughput, not a fixed task list. In practice “early” means the demo covers more, not that anyone stops working on day 11.

“What if it takes longer than the sprint?” The unfinished item leads sprint 2’s plan — at the same price, with you deciding at the boundary whether it is still the priority. What never happens: a surprise invoice for the overrun. The overrun risk is ours; that is what the fixed price is.

“Do you discount at volume?” No — and the reason is the incentive structure this whole post defends. A volume discount rewards committing to more sprints than you may need, which is the retainer model wearing a different hat. The price is the price at one sprint or ten; the flexibility is the discount.

When the sprint model is wrong for you

Three honest disqualifiers. Less than a sprint of work — a code review, an architecture question, a second opinion on a quote — is what the $80 consult exists for; buying a sprint for it would be waste. A permanent core team — if the work is your differentiator and never-ending, hire; we will say so on the scoping call, and the cost breakdown post gives you the numbers to justify the hire internally. Pure staff augmentation — if you need hands under your own management, at the lowest possible rate, with your own process — offshore augmentation beats us on price and we do not pretend otherwise.

Everything else — project-bound builds, feature velocity beside an existing team, evolving scope that fixed-bid would punish — is what the model was shaped for.

The next step, sized appropriately

The entry point is deliberately small: a free 30-minute Sprint Zero scoping call — what your repo needs, what the first sprint would contain, and whether the model fits at all. If the answer is no, you will hear it on the call; the disqualifiers above are not decoration. And if you want the full cost context first, the line-item breakdown of what .NET SaaS work costs in 2026 is the companion read.