

Tell HN: I hate deadlines - paolomaffei

Allright, I <i>really</i> hate them.
Once again I'm gonna need to cut the corners of a website we're launching because friday is the fuckin deadline and we are nowhere near done even if <i>we</i> tought we will.<p>This time there isn't even a customer involved, i fucked up the estimates in a spectacular way.<p>From this day on I'm going to refuse to do any work I can't finish at least one week before the deadline, both internal projects and more important client projects.
If something is easy and requires 1 day of work we'll tell them the deadline is 8 days, no matter what.
If there's an event in the x day we should have the marketing materials ready at day x-7.
Breaking this new deadline is still a failure, but at least won't cause a lot of problems.<p>I'm in this business (and this life) to have fun, not to die from stress.
If you care about your wellbeing you should do the same.<p>Goodnight.
======
jacquesm
hey Paolo,

There could be two things at work here, either a failure to estimate properly,
or a failure to do the work in the allotted time, no matter how much time that
is.

You should figure out which of the two you're suffering from before you try to
remedy the problem.

The first you can combat with keeping detailed logs and adjusting your 'fudge'
factor over time, the second is only to be dealt with through discipline.

Don't die from stress please, it's not worth it.

~~~
paolomaffei
I believe I just suck at estimates, I always find we (I run a 3 people firm)
are usually not done within the deadline that seemed really reasonable at the
beginning. Also, we're working for multiple clients so it sometimes happen
that a project delays 3-4 other projects. We actually get things done, but it
seems to me it takes a lot of time.

~~~
jacquesm
Ok.

So here is how you could solve that, at least in principle:

Break up your projects in to smaller components and set deadlines for each of
those, then track where you go wrong on those much smaller components. Like
that you get a feeling for which part of the estimation process fails you.

Some things, such as testing (which you really can't get around) and rework
are extremely expensive in terms of time and are easily overlooked. If a
customer changes a specification after a contract job has been accepted and
the specification isn't sufficiently nailed down then that may be another
source of 'creep'.

Good luck with this, it is a difficult thing to tackle. It probably took me a
few years before I got good at estimating programming jobs and I still find
myself hopelessly wrong from time to time.

The important thing in estimating is to not make the same estimation error
twice, eventually you'll get better at it. It really takes practice.

~~~
pook
We have bug databases for a reason, we should also have progress databases.
Why rely on your gut instinct built from experience, when you can objectively
say "it normally takes me one week to implement foo in terms of size and
complexity"?

It should be possible to look at your project and see at a glance how many
components there are, how long each has taken, and how long it has taken to
complete components of similar metrics. I'm surprised that I haven't seen much
emphasis on this in Agile, considering the very emphasis on decomposing
projects into more-easily estimated components (git plugins to offer nifty
visualizations categorized by class, design, cyclical complexity, etc).

There is probably a huge market if you can figure out a reliable, easy way of
updating your estimates in a more communicable way than relying on remembered
experience

~~~
jacquesm
> We have bug databases for a reason, we should also have progress databases.

They're called project management systems, there are plenty of vendors.

------
aaronblohowiak
You should work on estimating, or use software to model how much real time it
takes for a given amount of estimated time (like fogbugz.)

------
CyberFonic
Yeah! I hate deadlines too !!

Learning to say NO to unrealistic customers is the first step. Took me ages to
perfect, but now I'm so much less stressed. For me an internal project has no
deadline. And for a one week (estimated) project I quote the client a month.

