Perhaps you've seen the article on the front page about effort estimation for programmers [1]. I know when I'm handed a bug to fix, until I find the cause I have no idea if it'll be a three hour task or a three day task.
If programmers don't know up front how much effort a task will take, how should managers?