Give me a date, I can guarantee we'll hit that date. I just can't guarantee what we'll hit it with.
Give me a spec, I can guarantee we'll deliver that. I just can't guarantee by when.
Software development has its own Uncertainty Principle. To deny it is your golden ticket to disappointment.