DEV Community

Discussion on: How do you estimate time required for assigned task?

Collapse
 
niorad profile image
Antonio Radovcic • Edited

Recent example from my work-life.

"Hey, how long will implementing filters for a search-results-page take (as in front-end-web-dev)."

I'm thinking of the best case, where everything is specified neatly, the design is there (also the tablet-view!!1!!1), API is well known etc.

10 days (80 hrs).

Now I start asking (myself and the colleague).

Do I know the codebase? If not, I add maybe 2 days. (12)

How well is the design specified? Oh, only the desktop-view? Add 3 days. (15)

Is the REST-API known and documented? Ah it's being currently made and is quite new? Add three more days. (18)

Is the local instance of the shop running reliably on my dev-machine? This projects is based on SAP-Hybris, so I add 3 days for initializations, updates, local fuckups etc. (21)

How well are the requirements written? Don't get me started, adds two days for additional client-communication. (23)

This goes on an in the end I arrive at 25 days, which, telling from experience, is a totally OK amount of time to spend on such a feature.

"But do you really need five weeks for this?"

No, I'll most likely be done in half the time, BUT:

  • I'm highly allergic to stress
  • It's not a prophecy, it's a forecast (as in weather)
  • I always take time to learn a new approach/library/API that is relevant to the task (That time I learned a lot about browser-history-api. I often read about people struggling to keep up with all the new stuff. You have to bake learning into estimates, just like testing.)