How We Estimate Software Projects

No one gets estimates 100% right. But there's a difference between a guess and an educated one. Here's our process.

Why Estimates Are Hard

Software projects are full of unknowns. Requirements change. Integration points break. Things that looked simple turn out to have edge cases. Anyone who promises a fixed price with 100% accuracy either hasn't built much software or is padding the estimate so heavily that you're overpaying for the padding.

Our approach: We give ranges, not single numbers. We break projects into phases so you can stop and reassess. And we're upfront about what could push the estimate higher.

Discovery First

We don't give firm estimates from a one-paragraph email. We need to understand the workflow, the data, the integrations, and the edge cases. That usually means a 1–2 hour call, sometimes a follow-up to look at existing systems or spreadsheets.

For larger projects, we do a paid discovery phase. It's typically 1–2 weeks of work. We document requirements, identify risks, and produce a detailed scope document. That document becomes the basis for the estimate. The discovery fee is credited toward the project if you move forward.

Breaking It Down

We estimate in chunks: features, integrations, UI work, testing. Each chunk gets a range (e.g., 40–60 hours). We add buffer for unknowns—usually 15–20% for projects with clear requirements, more when things are fuzzy.

We also call out dependencies. "This assumes your API documentation is accurate." "This assumes we get access to the test environment by week 2." When those assumptions break, the estimate can shift. We flag that early.

Presenting the Number

We give you a range and a most-likely number. "We estimate 120–160 hours, with 140 as our best guess." We explain what could push it higher: scope creep, delayed feedback, third-party API issues. We also explain what could bring it down: you're more decisive than average, the integration is simpler than we thought.

Some clients want a fixed price. We can do that, but it means we add more buffer—often 25–30%—to cover the risk. You're paying for certainty. For clients who can tolerate some flexibility, we prefer time-and-materials with a cap. You get a ceiling; we get room to handle surprises without a change order for every little thing.