Agile evangelists frequently skip the realities of the world. This is especially true when it comes to estimation. It often appears as if authors and presenters live in a world in which the customer is always a deep-pocketed in-house resource, with an abundance of confidence in the development team.
The realities, however, is that whether doing in-house development or contracting, the customer expects estimates for the development work. Potential benefits have to be weighed against estimated costs.
This talk deals with why estimation is crucial also in an Agile world.
Software development is performed by groups of individuals. When individuals become a members of a group, behavior changes. The group becomes focal and the individuals become background. The group behaves as a system and exhibits system-level behavior. Groups as a system exhibit primitive emotional behaviors that can derail the group from its stated primary task.