Certainly we've known about this for a long time, but we are so new to computers that we have no good feel for the life cycle of software. We are accustomed to the rapid advances in hardware and the need to upgrade every two year years or so, but some of the software programs we are using are almost forty years old. None of the programmers who wrote these old programs thought there was a ghost of a chance they would still be doing yeoman service at the turn of the century. Software is a brand new thing in the economy and there aren't many standards yet. A recent issue of Scientific American compared the present state of software development to the state of industrial development before Ely Whitney invented the assembly line in 1799, when everything was made by skilled individuals by hand and each item was unique.
Software is very similar to crafts made by hand.
Even the programs that aren't custom-made, such as Microsoft Access or Excel, become custom as soon as they are installed and adapted by the users. We are just beginning on this whole computer thing and we are learning as we go. It is becoming obvious that there are some things that the new technology does not do well. Part of the problem is that the marketing arm of the software producers have typically said they can do anything, and the managers in charge of purchasing often don't know enough about information systems to know when these claims aren't true. In the middle of all this, the century is going to change and cause a lot of really annoying, sometimes costly, and, in a few cases, dangerous mistakes in systems on which we depend.