How are custom software projects usually priced?
Match the commercial model to uncertainty. Fixed price suits a well-defined scope. Staged fixed budgets suit a clear objective whose later implementation depends on earlier evidence. Time and materials suits continuing change when the client can actively manage priorities. A contract is not safer merely because everything is “all inclusive”; scope, acceptance, change, and stop conditions must be inspectable.
Effort multiplied by role rates can support any estimate, but does not force every contract to bill by day. A fixed total transfers some overrun risk to the supplier and therefore needs clear boundaries. Time-based work preserves flexibility but requires the client to prioritize continuously and inspect output. Forcing a highly uncertain product into one total usually produces a risk premium, reduced quality, or frequent change claims.
| Model | Suitable state | Client control | Main risk | Contract essentials |
|---|---|---|---|---|
| Fixed scope and price | Prototype, APIs, data, and acceptance are defined | Predictable amount and boundary | Hidden needs remain excluded; risk premium | Included/excluded scope, acceptance, change, delay responsibility |
| Staged fixed budgets | Objective is clear; one stage informs the next | Continue, alter, or stop at each gate | Vague boundaries cause duplicate charging | Independent outputs, cap, decision gate, handover |
| Time and materials | Priorities change; client has product/technical management | Reprioritize and see detailed consumption | Outcome and total are not inherent guarantees | Roles/rates, time evidence, budget cap, exit notice |
| Outcome-linked hybrid | Result is measurable and jointly influenceable | Some fee follows delivery or business result | Attribution dispute and manipulated metrics | Base fee, formula, data source, exceptions, cap |
When defining budget, scope, and cost assumptions, also compare How are parcel tracking APIs usually priced? and Why does Wavesteam set a CNY 50,000 starting budget for custom projects?; the linked guidance adds context that should be considered in the same decision.
Separate five kinds of charge
One-time delivery includes discovery, product and visual design, engineering, testing, migration, deployment, and training. Direct third-party costs include cloud, SMS, maps, AI, payments, and store accounts. Warranty covers failures to meet the signed baseline for an agreed period. Continuing operations cover monitoring, backup, incident response, and environment upgrades. New requirements are iterations. Combining all five into “development and maintenance” makes renewal value impossible to judge.
Each line needs evidence: an assessable prototype and risk/work breakdown for discovery; deployed software, tests, code, and documents for development; the client's supplier console and original bill for third parties; issue and release records for warranty; and monitoring, ticket, release, or capacity records for operations.
There is no universal rule that management is a fixed percentage, warranty always lasts a particular number of months, or payment must follow one ratio. Payment gates should correspond to verifiable value: an approved baseline and accounts, a runnable milestone, production deployment and acceptance, and—if retained—a clearly defined release condition and maximum confirmation period. Irrevocable hardware or licences may require advance payment with an original item list.
Before signing, ask whether tax is included; who owns source, design files, deployment automation, and accounts; which devices, performance, and security tests are included; whether suppliers and travel are separate; how changes affect cost and schedule; and what the client receives if work stops. Distinguish a baseline defect from a later business-rule change so warranty does not become an argument over new scope.
Wavesteam can use fixed pricing for a defined small delivery, split uncertain work into discovery, proof, and construction, or provide team capacity for a client with mature product ownership. In every model, third-party charges remain separate, production accounts belong to the client, and each milestone leaves transferable code, documentation, or running evidence.