Technologies evolve through refinements in new versions and upgrades to products. Usually the enhancements are minor, but eventually older systems or hardware are no longer compatible or supported and soon become unusable. Leading edge software often contains bugs or is not robust when used outside the laboratory. Later releases become increasingly stable and appropriate for novice users. From the first telephone call to the mobile phone, telephony has evolved in imperceptible steps punctuated by a few grand leaps. So it is with the technologies for distributed learning.
Almost since its inception, the investigation of the evolution phenomenon has included modeling of process dynamics. This is exemplified by three models of evolutionary system growth developed in the 1970s (Belady and Lehman, 1975). These models, inspired by observed growth patterns of evolving software and by reasoning about the process, explored the impact on long-term functional growth of pursuing different evolution policies. However, it was only in the early 1990s that modelling of software process dynamics gained wider interest, though these studies (Abdel-Hamid and Madnick, 1991) concentrated on ab initio projects. Modelling work addressing long-term software life cycle issues followed (Aranda et al., 1993).
With the collaboration of ICL, Logica and Matra BAe dynamics the FEAST/1 project (1996-1998) (Feast, 2001) was able to substantiate, refine and extend the earlier results. This was made possible by analysis of data provided by these companies on the evolution of their respective systems, VME Kernel, the FW banking transaction system and a defense system. Data on two real-time Lucent Technologies systems also became available for analysis during this time. In FEAST/1, system dynamics (SD) (Forrester, 1961) and the Vensim tool (Vensim, 1995) were used to build models of two of the industrial software processes being investigated (Wernick and Lehman, 1998). The continuing model building ...