Estimation in product development is used to guess how much work can be completed and by when.
Various estimation techniques such as: Story Points, Planning Poker, T-Shirt Sizes, etc.. allow a team to relatively size the effort required to complete an item.
Estimation involves assumptions of the impact of various variables to complete an item such as:
- Effort needed by the team (various functional experts) to complete an item
- Complexity of the task
- Unkonwns involved
- and so on.....
While, Estimation may help to create a shared understanding about the work at hand among the developers, Product Owner and stakholders (optional), it usually takes away disproportional amount of time which is a big waste.
Assumptions based approaches are weak ideas at their best.
A much better and effective approach to forward looking decision making in complex environment is decision making based on Empiricism.
See also: Empiricism