Post-mortems on late projects rarely blame the code. The same three causes appear again and again, and all three are preventable before work starts.
1. Content, every time
The most common reason a website misses its date is that the copy and the photography never arrived. Design was approved, the build finished, and the launch waited on twelve product descriptions nobody was assigned to write.
Prevention: treat content as a work stream with an owner and dates, not as something that will happen alongside. If it does not exist yet, budget for writing and producing it from the first day.
2. Nobody can actually decide
A project with four stakeholders and no decision-maker will cycle. Feedback arrives contradictory, and the team either guesses or waits, and both are expensive.
Prevention: name one person who can approve on behalf of the business, and agree that consolidated feedback comes from them. Not a committee, not a shared inbox. One name.
3. Scope grew without a decision
Rarely a dramatic change. It is a small addition at every review, none of which seemed worth discussing, and together they are a second project.
Prevention: write down what version one includes and, more usefully, what it excludes. When something new arrives, it is not refused, it is placed: this version or the next, and if this version, what moves out to make room.
The review that prevents most of it
A short weekly review with three questions: what shipped, what is blocked, and what changed in scope. Fifteen minutes. The third question is the one that catches the drift while it is still small.
What good looks like from the client side
- One decision-maker, named in the kickoff.
- Content dates in the plan, with owners.
- Feedback consolidated rather than forwarded individually.
- A written definition of done for each phase.
An agency can run a disciplined process and still be defeated by an undefined one on the other side. The projects that land on time almost always have both.
Frequently asked questions
Is a fixed price or time and materials better?
Fixed price works when scope is genuinely settled. When it is not, a fixed price simply moves the argument to change requests. Fixing the budget and the date, then adjusting scope to fit, is usually more honest than pretending all three are fixed.
How much contingency is realistic?
Enough to absorb one round of discovery you did not plan for. Projects that budget zero contingency do not avoid surprises, they just have no way to pay for them.




