You ask three companies for a quote: one says ₺400,000, one ₺700,000, one ₺1,100,000. Which is right? Often the three aren't pricing the same thing: one covers only coding, another adds testing and training, a third includes a year of maintenance. The only way to compare software project costs is to know what cost is made of and how it's calculated. In this guide we answer how to estimate software development cost step by step, using one example project, from deriving effort from scope to three-year total cost and a comparison with off-the-shelf software.
We built the guide like a short course: seven lessons, each with one concept, a worked calculation and an exercise. Our example project is the first release of the dealer portal from the project plan article, where total effort came to 53 person-days. Here we turn that effort into money. All figures are illustrative; in your own calculation, use your real rates or the rates of the company quoting.
What Does a Software Project's Cost Consist Of?
A software project's cost consists of development, integrations, data migration, infrastructure and licences, training, maintenance and support, and the time your own team spends. Some of it is one-off, some repeats every year.
| Item | What it includes | One-off or recurring? |
|---|---|---|
| Development | Analysis, design, coding, testing, launch | One-off |
| Integrations | Connections to ERP, payment, e-invoicing, shipping and similar systems | One-off, with recurring upkeep |
| Data migration | Cleaning and moving data from the old system | One-off |
| Infrastructure and licences | Servers, domain, email and SMS services, third-party licences | Recurring |
| Training and rollout | User training, guides, early-period support | One-off |
| Maintenance and support | Bug fixes, updates, small enhancements | Recurring |
| Your own team's time | Decisions, testing, data preparation, attending training | Throughout; often not counted |
When comparing quotes, your first job is to write in a table which of these seven items each quote covers. When numbers differ, scopes usually differ.
Recommended reading: Our custom software development service
How Should You Use This Guide?
Follow the lessons in order; each uses the result of the previous one.
| Lesson | Topic | What you will be able to do |
|---|---|---|
| 1 | Deriving effort from scope | Find the person-day total from work packages |
| 2 | Extra work and contingency | Include forgotten work and risk in the effort |
| 3 | Daily team rate | Calculate the real price of a person-day |
| 4 | Development cost | Turn effort into money |
| 5 | Three-year total cost | See the real investment including infrastructure and maintenance |
| 6 | Comparing with off-the-shelf software | Find the break-even number of users |
| 7 | Quotes and scope changes | Compare quotes and price a change |
Lesson 1: How Do You Derive Effort from Scope?
Software cost is first measured as effort in person-days, and effort is found by splitting the scope into work packages and estimating each one. "How much money?" comes after "how many person-days?", because most software cost is labor.
The work packages of our example project and their expected durations come from the PERT calculation in the project plan article: requirements analysis 5, UI design 8, database and API 10, front end 12, ERP integration 9, testing 6, training and launch 3 person-days. Total effort = 5 + 8 + 10 + 12 + 9 + 6 + 3 = 53 person-days.
The strength of this method is that packages can be discussed one by one: "Does ERP integration really take 9 days?" is a far more concrete conversation than "Does the project cost ₺600,000?". Ask the company quoting for an effort breakdown by package too; a quote with no breakdown can't be questioned.
Recommended reading: How to create a project plan: work breakdown and PERT estimates
Lesson 2: How Do You Add Extra Work and Contingency?
The sum of the work packages isn't the project's real effort, because project management, meetings and coordination appear in no package, and every project carries uncertainty. These two items are added to the core effort proportionally.
Management allowance: the project manager's planning, tracking and communication effort. We use 15% in the example: 53 × 0.15 ≈ 8 person-days, total 61.
Contingency: set according to how settled the requirements are, how familiar the technology is and how good the systems to integrate are; the percentage reflects the uncertainty of the team and the work. We use 20%: 61 × 0.20 ≈ 12 person-days, total 73 person-days.
Contingency is not a cushion; it's a calculated risk budget. If requirements are written and approved, it can be kept low; with an undocumented ERP integration or a first-time technology it should be raised. A quote with no contingency points to one of two things: either the risk was overlooked, or the difference will later be billed to you as a "scope change".
Lesson 3: How Do You Calculate the Daily Team Rate?
The selling price of a person-day starts from the employer's cost of the employee divided by the truly productive days, with overhead and profit added on top: Daily selling rate = (Monthly employer cost ÷ Productive days) × (1 + Overhead allowance) ÷ (1 − Target margin).
In the example, a developer costs the employer ₺108,000 a month. A month has 22 working days, but after leave, meetings, training, waiting and support work, only 18 are truly productive.
| Step | Calculation | Result |
|---|---|---|
| Cost of a productive day | ₺108,000 ÷ 18 | ₺6,000 |
| Overhead allowance (20%: office, equipment, management, sales) | ₺6,000 × 1.20 | ₺7,200 |
| 20% target margin (by dividing) | ₺7,200 ÷ 0.80 | ₺9,000 |
Two details matter. First, dividing by 22 days understates the daily cost; use truly productive days. Second, margin and markup differ: adding 20% on top of ₺7,200 gives ₺8,640, a real margin of about 16.7%. If you target a margin, you have to divide. It's the same lesson as the pricing lesson in the product costing article.
You can also use this calculation in reverse when judging a quote: a company's daily rate far below the other quotes is a warning sign; ask why.
Recommended reading: How to calculate product cost: margin versus markup
Lesson 4: How Do You Find the Development Cost?
Development cost is total effort multiplied by the daily selling rate: 73 person-days × ₺9,000 = ₺657,000. This is the one-off investment for the core development; infrastructure, maintenance and your own team's time are outside it.
To see where the money goes, spread the figure across its components. Loading the management and contingency allowances proportionally, the 53 person-days of core effort come to ₺477,000, the management allowance to about ₺72,000 and the contingency to about ₺108,000; core work is about 73% of the total. Seeing this breakdown in a quote lets you discuss hidden items like "twenty percent allowance".
Lesson 5: How Do You Calculate the Three-Year Total Cost?
Software's real cost doesn't end with the initial investment; infrastructure, licence, maintenance and support spending continue for years after launch. So comparisons are usually made on three-year total cost of ownership (TCO): Total cost = Development + Years × (Infrastructure and licences + Maintenance).
| Item | Assumption | Amount |
|---|---|---|
| Development (one-off) | 73 person-days × ₺9,000 | ₺657,000 |
| Infrastructure and licences (yearly) | Servers, domain, email and SMS | ₺60,000 |
| Maintenance and support (yearly) | 15% of development cost | ₺98,550 |
| Recurring total per year | ₺60,000 + ₺98,550 | ₺158,550 |
| Three-year total cost | ₺657,000 + 3 × ₺158,550 | ₺1,132,650 |
The maintenance percentage has no single right value; it depends on the software's size, rate of change and support level, and must be written explicitly in the contract. In this example the recurring costs add a burden of about 72% of the development cost over three years (₺475,650 ÷ ₺657,000). Deciding on the initial investment alone is looking only at the visible part of the iceberg.
Lesson 6: How Do You Compare with Off-the-Shelf Software and Find the Break-Even?
An off-the-shelf solution's cost grows with the number of users while custom software's cost is largely fixed, so the two become equal at some number of users. That point is the break-even user count: Break-even users = (Custom software three-year cost − Off-the-shelf one-off cost) ÷ (Monthly price per user × 36).
In the example, an off-the-shelf solution costs ₺600 per user per month, and it needs ₺150,000 of one-off adaptation and integration to meet the dealer portal need. The three-year price per user is 600 × 36 = ₺21,600.
| Number of users | Off-the-shelf, 3 years | Custom software, 3 years | Cheaper option |
|---|---|---|---|
| 25 | ₺21,600 × 25 + ₺150,000 = ₺690,000 | ₺1,132,650 | Off-the-shelf |
| 40 | ₺21,600 × 40 + ₺150,000 = ₺1,014,000 | ₺1,132,650 | Off-the-shelf |
| 46 | ₺21,600 × 46 + ₺150,000 = ₺1,143,600 | ₺1,132,650 | Custom |
| 100 | ₺21,600 × 100 + ₺150,000 = ₺2,310,000 | ₺1,132,650 | Custom |
Break-even = (₺1,132,650 − ₺150,000) ÷ ₺21,600 ≈ 45.5 → about 46 users. In this example, custom software pulls ahead on cost beyond 46 users.
This calculation compares only money; it doesn't include fit of process and data. If the off-the-shelf solution doesn't fit your workflow, the cost of manual work, data moving between systems and waiting hasn't entered the table; and the efficiency gained from software that works your way isn't counted for custom software either. Write down those items outside the two columns when you decide.
Recommended reading: Off-the-shelf or custom software? A decision guide
Lesson 7: How Do You Compare Quotes and Price a Scope Change?
When comparing quotes, look first at the pricing model: a fixed-price quote makes the budget predictable but requires a clear scope; a time-and-materials quote (by hours or days) is flexible but asks you to watch budget control yourself.
| Topic | Fixed price | Time and materials |
|---|---|---|
| Budget predictability | High, if scope is fixed | Low; set by actual spend |
| Need for a clear scope | Very high; uncertainty is priced in | Low; scope can take shape along the way |
| Change | Each change is priced separately | Flows in naturally |
| Risk | Mostly with the supplier, added to the price | Mostly with the customer |
| Best for | Work with clear requirements and limited scope | Work that is discovered along the way, with changing scope |
How do you price a scope change?
Every new request during the project is priced with the same formula: Extra cost = Extra effort × (1 + Management allowance) × Daily rate. For example, a promotions module is requested for the dealer portal with 8 person-days of extra effort: 8 × 1.15 = 9.2 person-days; 9.2 × ₺9,000 = ₺82,800. You also check whether the module lengthens tasks on the critical path; if it does, the delivery date changes too.
The benefit is that "a small addition" becomes a concrete price. If a change request process is written into the contract from the start, each request is approved in writing with its effort, price and schedule impact, and the scope doesn't swell silently.
When comparing quotes, ask every company the same seven questions:
- Is there an effort breakdown? Are person-days and roles shown per package?
- What's out of scope? Are testing, training, data migration, integrations and early support included in the price?
- How is uncertainty handled? Is there an allowance, or does the risk sit with you?
- What are the maintenance scope and price? Are the yearly amount, support period and scope in writing?
- Whose name are infrastructure and licences in? Domain, server and third-party licences in your name?
- Who holds the source code and data? Can you take the code and data when the contract ends?
- How are changes managed? Is the price and schedule impact of a new request approved in writing?
What Are the Most Common Software Costing Mistakes?
Budget mistakes rarely come from wrong multiplication; they come from items never written down. The most frequent are:
- Looking only at the initial investment: Infrastructure, licences and maintenance can reach a significant share of development cost over three years.
- Taking a quote without writing the scope: Quotes with unclear scope can't be compared; the difference is paid later as a "scope change".
- Trying to strip out contingency: A quote with zero contingency doesn't remove risk, it just hands it to you.
- Ignoring your own team's time: The effort you set aside for decisions, testing and data preparation is part of the project's cost.
- Choosing the lowest price: A low price often means incomplete scope, thin testing or short maintenance.
- Not writing maintenance into the contract: Every request after launch gets priced at a moment when your negotiating position is weak.
We recommend reading: How to Get Custom Software Developed: Choosing a Company, Quotes, Contract and Payment Plan
We recommend reading: How to Choose an ERP: A Guide to Process Mapping, Module Priority, Payback and Rollout
We recommend reading: What Is Custom Software? Types, Examples, Advantages and Which Businesses It Suits
We recommend reading: Mobile App Development Cost: A Guide to Effort, Scope, MVP and Three-Year Total Cost
We recommend reading: What Is a Software Maintenance and Support Agreement (SLA)? Scope, Response Times and Fees
We recommend reading: What is low-code? Limits, risks and cost of low-code development
Recommended reading: What is microservices architecture? Monolith difference, cost and decision guide
Recommended reading: What Is an MVP?
Your Software Project Budget with İnovabil
At İnovabil we build the budget by making the scope clear before naming figures. After requirements analysis, the scope is set out in writing with a schedule split into work items and an effort breakdown, so what a quote covers, what it doesn't and how changes are handled are visible from the start. Because we deliver in small increments, you see a working version before the project ends and can compare the budget with actuals.
If off-the-shelf is the better fit for you, we say so openly, and for standard needs we can also suggest our own products. Tell us in a few sentences what the project will do, how many people will use it and which systems it connects to, and we'll prepare a scope and budget outline tailored to you.
Recommended reading: Our software development process: from analysis to launch, step by step
Frequently Asked Questions
How do you estimate software development cost, and what is the formula?
Split the scope into work packages and find effort in person-days; add a management allowance and contingency; multiply the total by the daily team rate to get development cost. For the real cost, add yearly infrastructure, licence and maintenance costs.
Why do custom software prices vary so much between companies?
Often the quotes don't price the same scope: one covers only coding, another also includes testing, training, integrations and maintenance. Effort, daily rates and contingency differ too. To compare quotes, ask for the effort breakdown, out-of-scope items and maintenance scope in writing.
What is contingency in software projects and how much should it be?
Contingency is a risk budget added on top of effort, based on how clear the requirements are, how familiar the technology is and how good the systems to integrate are. There's no single right percentage; keep it low when requirements are clear and approved, higher when there are many unknowns, and write down the reasoning.
How is yearly software maintenance cost determined?
Maintenance cost is usually set as a percentage of development cost and varies with the software's size, rate of change and support level. The scope of bug fixes, updates and small enhancements, and the yearly price, should be written explicitly in the contract.
At what point do off-the-shelf and custom software cost the same?
Because off-the-shelf cost grows with the number of users while custom cost stays largely fixed, there's a break-even user count: (custom three-year cost − off-the-shelf one-off cost) ÷ (monthly price per user × 36). This compares money only; fit to your process needs to be assessed separately.