Imagine that you, as a developer, are at some stage of the project cycle in a large corporation in which you find yourself not “on time” with your planned “project deliverables.”
You find yourself in a project meeting, and everyone is giving their updates. Then, just like a freak snowstorm for a kid who didn’t study for a big test at school, key project stakeholders get into a heated discussion about a key project requirement.
All of a sudden, you are now able to justify, if only to yourself, that your inability to get to project milestones downstream from this contentious requirement was actually a saving grace of the project. You didn’t burn yourself out on a piece of the puzzle that was going to ultimately be made useless. YOU CAN GO OUT AND PLAY IN THE SNOW BECAUSE SCHOOL IS CANCELED!
But wait… You still have that test you didn’t study for, or back in the real world, new project requirements that are to be made downstream from the updated requirements being discussed, and the ultimate release date still won’t budge.
Congratulations. You’ll now have to work 80 hours/week to make up for the major requirements shift. At least you didn’t waste any effort on the original requirements, right?