Disposing of technology
Do we live in a world where technology is now a disposable commodity? In other words, do we throw away our old hardware, software and IT services when we find better solutions? And if technology is disposable, what do we as solution builders do about it?
There was a time in the not so-distant past when technology was like durable goods. Technology was expensive, so when choices were made, we expected equipment to be around for a long, long time. Technology was difficult to install and operate, which made us reluctant to change it once we had it working. We had to be very careful to select technologies that would work together, and often one technology choice would force other decisions for the sake of compatibility.
But technology is changing, and the pace is fast and furious. New innovations arrive to stretch the possibilities and open up opportunities never imagined before. We want to take advantage of these new technologies right now to be competitive.
Today technology is more like a disposable commodity. We buy applications to replace the systems we once had to build ourselves, and it is less expensive. We routinely upgrade software to fix bugs and add features, which may involve completely changing our current software. Industry standards have helped to make things compatible, so we can select the best technology components for each task, and we can replace them one component at a time.
The implication of disposable technology is that we have to expect radical changes in our solutions. We cannot build solutions any more on the assumption that once it is built it will be around for a long, long time.
We cannot assume a component will never change. We cannot restrict the use of other technologies tomorrow by virtue of technology choices we make today. We must take steps to build our solutions to adapt to change.
The first step we must take is to adopt standards. It is hard to imagine anyone who is not willing to dispose of their current network protocol in favor of TCP/IP. Standards are available for message formats, protocols, interfaces and infrastructure services. Standard consortiums are being set up to handle industry-specific requirements, and are being endorsed by major industry and technology players. We must be proactive in our search for and adoption of standards.
The next step is to ensure that interfaces between technology components are either very well defined or very easily changed. For example, HTTP is a very well-defined interface between a Web server and a browser, and XML can be used to specify the format of a message to be passed between two systems, which can be very easily changed as long as the basic semantics are agreed upon. If an interface is subject to change, we must consider isolating the interface with a layer of software, or use a service that can be replaced later to handle the change.
The final step is to always consider change in the design of a solution. Examine all interface points between components and/or systems. Consider the dependencies that are being created between any components within the system, and understand the implications if those components were to radically change or disappear in the future.
Technology is disposable, and that is necessarily so. We will continue to have to throw away or significantly alter our existing technology in order to exploit new, innovative technologies. The key to survival in this environment is to build solutions what are designed to adapt to change, and to never assume something will be there forever.
Nelson is chief scientist and managing director of the Applied Technology Research Group of EDS Systemhouse. He can be reached at firstname.lastname@example.org.