In many cases, parts and procedures from various Process Models are integrated to support system development. This occurs because most models were designed to provide a framework for achieving success only under a certain set of circumstances. When the circumstances change beyond the limits of the model, the results from using it are no longer predictable. When this situation occurs it is sometimes necessary to alter the existing model to accommodate the change in circumstances, or adopt or combine different models to accommodate the new circumstances.
The selection of an appropriate Process Model hinges primarily on two factors: organizational environment and the nature of the application. Frank Land, from the London School of Economics, suggests that suitable approaches to system analysis, design, development, and implementation be based on the relationship between the information system and its organizational environment.8 Four categories of relationships are identified:
The Unchanging Environment. Information requirements are unchanging for the lifetime of the system (e.g. those depending on scientific algorithms). Requirements can be stated unambiguously and comprehensively. A high degree of accuracy is essential. In this environment, formal methods (such as the Waterfall or Spiral Models) would provide the completeness and precision required by the system.
The Turbulent Environment. The organization is undergoing constant change and system requirements are always changing. A system developed on the basis of the conventional Waterfall Model would be, in part; already obsolete by the time it is implemented. Many business systems fall into this category. Successful methods would include those, which incorporate rapid development, some throwaway code (such as in Prototyping), the maximum use of reusable code, and a highly modular design.
The Uncertain Environment. The requirements of the system are unknown or uncertain. It is not possible to define requirements accurately ahead of time because the situation is new or the system being employed is highly innovative. Here, the development methods must emphasize learning. Experimental Process Models, which take advantage of prototyping and rapid development, are most appropriate.
The Adaptive Environment. The environment may change in reaction to the system being developed, thus initiating a changed set of requirements. Teaching systems and expert systems fall into this category. For these systems, adaptation is key, and the methodology must allow for a straightforward introduction of new rules.
8 Frank Kand, "A Contingency Based Approach to Requirements Elicitation and Systems Development," London School of Economics, J. Systems Software 1998; 40: pp. 3-6.
| Next >