This is often our fault either because we want to please management or because we were unaware of certain requirements or because we don't push back hard enough. Management's job among others is to get stuff out the door as quickly possible, so if nobody tells them no, then of course, they'll assume it was fine, and they'll keep the pressure on. This is why good engineering manager on the team and a good technical lead is important. They'll set the correct expectations for everyone else. Does it always work out? No, but it's still better than always working under crazy pressure.