Why are developers expected to estimate tasks at all?
It’s a very naive question even if I try to be charitable.  I assume most developers would be more business aware?<p>A few obvious reasons:<p>- The buyer has to make commitments externally, for instance to customers, partners, finance, marketing, his boss;<p>- The buyer has dependencies on those external resources and needs to plan for them;<p>- The buyer has a limited pool of resources and needs to know when they are free for the next task or project;<p>- The buyer needs to get an idea of costs to complete the feature and secure the budget;<p>- The buyer needs to make priority calls.  If feature X is significantly more effort than feature Y then we can prioritise accordingly;<p>- The buyer is paying and simply wants to know when he will get his shit.<p>I wonder if the person asking the question would be happy to let someone do a job in his home with an uncapped budget and timeline?