There is some stuff that can easily take almost no time or can end up taking months. Two items that are commonly like this on software projects are fixing bugs (that can either turn out to be really, <i>really</i> hard or not bugs at all) or upgrading package dependencies (can require no changes whatsoever or can require a significant rearchitecture).<p>I think scheduling these issues would benefit more from splitting up risk and estimated duration and estimating both separately. Perhaps by drawing a mini probability distribution for each task.<p>Breaking down the task only helps if, in some way, analysing the constituent pieces actually helps you better estimate the risk or brings unconsidered requirements to light. Sometimes it doesn&#x27;t. If you do too much of it it can also end up being a contributing factor to the delays (analysing every last detail).