DEV Community

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

Collapse
 
phortx profile image
Ben Klein • Edited

I always double my estimation:

  • +30% for writing tests
  • +20% for organisation, communication, coordination, writing issues, moving them around, meetings etc
  • +25% for writing documentation
  • +10% Merge Request and Peer Review
  • +15% tolerance buffer for wrong estimations

= +100%

Collapse
 
imben1109 profile image
Ben

If you do so, your boss may ask why and could you reduce the estimated time. How would you response them?

Collapse
 
bgadrian profile image
Adrian B.G.

You reduce the task requirement, you cut down from the business logic, otherwise you cut from the product code quality which will lead to longer future task durations and bugs, which leads to less profits, and noone wants that.

this

Thread Thread
 
imben1109 profile image
Ben

Haha. But usually, requirement is not very concrete

Thread Thread
 
bgadrian profile image
Adrian B.G.

Sorry then, you can always change your job, work with smarter product owners :D, preferable in-house products, SASS and technical managers.

Or build something random which u think it requested, and if is wrong estimate a new task.

Collapse
 
jonlauridsen profile image
Jon Lauridsen

You add time to write tests?? Strange.

Collapse
 
phortx profile image
Ben Klein

Why not?

Collapse
 
espoir profile image
Espoir Murhabazi

I 'm tempted to agree with everything written in this comment except writing the test because I always do Test Driven Development when coding.

From my view, the factor should be 1.75 instead of doubling.

Collapse
 
phortx profile image
Ben Klein

I'm doing TDD too, but no matter how you write your tests, you have to invest the time to write them. And putting together some shit code without writing tests is faster (in short term) then working with TDD. And time you have to consider too IMHO.

Thread Thread
 
imben1109 profile image
Ben • Edited

I think TDD is just a slogan. You cannot design your flow before test.

TDD is only suitable for someone just following the guide or well tested design sepc.

I think Unit Test is good for continuous integration and refactoring. It would be somehow a code quality but it is a measure of test coverage. The quality of a software is based on human.

My estimated time for Unit test would 1/3 of coding.