One of the qualities of a good software engineer is its ability to estimate accurately how much time he will need to complete a given task. This allows setting realistic deadlines, parralellizing work more efficiently, and more generally smoother project managnement.
Having worked on many different projects with my friend Victor, we've done our fair share of this estimation game and we use to suck at it. Then, we started to notice a pattern in our off-estimations so we extracted a rule from it: the rule-of-two.
The rule-of-two goes as follow: take the absolute minimum amount of time you think you can do it in, then double it.
If you wonder if there is any kind of scientific backing for this rule, no, there isn't. But i've been using it for all my recent projects and found it to be surprisingly accurate.
My theory is that our brain is better at estimating the minimum time needed to complete a task, that is, if everything goes well because the opposite would require planning in advance all the ways things could go wrong.
The difference between theory and practice is greater in practice than it is in theory.
The "double" is just a constant coefficient that happens to account well for those unplanned problems in software engineering. I'm sure this rule could apply to different line of work by changing this coefficient.