How Much Does Custom Software Cost?
What drives the cost of a custom software project, how to read an estimate, and why the maintenance line matters more than the build.
Anyone who gives you a number before understanding your process is guessing, and you’ll pay for the guess later — either in change requests or in corners cut. What can be explained honestly is what moves the number.
The five real cost drivers
1. Business rules, not screens
A form is cheap. A form whose fields change based on customer type, whose validation depends on stock, and which triggers different approvals over a threshold is not. When we scope, we count rules and exceptions, because that’s where the work is.
The clearest signal of an expensive project is a sentence starting "usually it works like this, except when…".
2. Roles and permissions
One type of user is simple. Five roles with different visibility, editing rights and approval powers multiplies both the build and the testing. Every combination needs to be correct, and "correct" often means "legally correct".
3. Integrations
Each external system is a small project: authentication, data mapping, error handling, retries, and someone to talk to when it breaks. A modern documented API is a day or two. An old system with a file export and no support is a fortnight and a lasting maintenance obligation.
4. Data migration
Moving from the old system to the new one is routinely underestimated. Real data is messier than anyone remembers: duplicates, missing fields, values that mean something different depending on when they were entered.
5. Non-functional requirements
Uptime expectations, audit trails, GDPR obligations, encryption, retention rules, accessibility. Each is legitimate. Each has a cost. They should be stated up front rather than discovered during a security review two weeks before launch.
How to read an estimate
A good estimate:
- is a range, not a single number, and says what would move it to each end;
- separates discovery, build, migration and launch;
- names what’s excluded as clearly as what’s included;
- includes testing and project management as visible lines rather than hiding them;
- states assumptions you can check.
A worrying estimate: one number, no assumptions, no discovery phase, and an hourly rate with no ceiling. That’s not a price, it’s an invitation.
Fixed price or time and materials?
Both are fine; the mistake is using the wrong one.
Fixed price works when scope is genuinely known — usually after a discovery phase. You get certainty; the supplier prices the risk, so you pay a premium for it. Change requests are formal.
Time and materials works when you’re exploring, or when priorities will shift. It’s cheaper if the relationship is good and disastrous if it isn’t.
Our preference: a small paid discovery phase, then a fixed price for the defined scope. You end up owning a specification that you could take to someone else — which we think is the right incentive for us to be under.
The line that matters most
Annual maintenance of roughly 15–25% of the build cost. It covers hosting, dependency and security updates, integration changes when a provider moves, bug fixes and small improvements.
Businesses that skip it don’t save money — they defer it, and pay more later when an accumulated three years of updates has to happen at once, usually urgently.
Where the money is genuinely wasted
- Building v3 first. Features specified before anyone has used v1.
- Over-engineering for scale you don’t have. Designing for a million users at a hundred is a real and common tax.
- Rewriting instead of extending. Rewrites discard solved problems you’d forgotten were solved.
- Skipping discovery. The cheapest hour in the project is the one where someone finds out the requirement was wrong.
Getting a number for your project
Bring the process, not a feature list: what happens today, step by step, who does it, how long it takes, and where it goes wrong. From that we can give you a range within a week, and a fixed price after a short discovery.
Tell us about the process, or read how we run software projects first.
Marta Szymczak
Sales & Key Account Manager
Your point of contact for everything commercial — scope, communication and making sure the project matches what the business actually needs.
More about the team