Achieving a Sane Schedule
The best way to achieve a sane schedule is to use incremental delivery. When defining the overall project plan, the core team needs to specify delivery increments that are no more than six to eight weeks apart. By specifying short increments, the team gets a solid reality check that can be used to validate and refine the rest of the project plan.
With hard data about what was successfully delivered in the increment, the chances of the team deluding itself about what can be delivered is dramatically reduced. At the end of each increment, the team can adjust their overall development process to address problems and exploit opportunities as they arise. With this kind of information and feedback, it should be easy to avoid a death march.