Once when I was a young adolescent I saw a documentry which still resonates with me today - it was the story of Canadian stunt-man Ken Carter. Ken spent around 1 Million dollars between 1975 and 1980 attempting to jump the mile-wide St. Laurence seaway between Canada and the United States in a rocket-powered Lincoln Continental. Being the young geek I was I was able to do the calculations and at the beginning I was certain that there was no chance in hell that Ken would make it. The movie was a long and entertaining one, and as I watched a kind of “suspension of disbelief” set in. By the middle of the movie I remember thinking “he’s spent all this money…surely he’s done the math…maybe he can make it”. As the movie reached its dramatic conclusion - Ken is stalling, the financiers of the stunt think he’s lost his nerve and one of Ken’s “friends” jumps in the car to attempt the jump - I thought they had an even-to-good chance of making it. The stunt ended badly - to quote this site which was the best source of information I could find regarding the stunt:
The bumpy ramp prevents the car from hitting the requisite 270 mph, going only 180 as it launches into the air. The wind immediately tears off its paneling as its parachutes halfway deploy. The car flies a paltry 506 feet, far short of a mile, and crash-lands in knee-deep water. Powers [Ken’s Friend] breaks eight vertebrae, three ribs, and a wrist. The footage is spectacular.
Some projects are like that stunt - when you start on them you think there isn’t any possibility of them ending happily, but resolve to do your best and fix what you can. Doubt exists in the back of your mind - maybe your initial assesment of the project was all wrong, the problems you saw were illusory and things are actually much better than they seem. If things really are that bad then no sane person or organization would take on the project. Suspension of disbelief sets in, and part way through you’re thinking thoughts like “yeah, we can integrate those back-end systems pretty easily” or “as soon as we iron out those bugs in the Foo system, and slap a bit of UI on all that great back-end funcionality we’ve written we’ll be almost done”.
But in reality you’re not “nearly done” - your just closer to crashing a Lincoln Continental into knee-deep water with broken bones, far short of your goal. Don’t ignore reality - I don’t believe (and this is stretching my memory of those youthful days) that Ken’s rocket powered car ever reached the requisite speed to make the jump when they were trialing it. If you’ve only addressed x requirements in your last few iterations, your chances of tackling 2x or 3x in the next one are about the same as Ken’s were.