The cost of custom software is driven mainly by seven things: how clearly the scope is defined, how many systems it must integrate with and how good their interfaces are, how much data has to be migrated and how clean it is, security and compliance requirements, non-functional requirements such as performance and availability, the team model, and the cost of running the system after launch. The hourly rate is only one part of the equation; what moves budgets is uncertainty discovered late. This article walks through each driver and the practices that reduce risk. It contains no price figures, because a number quoted for an undefined scope does not help you decide anything.

Why screens and features are a poor measure

Buyers often try to estimate cost by counting screens or features. Two screens that look alike can hide very different amounts of work. One lists a single table. The other pulls data from three systems, hides fields depending on the user's role, writes every change to an audit trail and triggers an approval workflow. To understand cost, you have to surface the rules, data and connections behind the interface. The seven drivers below show where that hidden work comes from.

1. Scope and how well it is defined

Scope is more than a feature list. User roles, the permissions of each role, exceptions in every workflow (cancellations, returns, rejected approvals, partial deliveries), reports and notifications are all part of it. Every exception left undefined turns into a question during development, and sometimes into rework. To tighten scope:

  • Write each workflow step by step, including its exceptions.
  • Define acceptance criteria for each feature: "When this is done, the user can..."
  • Separate what the first release must have from what can wait.
  • Write down who has authority to make which decisions on the project.

2. Integrations

Integration cost depends less on the number of systems than on their condition. A documented API with a test environment is a very different job from an interface with missing documentation, one that can only be tried in production, or one where every change needs the vendor's sign-off. When the same data lives in two systems, someone also has to decide which copy wins. We cover these questions in more depth on our ERP and CRM integration page.

3. Data migration

Moving data from a legacy system usually takes more work than expected. Duplicate records, missing mandatory fields, codes stored as free text and different identifiers in different systems have to be cleaned before migration. That cleanup is not something the engineering team can do alone; the data owners decide which record is correct. Trial migration runs, reconciliation checks (record counts and totals matching between source and target) and a cutover plan are part of the cost as well.

4. Security and compliance

Any system that processes personal data must be designed for the privacy law that applies: GDPR for people in the EU, KVKK for data processed in Türkiye, and sector or state rules elsewhere. Role-based access, audit trails, encryption, retention and deletion rules, penetration testing and industry regulations in areas such as healthcare and finance should be planned as explicit work items. Defining them at the start is generally far less work than adding them close to go-live. If you want an independent view of your readiness, see our KVKK and ISO 27001 compliance service.

5. Non-functional requirements

How the system works matters as much as what it does. The answer to each of these questions changes the architecture, the test effort and the infrastructure bill.

  • Performance: How many concurrent users, with what response time?
  • Availability: How much downtime can the business tolerate, and how fast must a restore from backup complete?
  • Scalability: How will data volume and user numbers grow over the next few years?
  • Languages and regions: How many languages, which currencies and date formats?
  • Mobile: Is offline use, support for older devices or app store publishing needed?
  • Accessibility and browser support: Which standards and which devices are in scope?

When these expectations are not written down, the team builds either too little or too much. Both come back later as cost.

6. Team model

The shape of the vendor team and the involvement of your own people both affect cost directly. A senior team can do the same work with less trial and error. More people do not always mean faster delivery, because coordination grows with team size. A stable team loses less knowledge than one that changes halfway through. On your side, the absence of a product owner who can make decisions quickly leads to waiting and rework. When you compare proposals, look at who is on the team and how much of your time they expect, not only at headcount.

7. Maintenance and operations

Cost does not stop at go-live. Hosting and cloud resources, monitoring and alerting, security patches, dependency upgrades, backups, support hours and new change requests continue for the life of the system. When you compare proposals, ask about the running costs for the first few years, not only the price of the first release. If it is unclear who will operate the system and with what documentation, that cost will appear later as an unplanned line item.

Summary table

DriverWhat increases effortWhat keeps it under control
ScopeWorkflows with undefined exceptionsWritten workflows and acceptance criteria
IntegrationsUndocumented interfaces with no test environmentEarly interface tests, a proof of concept where needed
Data migrationDirty and duplicated source dataCleanup before migration, trial runs
Security and complianceRequirements left until the endControls defined at design time
Non-functional requirementsUnwritten performance and availability expectationsMeasurable targets
Team modelNo access to a decision makerA named product owner, regular demos
Maintenance and operationsRunning costs left out of the business caseSupport and operations plan in the proposal

How to reduce risk before you commit

The most reliable way to control cost is to reduce uncertainty before the big money is spent.

  • Discovery and business analysis: workflows, integrations and data are written down, and estimates are based on that document.
  • Proof of concept: a risky assumption, such as how an API behaves, how accurate a model is or how good a data source is, is tested in a small, time-boxed piece of work. If the answer is negative, you change direction before the main budget is spent.
  • Phased delivery: the first release is cut to the smallest scope that proves business value, and later phases are planned with real usage data. For a new product idea, our MVP development page explains this approach.
  • Off-the-shelf components: for parts that do not differentiate your business, such as authentication, payments and notifications, mature existing services are evaluated first, and custom work is reserved for what makes you different.
  • Phase gates: the decision to move to the next phase is tied to measurable acceptance criteria.

Questions to ask when you compare proposals

  • Which assumptions is the estimate based on, and are they written down?
  • Are integrations and data migration shown as separate items?
  • Are testing, documentation and handover included?
  • Which work items cover security and privacy requirements?
  • How are support and maintenance after launch priced?
  • How are scope changes requested and approved?

If two proposals show the same total but answer these questions differently, they are pricing two different projects.

Next step

At ALGOFACT, every project starts with a 30-minute discovery call, followed by a founder presentation of the proposed scope. Where risk is high, we propose a proof of concept first. To work out what will drive the cost of your project, book a discovery call.