Start a Project
Software Development Cost Breakdown: Where the Budget Goes

Software Development Cost Breakdown: Where the Budget Goes

When a company receives a software development quote, the most common question is: how was this total calculated? The same feature list can be priced at 200,000 RMB by one vendor and 450,000 RMB by another, and neither side can explain the gap. The truth is that a well-structured quote is always built from the same five cost components — engineering, design, testing, project management and maintenance. Each one occupies a fairly predictable share of the total. Reading that structure is far more useful than negotiating line by line.

Over ten years of outsourced delivery at Juhui Software, we have priced our own work and audited quotes written by other vendors on behalf of clients. Below is the software development cost breakdown, section by section: why each share sits where it does, what happens when a share falls below its normal band, and how to check the numbers on a quote before signing.

1. The software development cost breakdown: five components

For a mid-complexity custom project running three to five months, the total cost normally splits across these five items. This is not a pricing rule but a natural map of the work: each share reflects how many people spend how many days, so the percentage lands where it lands.

  • Engineering and implementation: 50–60% of the total, covering front-end, back-end and mobile development plus integration work;
  • Product and UI design: 15–20%, covering requirements analysis, information architecture, prototyping and visual design;
  • Testing and release: 10–15%, covering functional and compatibility testing, defect regression, deployment and launch;
  • Project management and communication: 8–12%, covering scheduling, progress tracking, change control and documentation;
  • Post-launch maintenance (annual): not part of the initial invoice, usually charged at 15–20% of the development fee per year for defect fixes, dependency upgrades, backups and minor adjustments.

The five lines add up to roughly 100%, with maintenance being the second invoice that arrives after launch. The most useful thing this table does is let you work backwards. When a quote allocates 3% to testing, or omits design and management entirely, nothing has been saved — that work has been pushed onto someone else, and in practice it usually lands on the client.

2. Why engineering always exceeds half the fee

Software is a pure labour product. There is no raw material, so the heaviest cost is simply the hours engineers spend. A mid-complexity project typically runs one front-end, one back-end and often a third engineer for iOS, Android or mini-program work in parallel. Three to five people over three to five months produce the bulk of any quote.

This also explains why two projects with similar-looking scope can differ by a factor of two. A plain list page takes very little effort; the same page with filtering, pagination, export and permission checks can take three times as long. An order module with a single status and an order module with a full state machine — pending payment, pending shipment, shipped, refunding, completed — differ by the same margin. The difference hides in business logic depth, not in page count.

Checking is straightforward: ask for estimated person-days per feature module, then add them up and see whether the total is consistent with the stated timeline. Three engineers over four months is roughly 240 to 260 person-days. If the quote only accounts for 60, either the team is smaller than advertised or work has been left out.

3. What the 15–20% design share actually buys

Many companies see design as cosmetic work and cut it first. But the expensive part of design comes before any visual file exists: translating a vague business description into an executable information architecture and page flow. Skip that and the system ends up with every function present and nobody able to use it.

Design work typically covers four activities: requirements and process confirmation, information architecture and page inventory, interaction prototypes, and final visual design with a design system. The page inventory is the pivot — it is simultaneously the workload basis for design, the scope boundary for development, and the reference list for acceptance. A mid-sized project with 30 to 60 pages usually carries 15 to 30 person-days of design.

When design falls below 10%, it usually means one of two things: a general-purpose component library is being reused, or there is no independent interaction design at all and developers lay out screens by instinct. The first is acceptable for standardised processes. The second reliably causes rework in systems with complex business flows.

4. Testing occupies 10–15% but decides the first three months after launch

Testing is the easiest line to squeeze because its output is invisible. From a risk perspective it is the worst one to cut: a blocking defect discovered after launch costs far more than the hours spent preventing it. The bill includes diagnosis, the fix, regression, a new release, plus whatever business disruption follows.

Sound testing effort includes writing test cases, functional testing, multi-device and multi-browser compatibility testing, interface and concurrency testing, and defect tracking with regression. That work normally accounts for 10–15%, or 15 to 30 person-days. A quote below 8% usually means there is no dedicated tester and quality rests on developer self-testing. That may be acceptable for an internal tool; it is a serious risk for a transaction system serving external users.

Acceptance belongs to this same budget. With proper testing in place, acceptance can be run against written cases with defined defect severity. When testing is compressed, acceptance degrades into clicking around, and the two sides will inevitably disagree on what "finished" means.

5. Project management at 8–12% buys predictability

Management fees are often challenged with "it's just meetings". Yet the most common cause of failed outsourcing projects is not technical: it is broken information flow. Requirement changes go unrecorded, schedule drift goes unnoticed, conflicting opinions never converge. Project management turns those three into a controlled process.

The work includes weekly scheduling and milestones, a runnable demo every week, written impact assessment for every scope change, delivery documentation, and maintaining a single channel of communication. A share around 10% corresponds to a few hours of management per week. Remove it and the coordination work simply transfers to the client's own project manager, who usually does not have the time.

6. Maintenance at 15–20% per year, billed separately

Maintenance is the easiest bill to forget. A live system needs continuous investment: servers and cloud resources, security upgrades for dependencies, incident response, backup and restore drills, and small adjustments over time. The industry norm is an annual fee of 15–20% of the development cost, with the covered scope and response commitments written into the contract.

Any three-year budget must include it. A 300,000 RMB project costs roughly 300,000 up front plus 90,000 to 120,000 across the following two years of maintenance — not 300,000 in total. Conversely, if a vendor offers three years of free support, ask what "free" covers: defect fixes only, or feature adjustments and server operation as well. The two are very different in cost.

7. How to audit a quote against the cost breakdown

Take four steps in order. First, check whether the quote is broken down by feature module and person-days — a single total cannot be audited. Second, check whether all five components appear; a missing line is a future add-on. Third, compare each share against the ranges above and ask for an explanation wherever it deviates. Fourth, ask what the quote explicitly excludes: servers, third-party service fees, store registration and post-launch maintenance.

Once the software development cost breakdown makes sense, price stops being a number you have to judge by instinct. The structure is stable: engineering sets the body, design decides whether it can be used, testing decides whether it is safe to launch, management decides whether it stays under control, and maintenance decides the final three-year bill. When we quote at Juhui Software we list all five separately and call out requirements work and testing effort as individual line items, so the client can see what every yuan pays for before signing anything.