You turn on the water in the shower, it's too cold. You adjust the tap, still too cold. Adjust the tap again, still too cold. One last adjustment, and you're in the shower. Ten seconds later, you're jumping out of the bathtub with scalding water raising red marks on your bare bum. Welcome to latency. By the way, what's your I.Q.?
Software development is notorious for having very long periods of latency. At Creo, it was quite common for a software release to take more than a year to develop. Heck, a major piece of software can take up to half a decade from conception to stable release. Six months of development gets you a service pack for most applications, and nothing more.
Think about this for a moment: Let's say you are a senior executive or an angel investor or a investment banker and some software development guru comes up to you and wants $2-5 million dollars and two years to develop a groovy new piece of software. What you do say? Well, if you are in the making-money-from-software-development-business, you either say yes or you say I'll-think-about-it. No is what you say to guys who say they can build something in a year, because they are full of baloney.
Off the top of my head, I can think of three major engineering projects (two software, one hardware) where the senior management team spent years and millions of dollars on the develop team and where the execs were told lots of time by the people around them that they should cut their losses. But no, they kept flushing money down the toilet to the point where everybody thought that the execs were nutty and maybe a bit incompetent. And you know what? At one time in the past, those execs were thought to be really smart people. So what happened?
Latency. It's that simple.
You can't kill a project because of bad-word-of-mouth. Anybody who has spent some time in the R & D business knows that the first version of any product has serious shortcomings. The first Macintosh had bad vibes. In developing the first postscript driver on the Apple computers (and thereby kickstarting the electronic pre-press revolution), the lead developer had a nervous breakdown. Everybody thought that the Windows NT development was going down a rathole and would never come out again. Look what happened. (Of course, they then took a lot of that same team and put them on Window for Itanium ie 64 bit-computing and they DID go down the rathole never to return)
Personally, when I joined the Prinergy team (then called Araxi) back in 1998, I was given a whole bunch of well-meaning advice by a few people not to go. Apparently, there was some doubt at the time as to whether the whole thing would get off the ground. For example, some of the middleware vendors were peddling crap. The senior engineers and the SMEs were fighting over specs (oh boy, never heard that one before), developers were leaving the team and some critical bits of the system, like the Java client, just ran too darn slow and nobody could figure out how to make it run faster.
And today? The project manager of Araxi aka Prinergy One is senior VP of the PWS division of Creo (now Kodak) and last time I checked, virtually every major commercial printer in the world runs Prinergy in their shop.
Whatever. Sometimes latency works for you. I mean, sometimes, if you just sit back things work out okay. On the other hand, sometimes if you just sit back, the horrendous hand of fate will ball itself into a fist and keep whacking you just below the waistline. And it's just unbelievable the number of very smart, very sharp people who end up just sitting there with their hand over their family jewels, taking the shots.
Of course, just to make this post topical, what do you think the problem is with Microsoft Vista? Did all the Microsoft engineers turn stupid all of a sudden? Or it is just that software development will ALWAYS be difficult? And that the trade press ALWAYS forgets how darn difficult it is to ship a complicated piece of software?
Blue Butterfly Consulting