Yogi Berra, a professional baseball player, manager, and erstwhile philosopher, said it best, “It’s deja vu all over again.” Of course, Yogi wasn’t talking about Internet-based applications and ecommerce sites (what I’ll call WebApps), but I digress. Maybe we should start at the beginning. About every 10 years or so, a major new software-related technology captures the industry’s consciousness. Avant garde software folks claim it as their own, and in so doing, become the darlings of the technological scene. High salaries, considerable prestige, and no small amount of hubris are sure to follow. The corps of avant garde adherents argue that the new technology is truly different, requiring a new “paradigm.” The ways of the past simply don’t apply. In fact, the old ways can’t possibly be adapted to a new set of business rules and technological realities. As a result, the avant garde reject the disciplines of the generation that preceded them, but ironically, adopt approaches that failed miserably a few generations back. The Internet and the vast array of applications that it has spawned are undoubtedly a major new software-related technology. I won’t bore you with the obvious cliches; suffice it to say that the Internet and the WebApps that populate it are big—very big—
and that their impact is profound. What worries me is that this major new technology has become a breeding ground for important WebApps that are hacked in much the same way as important application software was hacked a few generations back—in the 1960s and 1970s. WebApps have to be hacked, argue the avant garde (who, of course, would never use the word “hacked”), because:
■ WebApps must be developed in days or weeks—time frames that don’t allow for anything but a rush to the finish line.
■ WebApps are constantly evolving—so why spend the time specifying what’s needed and designing how to build it when everything will change anyway?
■ WebApps are inherently different than application software—content (text, graphics, images, audio, and video, for example) is inextricably integrated with procedural processing.
■ The people who use WebApps are more tolerant of errors. What users really want are cool Web sites that are up and running in days, and besides, it’s almost impossible to know what WebApp users really want, because the demographics of Web visitors are so hard to predict.
■ The people who build WebApps are different—free-thinkers all—who certainly would feel unduly constrained by the old ways. In fact, talk of a disciplined approach—other than build it, test it to death (if time permits), and then put it
online—usually results in grimaces all around.