Budget the whole life
The build is one line. Hosting, third-party services, licences, support, security maintenance, and the ongoing changes that any used system requires continue for as long as it is live.
A five-year view usually shows the build to be a minority of the total, which changes how much attention the other lines deserve.
Include your own people
Requirements, decisions, review, testing, training, and change management all consume internal time, and it is almost never in the budget. It is nonetheless the cost most likely to become the bottleneck.
Estimate it explicitly, and check the named people are actually available rather than nominally assigned.
Fund in phases
Committing the full budget at the point of least knowledge is how projects continue long past the moment they should have changed direction.
Fund discovery, then a first deliverable, then subsequent phases, with a genuine decision point between each. Each phase reduces uncertainty in the next estimate, and stopping remains a real option rather than an admission of failure.
Hold contingency openly
Padding individual estimates hides the buffer and destroys the estimates' usefulness. A single visible contingency, with a stated rule for releasing it, keeps both honest.
Twenty to thirty percent is ordinary for work with normal uncertainty; substantially more is a signal that discovery should come first.
- Discovery and design
- Build, including integration work with each external system
- Data migration and reconciliation
- Testing, security review, and accessibility work
- Training, documentation, and rollout
- Hypercare through the first business cycle
- Annual running costs and expected change
Watch the integration lines
Third-party integrations are the most reliably underestimated part of any budget: sandbox access, credentials, review processes, and support responses measured in days.
Budget each named integration separately rather than as a single line, and start the access process far earlier than seems necessary.
Track against the plan monthly
Compare actual spend and progress against the phase plan every month, and treat a divergence as information rather than as something to absorb quietly.
A project that reports on budget until the final month was not being tracked.
