Looking for suggestions on how to set major milestone dates (e.g. "Go Live", "General Availability") for large software projects. I program/project manage these types of projects for internally used enterprise tools. Senior management wants very aggressive "committed" milestone dates. The actual dates are invariably off by significant amounts (never to the positive side). When these "committed" dates get blown there's hell to pay.
P.S. We "talk" Agile/scrum but are structured and funded for waterfall.