Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
dotFuck2962yWhat you think is right *2.
I break the task down into steps until I get in a range of typically 1-5 days, then add up and allocate 20-50% buffer, depending on how familiar I am with whatever has to be done.
When I have no precise idea, like when it's about bugs, it depends on how fucked up the bug is. Something easy like a business logic bug should take a day or two, something difficult like fixing a protocol stack or a race condition two weeks.
Sometimes I don't even have an idea what it is about, then I request investigation time. That will be a compromise of what I think I need and what the customer will accept. I just fill in to-do items to make my time request plausible.
But yeah, estimation is really difficult initially, I remember that from back then when I was a fresher.
I guess you can't overestimate, so make it as ridiculous as possible while still being accepted by your boss or clients.
If your task depends on other people give them a deadline that is much earlier!
Root727542yPi is a nice constant to multiply by.
Tends to lead to overestimations for me, though, so I usually go with just doubling my initial estimate. I still use Pi when needing to wait on QA or other devs because they always take forever or let me down.
ryangurn612y“it will take as long as it must to do it correctly”
Tell them whatever the hell you want, do the job faster, earn reputation. (And eventually a raise)