Meeting Deadlines at All Costs is a Mistake!

Table of Contents

The Necessity of Deadlines

Deadlines are necessary. Whether you work in Scrum (Agile) or a waterfall-like methodology, one thing is certain: without deadlines, there is no motivation. According to Parkinson’s Law (no relation to the disease), deadlines are essential.

The Problem with Rigid Deadline Adherence

The problem arises when it becomes apparent that a deadline cannot be met. The classic approach is to meet the deadline at all costs. This is a mistake!

The Dark Side of Meeting Deadlines at All Costs

Take a moment to consider the dark side of rigid deadline adherence…

(For those who don’t enjoy thinking for themselves, you may skip to the next section ;-) )

Commonly discussed consequences include:

  • Overtime (detrimental to mental health and inefficient—debatable),
  • Technical debt.

However, the consequences are more severe:

Teams That Meet Deadlines at All Costs Do Not Learn!

They learn that it’s acceptable to indulge in poor practices, inefficient work methods, and lack assertiveness if the deadline approaches and working hours are stretched while ignoring (or turning a blind eye to) quality. I call this Stress-Driven Development! :-)

Rigid Deadline Adherence Reinforces Poor Project Practices

It’s naive to believe that simply missing a deadline is a solution. It is not! By itself, it achieves nothing. Tools for drawing conclusions and implementing them are also necessary.

Facing the Reality of Unmet Deadlines

When you realize you will not meet a deadline, you must inform your team lead if you are a developer. If you are a team lead, tell the project manager. If you are the manager, inform the client and/or a higher-level manager/director—it may hurt. That’s why you often don’t do it; you prefer to be non-assertive or stretch your time or principles to meet the deadline. That’s the entire mechanism.

When it hurts (though there are less painful/painless methods), you will have a real chance to learn something. Then, you will truly grow and have the motivation to change the process instead of reinforcing its inefficiency.

(Text translated and moved from original old blog automatically by AI. May contain inaccuracies.)

Related Posts

The Hyper-Optimizer of Time

The Hyper-Optimizer of Time

May 21, 2009 - my last entry… quite a bit of sand has flowed through the hourglasses. The arrival of a small being in my life changed a lot, but slowly :) I’m returning to the world of the living. To start off, here’s my first post after the break.

Read More

A Few Words About Naming – Methods (In Progress)

Note: This article is a work in progress!

Maybe the topic seems trivial and worn-out, as everyone knows that you need to create clear, unambiguous names. However, it’s still a greatly neglected area. Teams are still far from understanding that the most depends on naming. No refactoring has as much power as changing a name. It is primarily the names, if used correctly, that form what is called self-documenting code, creating a clear language in the source code of the system you are building.

Read More

Task-doing vs. Responsibility Taking - A Subtle Distinction

The Subtle Distinction Between Task-doing and Responsibility Taking

I have been reading a book on parenthood recently (yes, tech guys also read such books :-)) and there has been a discussion about responsibility. Even when fathers devote their time to spending time with children and doing some tasks related to children and family, they may still not take responsibility for it. So you can take your children to the doctor when they are sick, bring them to school or kindergarten every day, go with them to a playground… and still not take responsibility.

Read More