I was getting off the plane to Javagruppen ’05 this morning (or, to be more precise, what felt like morning after nine hours in a 747-400 from SFO to Frankfurt), and as luck would have it, we didn’t exactly deplane at a gate in the normal sense. Instead, the aircraft parked out in the middle of the tarmac someplace and buses took us from that location over to the terminal.
While we were headed over, about a five to ten minute ride, we passed by and in one case had to stop and wait for some of the airplanes taxiing from gate to runway or vice versa. And it struck me: although you may know this intellectually, you never really appreciate how BIG a 747 is until you see it from ground level.
When standing in the terminal, you don’t really get a good sense of the size of this aircraft; I mean, this thing is just a MONSTER compared to the typical A319/A320 or Boeing 737 that I usually end up flying when doing domestic travel. (Even the 737 or A320 is a pretty large piece of mechanics in its own right.) But when you don’t have that standing-at-ground-level perspective, you lose sight of the size of the thing; even riding in it you only see about half of the size, since the other half is devoted to cargo, perishables storage, and the usual flying mechanisms and electronic support gunk.
Which brings me to my point: a client of mine is consulting with me for some high-level technical evaluations to help them choose between continuing their current J2EE development trend, going with a "simpler" Java-based and/or J2EE-based approach, a .NET approach, or something hybrid between the three. One of the other consultants involved got a little excited and volunteered a time estimate on how long it would take him to build this modular, component-based, highly-available, highly-resistant-to-unreliable-networking-topology-change, administratable and monitorable infrastructure project, an estimate that I (and others) found just a wee bit on the low side.
This entry isn’t to point fingers at him or claim that I’m a better consultant than he is; I’ve made exactly the same mistake countless times over. It’s a common failing of ours, to make this off-the-cuff guesstimates based on nothing but whipped-up air and single-sentence requirements. And the usual result is estimates that aren’t much more reliable than my perspective of an aircraft from the terminal. Usually it’s not until you get your feet on the ground, as it were, that you suddenly realize the enormous size and scope of a project like this, just as you really don’t get the size of a 747 until you start doing empirical measurements. (For example–the winglets on the end of the wings? They’re roughly six to eight feet tall, by my calculation, despite the fact that they look like this little design "flair" that the aircraft designer thought up at the last second. And yes, they do serve an important purpose beyond making the plane look cooler. 🙂 )
Next time you’re in a meeting with folks and somebody asks you how long you think it’ll take, be sure to tell them whether this is a "from the terminal" sort of guess, or a "from the ground" sort of guess. The difference? Until you’ve been-there-done-that, and have something against which to measure their requests (meaning you have some kind of experience with the things in question, ideally having built something like it before), your estimates are likely to be all "from the terminal" guesses, and highly likely to be wildly off base.