When a developer estimates how long a task will take, he is guessing.

He might be unable to predict that his simple change will require a new version of the library, which requires XCode to be updated, which will only work with the new version of the operating system, and will require the tools to be recompiled.*

Estimates are not promises. Plan accordingly.

*True story