Often when dealt a task by a client/project manager it's followed with a request for how long it will take. Also often, I find answering this request a considerably more difficult problem than the engineering task itself, especially when the response is taken as gospel on pain of death. Over time I've realised that my inability to accurately predict how long a certain task will take is a weakness that I'd like some strategies for dealing with.
Personally, it stems from tasks in the past that have turned out to have details or foibles that make it considerably more involved than initially predicted, or finding a lack of required information once I've got stuck in.