Traditional
Practically all early systems developments, and many current projects, use structured
methodologies. They generally consist of easily defined stages such as feasibility study,
analysis, design, implementation, testing and installation, each of which requires formal
completion before the next stage can commence. Generally, there are no tangible deliverables
until the last stage has been completed and then the whole system is provided.
Structured methodologies are suitable where:
- Changes have to be implemented at one particular date, for example, regulatory purposes.
- The requirements are well understood and are unlikely to change during the development
period. Again, a regulatory requirement is an example. - It is impossible to break down the task into smaller component projects.
- Provision of the system is contractual and to a fixed price.
- The technology used is inherently inflexible and it is therefore necessary to determine the
precise requirements at the outset of the development. - The required system is safety-critical (human life depends upon reliable operation).
RAD (Rapid Application Development)
- RAD emerged in the wake of evolutionary systems and the arrival in the late eighties of software tools that could facilitate prototyping and program code generation.
- Prototyping overcomes many of the problems associated with systems development, where any user may experience difficulties in understanding hypothetical situations and where systems designers could have difficulty in communicating their solutions.
- Prior to RAD, prototyping of systems was possible only at the expense of time and effort necessary to design and mimic screen layouts and the proposed reports.
- Changing the prototype was difficult and, when the design was agreed, the prototype had to be thrown away and the operational system developed.
- The introduction of graphical user interfaces (GUI) simplified the process of prototyping and RAD software tools enabled the completed prototype to form the basis of the system.
- For the first time, every percentage of effort resulted in the same percentage of the completed system.
- Current RAD methods and tools enable all stages of systems development to occur more or less in parallel. By prototyping a series of incremental system improvements, over a period of time each can evolve into a completed system.