· 16 min read

Software Development Cost Estimation in 2026: Methods, Ranges and a Three-Point Calculator

Short answer first: with an offshore or nearshore vendor, a simple software product costs $40,000–90,000 in 2026, a mid-size one $90,000–250,000, and complex or regulated software $250,000–750,000 and up. A US agency charges about 2.5–3 times that. Where your project lands inside those ranges depends on how it is estimated, and most estimates you will receive are built in one of five ways. This guide shows each method, the math behind it, and how to tell a reliable estimate from a hopeful one.
A task breakdown tree feeding into a ruler and a bell curve, with a range marked on it
Holding two estimates that don't match?Send them over. We'll compare the hours, assumptions and buffers line by line.
Explore my options
$40k–90kSimple: one platform, core features, 1–2 integrations (800–1,800 hours)
$90k–250kMid-size: web plus mobile, payments, admin panel, 3–6 integrations
$250k–750k+Complex: multi-tenant platforms, legacy sync, HIPAA or PCI DSS scope

Those ranges assume a blended rate of $45–80 an hour and include design, QA and project management. They are what a finished estimate tends to look like. This article is about how you get from "we want to build X" to a number like that, and how much you can trust it. For the full list of cost drivers, see our pillar guide to software development cost. For how the total splits across phases and roles once it exists, see the software development cost breakdown.

The anatomy of an estimate

Strip away the formatting and every software estimate has the same four layers:

  1. Engineering hours. Backend, frontend, mobile and DevOps time to build the features. This is where estimation methods differ.
  2. Overhead roles. QA, UI/UX design, project management and business analysis. Usually expressed as a percentage of engineering: QA 20–35%, PM and BA 10–20%, design 8–15% depending on how custom the interface is.
  3. Contingency. A buffer that reflects how much is still unknown. Honest estimates show it. Many hide it in inflated task numbers, which makes it impossible to discuss.
  4. Rate. A blended hourly rate across the team, driven by region and seniority.

Here is how those layers stack up for a typical mid-size product where engineers estimated 1,000 hours of build work.

From engineering hours to a quote (example) 1,000 h +250 h +150 h +120 h +304 h 1,824 h × $58/h ≈ $106k Engineering QA PM and BA Design Contingency Total WBS, 3-point 25% 15% 12% 20% of subtotal CEE blended rate
The engineering estimate is only 55% of the final hours in this example. Quotes that look cheap often show the first bar and leave out the rest.

When a client shows us two competing quotes that differ by 2×, the gap is almost never in the engineering bar. One vendor included QA at 25% and a 20% buffer; the other quoted developer hours and planned to bill the rest as "change requests". Compare layer by layer and the mystery usually disappears.

Five estimation methods and when each one works

There is no single correct method. Each one fits a stage of the project and a level of detail. A good vendor uses two of them and checks one against the other.

MethodWhen it fitsTypical accuracyEffort to produceWeak spot
Analogous (top-down)Idea stage, first call, budgeting a go/no-go decision−50% to +100%HoursOnly as good as the comparison project
Parametric (function points, COCOMO II, per-module rates)Early scope with a feature list; enterprise and public tenders±30–50%A day or twoNeeds calibrated historical data; misses integration surprises
Bottom-up WBSAfter discovery, when screens and flows exist±15–25%Several daysForgets work nobody listed (migrations, environments, edge cases)
Three-point / PERTOn top of a WBS, to turn task guesses into a range with a confidence levelMakes the uncertainty explicit+20–30% on top of WBSGarbage in, garbage out on the pessimistic values
Story points and velocityA running agile team with a groomed backlog±10–20% after 3–5 sprintsContinuousUseless before the team has a measured velocity

1. Analogous estimation: "a similar project took X"

The estimator picks one or more finished projects that look like yours and adjusts: "the last marketplace was 3,800 hours; this one has no mobile app but has two extra integrations, so call it 3,000–4,500." It is fast and, from an experienced team with real history, surprisingly useful for a first decision. It goes wrong when the comparison is superficial. A "booking app" can mean a two-screen appointment form or a multi-location scheduling engine with payments, waitlists and staff payroll.

Use it to decide whether the project is a $60k problem or a $400k problem. Do not sign a fixed price based on it.

2. Parametric estimation: size times a calibrated rate

Parametric models measure the size of the software and multiply it by a productivity factor. The classic size measure is function points (counted under the IFPUG standard from inputs, outputs, inquiries, files and interfaces). Barry Boehm's COCOMO II model turns size into effort and adjusts it with cost drivers such as team experience, product complexity and required reliability. Agencies use a lighter version of the same idea: hours per screen, per feature module or per integration, calibrated on their own history.

The strength is consistency, which is why government and enterprise tenders still ask for function point counts. The weakness is that the productivity factor hides huge variation. A standard login module and an integration with a 15-year-old ERP can count as similar "size" and differ by 10× in effort.

Typical module sizes from our own estimates look like this (engineering hours for one platform, before QA and PM):

Typical engineering hours per feature, one platform

Sign-up, login, profiles40–80 h
Push and email notifications30–70 h
Well-documented API integration40–100 h
Search with filters50–120 h
Payments: Stripe one-time + subscriptions60–140 h
Reporting dashboard80–180 h
Admin panel with roles80–200 h
Real-time chat120–250 h
Legacy or undocumented integration150–400 h
Bar length shows the midpoint of each range. Ranges come from estimates we write and competing proposals clients share with us; your stack and requirements will move them. Payment specifics are in our payment gateway integration cost guide, integrations in API integration cost.

3. Bottom-up estimation with a work breakdown structure

A work breakdown structure (WBS) splits the product into epics, features and tasks small enough to estimate with some confidence, usually 4–24 hours each. The engineers who will do the work estimate each task, and the totals roll up. This is the method behind most fixed-price quotes and serious time-and-materials budgets.

A WBS line for a payments feature might read: "Stripe Checkout session, backend, 12 h. Webhook handling and idempotency, 10 h. Subscription upgrade and downgrade, 16 h. Failed payment retries and emails, 10 h. Refunds from admin, 8 h. Tests, 12 h." Each line is checkable. You can ask "do we need upgrade and downgrade in the first release?" and watch 16 hours disappear.

The classic failure is omission, not miscalculation. Tasks that never made it into the breakdown are estimated at zero: environment setup, CI/CD, data migration, accessibility, analytics events, app store submission, error states, the admin tools support staff will need. In our reviews of other vendors' estimates, the missing lines usually add up to 15–25% of the total.

4. Three-point estimation (PERT): turning guesses into a range

Single-number task estimates are almost always optimistic. People estimate the path where nothing goes wrong. Three-point estimation asks for three values per task: optimistic (O), most likely (M) and pessimistic (P). The PERT formula weights them:

PERT in two lines

Expected effort E = (O + 4M + P) / 6. Standard deviation σ ≈ (P − O) / 6. Add 0.84σ for 80% confidence (P80) and 1.28σ for 90% (P90).

A worked example: the payments feature above has O = 60 h, M = 100 h, P = 220 h. The expected value is (60 + 400 + 220) / 6 = 113 hours, not 100. The long pessimistic tail (a payment provider's sandbox that behaves differently from production, a tax requirement nobody mentioned) pulls the expectation up. That is the point: the method captures the asymmetry that single numbers hide.

For a whole project, summing per-task variances gives a narrower range than applying the formula to project totals, because not every task goes badly at once. The calculator below uses project-level totals, which is cautious and fine for budgeting.

5. Story points and velocity: estimating as you go

Agile teams estimate backlog items in story points (relative size, often on a Fibonacci scale, set in planning poker sessions), then measure how many points the team completes per sprint. After three to five sprints the velocity stabilizes, and the cost math becomes simple:

  • Sprint cost: 5 people × 80 hours × $58 = $23,200 per two-week sprint.
  • Velocity: 40 points per sprint, so cost per point ≈ $580.
  • Remaining backlog: 400 points ≈ 10 sprints ≈ $232,000, before the scope the team discovers along the way.

Story points are excellent for forecasting a running project and poor for pricing one that has not started, because a point means nothing until a specific team has delivered some. Be wary of a vendor that quotes a fixed price "per story point" before the team exists.

Three-point estimate calculator

Enter your engineering hours as a range (from a WBS, a vendor's estimate or your own team's gut feel), choose the overhead your project needs and the confidence level you want to budget at. The result is a budget with an explicit buffer, which is easier to defend to a CFO than a single number.

Software cost estimate at a chosen confidence level

Expected engineering hours (PERT)
Total team hours at your confidence level
Budget at your confidence level
P50 cost: half of projects like this finish below it
P90 cost: plan your worst realistic case
Yearly maintenance after launch (~18% of build)

A planning tool, not a quote. Overhead percentages are typical ranges from our estimates. If your pessimistic number is more than three times the optimistic one, the scope is not defined enough to budget: a discovery phase will be cheaper than the buffer.

Try moving only the confidence level. On the default inputs, the difference between P50 and P90 is roughly $30k. That gap is the price of the unknowns in your scope. You can pay it as contingency, or you can spend a fraction of it on discovery to shrink the unknowns themselves.

Why the confidence level matters more than the number

Software effort is not symmetric. A task can finish a little early, but it can finish very late. That skew is why the "most likely" number, the one people instinctively quote, sits to the left of the average.

P50 P80 P90 Optimistic Most likely Pessimistic Effort (hours) → Quote the most likely value and you overrun more often than not. Budget at P80, keep the gap to P90 as a management reserve.
Effort distributions have a long right tail. The peak (most likely) is below the median (P50), which is below the budget you should plan around (P80).

Research on large projects shows how fat that tail is. Bent Flyvbjerg and Alexander Budzier analyzed 1,471 IT projects for Harvard Business Review in 2011: the average cost overrun was 27%, but one project in six overran by 200% on average, with schedules almost 70% late. McKinsey and the University of Oxford, looking at more than 5,400 IT projects, found that large ones ran 45% over budget and 7% over time on average while delivering 56% less value than predicted. The Standish Group's 2020 CHAOS report counted 31% of projects as successful (on time, on budget, full scope), 50% as challenged and 19% as failed.

None of this means estimating is pointless. It means a single number without a confidence level is a guess dressed as a commitment.

Which estimate can you get right now?

Six questions about where your project stands. The result tells you which kind of estimate is realistic today and what to do to get a better one.

What kind of estimate does your project support?

Built by Gilzor

Results we’ve shipped

70+products launched
98%delivered on time
85%clients come back
Art Scherbakov, Co-FounderAndrew Laminsky, CTOYuri Rudenya, Head of Mobile Development at GilzorAlena Timofeeva, Product Marketing Lead

Talk to the people who build it. Tell us about your project and get a free estimate of scope, timeline and cost.

See how we’d approach yours

How a vendor actually builds your estimate

This is roughly the process we follow when a request comes in, and what a careful vendor should be doing on its side. If the estimate you receive skipped most of these steps, it was produced by a salesperson with a spreadsheet.

  1. Read everything, then ask questionsThe first deliverable is a list of questions, not a number. Who are the users and roles? Which systems does it talk to? What happens when a payment fails? Is there data to migrate? The quality of these questions tells you more about a vendor than its portfolio.
  2. Agree what is out of scopeA written "not included" list prevents more disputes than any contract clause. Typical candidates: native tablet layouts, multi-language support, offline mode, admin reporting beyond basic tables.
  3. Break down and estimate by the people who will build itEngineers estimate their own areas, in ranges. A lead reviews for missing tasks: environments, CI/CD, migrations, analytics, accessibility, store submission.
  4. Add overhead roles explicitlyQA, design, PM and BA appear as separate lines with their own hours, so you can see and discuss them.
  5. Build a risk list and size the bufferEach major unknown gets a line: "partner API has no sandbox, +40–80 h if we need to mock it". The contingency comes from this list, not from a gut-feel percentage.
  6. Present a range with assumptionsA P50 and a P80, the assumptions both rely on, and what would change them. Then a proposal for the cheapest way to narrow the range.

What we see in estimates and first calls

  • The scope in the founder's head is bigger than the document. A "simple admin panel" in the brief often turns into roles, audit logs, CSV exports and refunds by the end of the first call. It is normal. It is also why we estimate after questions, not before.
  • Integrations carry the most variance. When we put a range on each feature, integrations with systems the client doesn't control are consistently the widest lines. One phone call with the partner's technical contact narrows them more than any estimation technique.
  • Data migration gets estimated at zero. "We'll import the old data" can be a week or a project of its own, depending on how clean ten years of records are.
  • QA is the first line people try to cut. It comes back as bugs in production, which cost more to fix after release than before it. Our own QA process returns only 5% of "to QA" tasks to developers, and that number is a result of testing being planned into the estimate, not added at the end.
  • Pessimistic values are too optimistic. When engineers give three-point estimates for the first time, their "pessimistic" case is usually what a normal week with a few surprises looks like. We calibrate them against how similar tasks actually went.

Fixed price, time and materials and what each does to the estimate

The contract model changes how the same estimate turns into a price.

  • Fixed price converts the vendor's P80 or P90 into a single number. You pay the buffer whether or not the risks happen, typically 15–30% above the expected cost, and every change becomes a change request. It suits small, well-specified work.
  • Time and materials bills actual hours. You pay closer to the expected cost when things go well and more when they don't. It suits products whose scope will evolve, provided you see hours weekly and set a cap.
  • Capped T&M or phased fixed price is often the best compromise: fixed price for discovery, then T&M with a not-to-exceed budget per release.

If you are comparing models for an outsourced build, our guides on pricing models and the software outsourcing contract cover the clauses that protect the budget.

Hidden costs most estimates leave out

An estimate prices the build. These costs arrive anyway, and a good estimate at least names them:

CostTypical sizeNote
Maintenance and updates15–20% of build cost per yearBug fixes, OS and framework updates, security patches. New features are extra.
Hosting and infrastructure$100–3,000+ a monthGrows with users, data and environments (staging, QA, production).
Third-party services$50–2,000+ a monthEmail, SMS, maps, error monitoring, analytics, search, LLM API usage.
Payment and app store feesPer transactionCard processing fees on payments; Apple and Google take 15–30% of digital in-app purchases.
Compliance$10k–100k+ upfront, plus yearlyHIPAA risk assessments, PCI DSS validation, SOC 2 audits, penetration tests.
Your own team's timeOften 10–20% of a person per vendor teamProduct owner decisions, reviews, acceptance testing. Not on the invoice, still a cost.
Data migration and contentFrom days to monthsCleaning, mapping and importing legacy data; writing and loading content.

As a rule of thumb, three years of running a product costs half to two-thirds of building it. Put that into the business case at the same time as the build estimate, not after launch.

How to reduce the cost without breaking the product

The estimate is a tool for cutting cost, not just predicting it. The cuts that work target hours and uncertainty. The ones that backfire target quality.

  1. Trim the first release by feature, using the WBS. With hours per line, you can see that subscription downgrades cost 16 hours and that nobody will downgrade in month one. Moving lines to "version two" is the largest saving available.
  2. Buy the commodity parts. Auth, payments, search, notifications and admin scaffolding have good services and libraries. Custom-build only what makes your product different.
  3. Pay for discovery to shrink the buffer. A few weeks of business analysis that removes the biggest unknowns can cut the contingency on the build by more than it costs.
  4. Choose cross-platform where it fits. One React Native or Flutter codebase instead of two native apps usually saves 30–40% of the mobile budget. See mobile app development cost for when it doesn't fit.
  5. Pick the region for the right reasons. The hours barely change between regions; the rate does. A CEE team like ours is offshore for a US company, with two to four shared hours with the East Coast. Latin America gives more overlap at similar rates. Our nearshore software development rates guide compares them fairly.
  6. Keep QA in, and keep it early. Cutting QA lowers the estimate and raises the total cost. Defects caught in testing are cheaper than defects caught by customers.

Is this estimate trustworthy? A quick check

Score the estimate you received

FAQ

How do you estimate the cost of software development?
Break the product into features and tasks (a work breakdown structure), estimate each task in hours, ideally with optimistic, most likely and pessimistic values, then add QA, design and project management overhead and a contingency buffer that matches your confidence level. Multiply total hours by the blended hourly rate of the team. At the idea stage, before a breakdown exists, compare with similar past projects instead and accept a wide range.
How accurate are software development cost estimates?
It depends on how much is defined. Steve McConnell's widely used cone of uncertainty puts estimates at the initial concept stage anywhere from 0.25 to 4 times the final cost, narrowing to about plus or minus 10 to 25% once detailed requirements and UI design exist. In practice, a ballpark from a first call is good for budgeting a decision, not for signing a contract.
What is the PERT formula for software estimation?
PERT expected effort equals (optimistic + 4 × most likely + pessimistic) / 6, and the standard deviation is roughly (pessimistic − optimistic) / 6. Adding about 0.84 standard deviations to the expected value gives an 80% confidence (P80) figure, which is a sensible basis for a budget.
How much contingency should a software estimate include?
For a well-defined scope after discovery, 10–20% is common. For a scope that is still mostly ideas, 30–50% is honest, or better, a paid discovery phase that turns ideas into a scope before anyone commits to a budget. Fixed-price quotes usually hide a 15–30% risk buffer inside the price.
Should I pay for a discovery phase before getting an estimate?
If your product has more than a few screens, integrations with other systems or compliance requirements, yes. A discovery phase of two to six weeks typically costs a few percent of the build and produces the requirements, architecture and backlog that a reliable estimate needs. For small, well-defined pieces of work a free estimate is usually fine.
How do story points translate into cost?
Divide the cost of one sprint by the team's average velocity to get a cost per point, then multiply by the points remaining in the backlog. For example, a team costing $23,200 per two-week sprint that delivers 40 points has a cost of about $580 per point. This only works once the team has run several sprints and its velocity has stabilized.

Where Gilzor fits

We write estimates the way this article describes: questions first, hours by feature and role, a range with its assumptions and risks. When the scope is too open for that, we say so and propose a short discovery phase that ends in a backlog any team can estimate, ours or someone else's. Over 70 projects launched, 85% of our clients come back, and 98% of our work has been delivered on time, which says less about luck than about estimates that included the boring lines.

If you already have a quote and want a second opinion on the hours, the calculator and the checklist above are a good start, and the form below is the next step.

No sales pitch

Get a straight answer for your project

Tell us what you’re building. We’ll reply with options, a rough cost and timeline. If we’re not the right fit, we’ll say so.

Next, a few optional questions so the first call is useful. We use your details only to reply to your request. Privacy Policy

Art Scherbakov
Written byArt Scherbakov

Co-Founder of Gilzor. Works with founders and product companies on how to staff and run engineering: team extension, dedicated teams, and getting stalled projects moving again.

Gilzor · Business Analysis partner

Need a team for your product?

95%referred by business partners
70+successful launches
85%repeat business
98%delivered on time

The team behind them

Art Scherbakov
Art ScherbakovCo-Founder
Andrew Laminsky
Andrew LaminskyCTOLinkedIn
Yuri Rudenya
Yuri RudenyaHead of Mobile Development at GilzorLinkedIn
Alena Timofeeva
Alena TimofeevaProduct Marketing LeadLinkedIn
Tell us what you’re buildingOptions, a rough cost and timeline for your project. No commitment.

More insights