A few years ago I attended a Sprint review of a product development team. All stakeholders were invited to this meeting and got an update on the product the team was developing. The central message of the review was that the team wouldn’t be able to deliver the full feature set as promised before. Instead, the team was far away from delivering anything sellable to product management. The whole product was a mess (for various reasons that are not important here). The message was quite clear for everyone in the room: we are not able to meet the defined release date. In spite of these facts, the head of product management got up at the end of the review, gave everyone a pat on their shoulders and said: „I’m sure, you’ll still make it.“ He just ignored the plain truth, that was shown to him. He believed in miracles.
Scrum (and any other agile framework) is based on empirical data. Of course, this applies to estimation and planning, too. Due to the continuous inspect and adapt cycle, you are always able to replan, if necessary. In agile we always plan to replan. If you find out, that you won’t be able to meet a certain date or deliver a defined feature set, you have to react. It doesn’t help if you ignore the truth, even if it hurts. It won’t get any better. Instead, you lose the chance to do something, that might save your product or project. If everybody accepts the facts, you can always:
* reduce the feature set (in most cases it is anyway too big)
* move the release date
* add more people to the team (if it is still early in the project)
* Stop the development
Don’t believe in miracles; they happen only rarely. Instead, accept reality and adapt your planning accordingly. You should always plan to replan.