No one intends to set unrealistic expectations, but it happens all the time. Everyone wants new systems, products, or programs delivered yesterday, with outstanding quality, even if they don’t have a clue about the amount of work involved in delivering a quality product/program that is aligned with critical business objectives. People are pressured to estimate what it will take to develop something that is not fully (or even mostly) defined. When that estimate is viewed as too long (which is almost always the case), they are asked to pull time out of the schedule (see The Schedule Estimate Extortion Game). Then, as the product/program definition starts to come together, additional features and functions are identified and are determined to be mandatory. It is often realized that the needed resources needed are not currently available. However, the end date (that was very broadly estimated in the first place, and then shortened by pressure applied early and continuously) is not allowed to be modified, unless it can be pulled in. Assumptions and caveats are forgotten. [What happens when you 'ass/u/me'? You make an 'ass' of 'u' and 'me'!]. When anyone then tries to adjust the date, they will then hear, “I didn’t set the date, you did!”, or "Don't confuse me with the facts!" (see Don't Confuse Me With the Facts!). Many other departments become dependent on that date, and when you don’t or can’t deliver, it is entirely your fault. Then it turns into 'floggings' (see Floggings Will Continue Until Morale Improves!).
How can unrealistic expectations be avoided or at least reduced?