
The other day I met an enthusiastic product manager for a software company. He was very excited to tell me that his company had totally revamped its strategy and was moving from client/server computing to the Internet. I told him how happy I was for him and wished him well. However, before I walked away I asked him why his company was changing strategies. What he told me was that client/server technology was old hat and that the Internet is where the action is now. In fact, and even more important, he was going to focus on the Intranet.
There is no doubt that there is validity to what this gentleman said. Client/server computing was last year's hula hoop. If you're young enough, you'll remember the hula hoop - a big ring of colored plastic that you twirled around your waist. When I was a kid, you weren't cool unless you owned a hula hoop. The craze, however, faded after about a year and something new took its place.
Why am I using the hula hoop analogy? I think it explains the way our industry tends to deal with changes in technology. We in the software industry want the latest, coolest technology. However, in my view, reality is different from the illusion of being hip. In our search for answers to tough problems, we often look for approaches that promise the least amount of pain and discomfort. We like emerging technologies because their promise is boundless and we have not yet experienced the disappointing realities of deployment.
Now, back to client/server computing and the Internet: I agree that client/server technology is hard to implement. Complex business logic can be made easier by good tools, but you still have some hard work to do in defining those rules, figuring out business processes, and finally getting those rules incorporated into useable applications. No matter what client/server environment an organization decides to use, thinking and planning are part of the process. Therefore, although client/server computing started out three or four years ago as an easy answer to complex mainframe development, it has turned out to be almost as complex as the problem it set out to resolve.
No wonder the industry is ready to move on. And what could be better than the Internet and Intranet to solve the complexities of client/server computing? In fact, this line of thinking has some logic to it. One of the problems with client/server computing has been the lack of a consistent infrastructure (sort of like SNA for the 1990s). TCP/IP plays a critical infrastructure role for client/server technology. But the simplicity of the solution ends there. If organizations expect Intranets to prevent them from having to deal with complex development issues, they are dead wrong.
I believe that this industry does not spend enough time thinking about and planning for technology migrations and transitions. Without clear, rational thinking, we are simply fooling ourselves into believing that the advent of a new technology will make our world simpler. As we all know, history has proven over and over again that if something seems too good to be true, it usually is. This applies to the Internet and Intranet as well.
Despite the importance of computers in our work and personal lives, software is a young and immature industry - especially when compared to industries that are over one hundred years old. Therefore, it is not surprising that our ability to deal with software and application transitions is not as sophisticated as might be expected. Because we tend to forget about the newness of the software industry, both the developers and the users of this technology expect easy answers to complex problems.
Given this background and the fact that vendors and corporate users of technology are looking for the next hula hoop, how should organizations deal with transitions to new technologies? In my view, the answer is straightforward. I call this approach the Seven Rules of Hula Hoops: