The paradox of missed deadlines

Why deadlines slip, where the contractor fails, where the client does, what to put in the contract and how to answer a complaint with a report instead of excuses.

Missed deadlines are one of the most common reasons a business relationship with a client falls apart. Even experienced developers who have read every time-management book meet this problem at the start of their careers, and it does not disappear as they grow professionally. The only choice often seems to be who will crack the whip: the project manager or the client.

The problem is so widespread that, while you read this, hundreds of teams and developers are inventing plausible reasons to move a deadline.

Why does this happen when the client and contractor want the same result? The business wants the finished product quickly, and the contractor wants to complete the work and recognise the profit. Yet the schedule still falls apart.

Why deadlines slip

In most cases, responsibility is shared. These are the failures we encounter most often.

The project was underestimated

A contractor can miss the estimate badly enough that nobody escapes the consequences. The scale of the disaster usually depends on the quality of the specification. The less clearly the project is described, the greater the room for underestimation.

Priorities were managed badly

When a manager plans the team's time, there is always a risk of setting the wrong priorities. The same applies to freelancers. Cash flow often drives the decision: new work that promises more revenue receives attention, while earlier commitments are quietly told to wait.

Force majeure happened

Clients on freelance marketplaces sometimes joke that they want contractors without hamsters that can suddenly fall ill. But what if the beloved hamster really does fall ill? The grandmother in another town is another classic. Jokes aside, emergencies happen to everyone. The risk is higher with a freelancer because a team can usually replace a colleague whose pet, or grandmother, needs urgent attention.

Information arrived late

This happens in almost every project. Imagine an online shop that must be connected to the client's accounting system. A member of the client's staff is responsible for that side of the integration. When it is finally time to work together, the specialist goes on holiday and switches off the phone for safety.

At first glance, the solution seems simple: pause the project, wait for the specialist to return and continue. The contractor, however, is not paid for the interruption and cannot leave the team idle. The developer moves to another project. By the time the rested and tanned specialist returns, the developer may be busy with another urgent integration for another client.

The accounting system can be replaced by any task that depends on the client. The scheduling problem remains the same.

The client delayed approval

A designer sends a layout for review and waits for feedback before continuing. Waiting is fine. The difficulty begins when nobody on the client's side treats the review as a priority because more important work has appeared.

A team or freelancer tries to keep working time full, so they switch to other projects. When the feedback finally arrives, they cannot always switch back immediately. Sensible movement between projects, while accounting for each client's habits, is one of the hardest parts of management.

The specification changed during production

The most "brilliant" ideas tend to arrive after the specification has been approved. It resembles an argument replayed in your head before sleep. You suddenly discover the perfect response and wish you could return to the conversation. In the morning, the whole thing usually feels embarrassing. Projects behave much the same way.

Any change to the approved specification extends the schedule. The exact effect depends on the change, but pretending it has no effect guarantees a later conflict.

These are only a few typical situations. When both sides genuinely want to finish the project, they often share responsibility for the timeline.

Make the schedule explicit

The following principles apply to almost any service business, not only software and websites.

Describe active working time in the contract

The contract should state that the agreed schedule reflects the time the contractor spends working on the project. Time used by both parties for approvals and preparation of materials is accounted for separately. We use wording along these lines:

The time required for the parties to approve project stages and for the Client to prepare and provide information and materials is not included in the service schedule. If the Client provides source information or materials late, the deadline is extended by the length of that delay.

A second clause can protect the schedule from a long pause:

If the Client delays approval of a stage or provision of materials required for the services by more than seven calendar days, the Contractor may revise the deadlines in Appendix 1. The revised schedule must be recorded in an additional agreement.

A large project can also be split into two independent contracts. The first covers the visual part of the site, such as design and front-end development. The second covers programming. This reduces the risk of misjudging the entire project at the start and allows extra work discovered during the first stage to be estimated before back-end development begins. Either side may decline the second stage if the new estimate does not work.

Make sure both sides understand the process

Do not rely on the contract alone. Explain the areas of responsibility in a call or a short written guide. It is useful to prepare the explanation once and reuse it from project to project.

A project has active phases, when the contractor is working, and inactive phases, when the result is under review, awaiting approval or waiting for source material. The contractual estimate normally describes an ideal flow and should already include a margin. A delay in the inactive phase changes the calendar even when the contractor has not exceeded the estimated working time.

Record changes in additional agreements

Any substantial change to the specification agreed during production should be recorded. The additional agreement describes the new work, price and deadline, which are then added to the original contract.

Identify truly immovable dates

The seriousness of deadlines is often exaggerated. There has probably never been an obituary that read, "Died of a deadline overdose." Some projects, however, really must finish on a particular day. A website may be tied to a trade show, campaign launch or public event. That condition must be recorded at the beginning.

Approach an immovable date with full responsibility. Review the team's capacity and parallel workload. If the plan works only when nothing goes wrong, pass on the project or reduce its scope.

Tell the truth before the deadline

The worst situation is when a contractor already knows the date is unrealistic but confirms it to avoid a difficult conversation. The conflict does not disappear. It moves to day X, when the contractor arrives already in a losing position.

Have unpleasant conversations early, while both sides still have room to manoeuvre. The risk of losing a client because the honest forecast differs by a few days is usually smaller than the damage caused by a surprise delay. A realistic answer demonstrates professionalism.

Do not work yourself into the ground

Negotiations about timing sometimes become an ultimatum. If that has happened and the date cannot be changed, do not immediately stock up on coffee and move the team onto permanent night shifts. Exhaustion is more likely to reduce productivity than bring the finish line closer.

Give the project priority, identify the tasks that genuinely block release and send the client a short update at the end of every working day.

Measure where the time went

Without a tool that records project history, it is difficult to answer a complaint about timing with evidence. You can reread the entire chat, mark every day when the ball was not in your court and assemble a report manually. It is slow, inconvenient and makes you feel like an idiot. We checked.

We solved the problem with a report that starts automatically with every project. Each task has a status throughout its life, and those statuses can be divided into active and inactive time.

In statuses such as "In progress" or "Rework," responsibility clearly belongs to the contractor. This is productive working time. "Under review" and "Awaiting payment" belong to the client because the contractor cannot control how quickly intermediate work is reviewed or paid for.

How much time the project spent in each status.

A project often spends longer under review than in any active status.

If you spot an angry client approaching with one finger already pointed at Appendix 1, do not panic. Let them come closer. Confirm that the complaint is really about timing. Then send the report with one decisive movement, close the door and continue working. Remember to curtsey with a smile, not a smirk.

Deadlines need transparency, not excuses

The battle over schedules has lasted for generations. Developers will continue to miss deadlines, and businesses will continue to propose unrealistic ones. Humanity is unlikely to eliminate the problem completely, not even with the help of British scientists.

We can still make it manageable. A clear specification, explicit areas of responsibility, written changes, honest forecasts and a record of active and waiting time turn an argument about feelings into a conversation about what actually happened.