Integral Logistics Management — Operations Management and Supply Chain Management Within and Across Companies

19.1.4 The Waterfall Model Versus the Spiral Model

Intended learning outcomes: Describe system development by strictly following to sequence of life cycle phases and the waterfall model. Explain iterative system development, prototyping and the spiral model.

The majority of experiences in the past have shown that software engineering cannot be executed with exactly the same strictness of the sequence of life cycle phases that classical systems engineering likes to stipulate. There are two reasons for this:

  • Firstly, the organizers and industrial engineers, with their often incomplete knowledge of what can be done on the information technology side, cannot formulate system objectives precisely and understandably enough to allow the software developers, who are not sufficiently familiar with the business processes, to design the correct information technology view of the system. As a result, the formulation of objectives is unstable through the course of the project. In the literature, this challenge is called the evolutionary character of software engineering.
  • Secondly, a critical factor is the customer or sponsor contracting the project. Customers want “to see something.” However, the system development for complex software systems is very long; it can take months or even a year or more. In the end, customers have little possibility to closely evaluate the quality of the work.

In both of these cases, therefore, the attempt is to solve the problem, for example, by what is called iterative system development.

Iterative system development means that software engineers break up the traditional systems engineering, so that not each life cycle phase of the system must be strictly completed before the next is initiated. For certain system functions in the preliminary, main, and detailed studies, proto­typ­ing is done, that is, a provisional and rough version of the system is built.

Iterative system development does not, however, shorten the system development as compared with the traditional sequential model. On the contrary, time is lost in the process. But this loss can be made up for by the following advantages:

  • The user interface and process scenarios can be shown early on. This helps to avoid misunderstandings that can occur already in an early phase of the system, and this increases certainty. Often, business people and software developers only come to recognize that they
    have different understandings when they can “see the thing.”
  • The prototype strengthens users’ and clients’ trust in the project and in the project actors. This
    creates a boost in motivation.

In software engineering, system development following the sequence of life cycle phases is also called the waterfall model, as shown in Figure

Fig.       The waterfall model.

Opposed to that, the spiral model is a cyclic process, as shown in Figure Here, the system is built, through prototyping, in every phase. In each cycle, the results of earlier phases are refined and extended.

Fig.       The spiral model.

In the iterative development process following the spiral model, the software is not specified, programmed, and taken on as a “complete” product but instead is developed in functional capability increments. The main advantage of the spiral model is that the application of successive increments provides future users with results that they can evaluate, so that the software developers can incorporate their feedback. The trend toward the spiral model also developed not least of all because of advances in programming techniques, in particular in connection with CASE (computer-aided software engineering) tools.

Course section 19.1: Subsections and their intended learning outcomes

  • 19.1 Systems Engineering

    Intended learning outcomes: Explain systems thinking and the top-down approach. Describe phases of life of a system and the system life cycle. Present in detail the problem solving cycle. Disclose the differences between software engineering and classical systems engineering.

  • 19.1.1 Systems Thinking and the Top-Down Approach

    Intended learning outcomes: Describe systems thinking and the proceeding from the general to the particular (top-down approach). Produce an overview on creating and evaluating variants at each level of the system.

  • 19.1.2 Phases of Life of a System and System Life Cycle

    Intended learning outcomes: Differentiate between system development and system implementation. In system development, present in detail the content of the preliminary study, the main study and the detailed studies. In system implementation, produce an overview on system establishment, system introduction and handover, system operation, and system decommission.

  • 19.1.3 The Problem Solving Cycle

    Intended learning outcomes: Identify the problem-solving cycle. Present in detail situational analysis, formulation of objectives, synthesis of solutions, analysis of solutions, evaluation of solutions, and decision in the problem-solving cycle.

  • 19.1.4 The Waterfall Model Versus the Spiral Model

    Intended learning outcomes: Describe system development by strictly following to sequence of life cycle phases and the waterfall model. Explain iterative system development, prototyping and the spiral model.