I Don't Do Deadlines

Because of deadlines, many programmers create Quick & Dirty
(Q&D) code rather than doing things The Right Way. This
leads to many problems.

• Deadlines cause bugs

When programmers write Q&D, they often ignore edge cases. This means the code reject things it should process and process things that is should reject.

• Deadlines cause delays

Because of the bugs, the code doesn't work when the deadline arrives and the deadline has to be extended.

• Deadlines undermine the confidence of the programmers

IBM sets its sales quote so that 80% of its sales force will meet them. When was the last time you heard of a manager setting the deadlines so that 80% of his programmers meet them? In fact, many managers set their deadlines so that their programmer can't possible meet them. They assume that this will make their programmers work harder. And it does. They work harder but are less productivity in their work. That's because repeats failures undermine their confidence which increases stress and reduces productivity.

• Deadlines undermines any sort of company spirit

Because programmers repeatedly fail to meet their deadlines, they lose any interest in their work and this undermines any loyalty or team spirit they might have.

• Deadlines causes turnover

Because of the programmers' low morale, they often switch jobs to find more interesting work.

In summary, deadlines are just a bad idea.


Who do you work for? I'm wondering who it is that is paying you to work on projects that take an arbitrary amount of time, and for which you have no calendar accountability.

deadlines work if there is a list of criteria attached to a deadline. deadlines are problematic, if there is no sign off, on agreed tasks.

if a deadline has no reason or list of or milestones attached then yes deadlines have crap all worth.

"The Pragmatic Programmer" is one of the best reads for dealing with management.

I like deadlines because they make expectations dead simple. I hate deadlines because they hide the complexity of a project behind something as simple as a calendar date. It's a balancing act. Either extreme will cause problems in the long run.

Our dance goes like this:

Developers estimate how long a piece of work will take. Management reject the estimate on grounds that the universe will implode unless a certain date is hit. Development refine their estimate, usually by dropping features and parallelising items. Management reject that estimate. Seems the date for universe implosion has been moved forward, and by the way we need these new features as well! Developers are "encouraged" by team leaders to forget family, holidays, or anything outside work, in order to meet the new deadline. Some go along with it, many don't. The date comes, the work hasn't completed, the universe forgets to implode, the managers are all hot & panting about some new apocalypse.

After a time you learn to treat the deadline just as seriously as it deserves to be treated.

so when a manager gives me an arbitrary deadline, I just agree with it.

You didn't say "arbitrary deadline."

In the cases where the people with the money say they need something by some arbitrary point in time, it's our job to tell them what they can get by that point in time. There's much to be said for saying "No, you can't have it all by then, so let's figure out what you can have."

After all, if they tell me lies, I don't feel bad about returning the favour.

I wish you didn't see lying as necessary. I find that the truth is always the better way to go in the long run.

deadlines are the common lies you give to your boss.

there are boss' that will only listen if you say what they want to hear.

deadlines are the common lies you give to your boss.

there are boss' that will only listen if you say what they want to hear.

Leave a comment

About shawnhcorey

user-pic Master Programmer, Perl Guru, & Avid Gamer