Cascading Life Cycle Model: Advantages and Disadvantages

Software development is not like traditional engineering. A methodology is what developers use to break down work into manageable progressive steps where each can be tested to ensure quality. Teams work together with the customer to create a finished software product using one of the software development methodologies. The most popular of them are considered a spiral, waterfall, or cascading model (Waterfall); RAD, or rapid application development; Agile Model, or flexible and iterative, or iterative model. There are other options, but in this article we will only consider the waterfall, or cascading, model of the project life cycle, and also examine its advantages and disadvantages. Let us immediately explain that it is a sequence of certain steps, and its peculiarity is that a new stage is not possible until the previous one has been completed.

The history of the waterfall model

The methodology in its traditional form almost leaves no room for unexpected changes. If the development team is not too large, and the projects are predictable, then Waterfall can ensure their implementation within the given time frames.

People argue

A waterfall development model has existed for over forty years. It was first described in 1970 in an article by W. Royce as one of the very first official models for the development process. It was described as ineffective for large software development projects, but no one forbade using it for small ones. Almost half a century after it was discovered, this technique still matters in the modern business world. It is called an obsolete model and is treated with some neglect due to the obsolescence of the traditional project management approach. But Waterfall is a useful and predictable approach if the requirements are fixed, well-documented and clear, if the technology is understandable and when the project takes a little time. In this case, a cascading software life cycle model can provide a more predictable end result for a given budget, timeline, and workload.

What is a waterfall development model?

The Waterfall model can be described as a linear, sequential development of the project, where the processes are constantly moving from design requirements, then to implementation, verification and deployment, followed by ongoing maintenance. It is believed that the cascading life cycle model was created thanks to W. Royce, although he himself used an iterative development model.

benefits of a cascading life cycle model

The main emphasis in the development of the Waterfall model is made on the planning, timing, goals, budgets and, ultimately, the implementation of the entire system as a single object. The main advantages here are simple forward and reverse planning and implementation.

Cascade Model Description

Compared to other methodologies, Waterfall focuses more than others on a clear, defined set of steps. The original model consisted of five stages. Often it is described as a linear-sequential life-cycle model. This means that it follows a simple phase structure, where the results of each phase go to the next level of development. The main stages are:

  1. Collection of requirements and documentation.
  2. System design and engineering.
  3. Implementation.
  4. Testing and deployment.
  5. Support.
benefits of a cascading life cycle model

Teams must complete the whole step before moving on to the next, so if something is not ready for a specific deadline, it immediately becomes noticeable. And also, unlike Six Sigma or Scrum, Waterfall does not require certification or special training for project managers or employees.

Cascade Model Criticism

The cascade model of the life cycle of an information system has been criticized because of its inflexibility after the completion of each stage, and also because of the delay in the ability of the client to provide feedback. However, this methodology may work well in small projects with a limited budget. It is often compared to one well-known project life cycle methodology - PRINCE2, which was created by the UK government. This methodology is still used in the public sector. One of the key differences between PRINCE2 and the cascading life cycle model is that the latter requires a written description of all requirements from the very beginning, as it will be difficult to revise them later. Before the creation of any code begins, they must be precisely defined and fixed. This is an important advantage of a cascading life cycle model.

Pros and cons of the waterfall model

Since technical documentation is a necessary part of the initial requirements development phase, this means that all team members clearly understand the objectives of the project. New developers can quickly understand the rules for creating code and join the process without any problems. If a cascade model of the life cycle of an information system or project is used, phased execution ensures discipline.

disadvantages of the cascade life cycle model

Each step has a clearly defined starting point and conclusion, making it easy to monitor progress. This helps reduce any project deviation from the agreed time frame. In this model, unlike spiral, the software is considered as a single whole. Therefore, provided that all requirements are met, it works more efficiently. If we continue to compare the cascade and spiral models of the life cycle, we can conclude that the first is more universal and can be applied in various fields.

Requirements Discussion Phase

Another advantage of the cascading life cycle model is that costs can be estimated with a fairly high degree of accuracy, after all requirements have been determined. If it is applied, it means that at the first stage all test scripts are already described in detail in the functional specification, which makes the testing process simpler and more transparent. And also, even before the start of software development, the design is being worked out in detail, which makes the needs and results understandable to everyone.

cascading life cycle model

One of the important advantages when using Waterfall is the desire for the final product, or end result, from the very beginning. Therefore, teams should avoid deviation from the goal. For small projects where the intentions are clear enough, this step makes the team aware of the common goal from the very beginning, which reduces the chance of getting lost in the details as the project moves forward. The Waterfall approach is very methodical, therefore, it emphasizes the importance of a clean transfer of information at each stage. In the software development process, new people appear at every new step. Therefore, it is important to strive to document information throughout the project life cycle.

Disadvantages of the cascading life cycle model

Potential development problems can be investigated and resolved at the design stage. Alternative solutions are also being worked out and optimal ones are selected. All this happens before the start of the project. Many organizations value the attention to documentation at the very beginning, as it also means that there should be no surprises with the final product. But in practice, it is rarely possible to do without making changes. It is often difficult for customers to comprehend their own needs, using only the concepts of a functional specification at the stage of requirements formation. This means that they can change their minds as soon as they see the final product. This problem is difficult to solve. Sometimes the application has to be processed almost completely.

Lack of flexibility in the cascade model

Another drawback of the cascading IP (or project) life cycle model is the potential lack of flexibility. Questions may arise regarding new changes or changes in requirements that have occurred since the initial consultation.

cascading life cycle model used

Adjustments caused by business plans or market influence may not have been taken into account in planning. Project implementation may also take longer than using an iterative methodology such as Agile.

Important points when using the waterfall methodology

When it comes to developing Waterfall, it is important that software developers can effectively guide and advise clients to work around all these issues later. Often the most critical aspect of applying a cascading life cycle model is that customers really don't know what they really want. In many cases, genuine two-way interaction between developers and clients does not occur until the client sees the model in action.

cascade model of the life cycle of an information system

For comparison, in Agile development, a client can see fragments of working code that were created in the process of working on a project. Unlike Scrum, which divides projects into individual sprints, Waterfall always focuses on the ultimate goal. If your team has a specific goal with a clear end date, Waterfall will eliminate the risk of not meeting the deadline when you will work on it. Based on these pros and cons, Waterfall development is usually recommended for projects that are most likely not to change or need new development during the project life cycle.

Source: https://habr.com/ru/post/C27130/


All Articles