At 8:00 we started boarding. They said we'd leave in 10 minutes.
At 8:20 they said we were just waiting for a few last people. Their plane would arrive in 10 minutes.
At 8:45 they said the plane had arrived, and the passenger would be here in 5 minutes at most.
At 9:30 he arrived and we left the gate. We needed to de-ice the plane though, and that would take 15 minutes or so.
Now it's 10:30, and we just finished de-icing. I hope we're going to take off soon.
Why are people so incapable of making good estimates? Do they never pay attention to how long things actually take? This is practically a cliche in compsci, and I have *never* understood why. I've heard dozens of excuses - "you can't plan for the unexpected", "you don't know what could go wrong" . . . to be honest, those are *terrible* excuses.
"Why is my house not built yet?"
"Well, I forgot I needed to sleep. You can't predict things like this!"
But the fact is you *can*. You can add some constant factor for "things that will inevitably screw up". Sure, you can't predict the details, but you don't need to - it's a time estimate, not an itinerary!
When I wrote the routefinder algorithm, I knew I could have it done in a day. Then I added a day, because there was no way my first design could possibly be the optimal solution. Then I added another day for the parts that I'd underestimated the complexity of. Then I added another two days for debugging.
"It'll be done in a week."
It took a full week.
We left at 11:00. Apparently we're only an hour behind our planned arrival time. I'm not sure how this works either.