‘Agile’ is essentially a modern day metaphor for Communication.
Arbitrarily set dates lead to all manner of disaster: destroyed morale, missed delivery dates, being massively over budget, and/or delivering crappy software–even if you’re practice Agile.
Agile is a methodology, a way of getting work done. it does not, itself, speak to making sure things get done. That, still requires…
The key to success is clear: Smooth, rapid, delivery of a product demands effective, clear, and complete communication between all involved parties. It is better to risk over-communicating than the alternative. And, only through frequent communication can teams hope to adapt to change (they need to know about it).
Maybe we should call these Software Anthropology meetings.