MONOLITH LAW OFFICE+81-3-6262-3248Weekdays 10:00-18:00 JST

MONOLITH LAW MAGAZINE

IT

What are the Legal Advantages and Disadvantages of Each System Development Model?

IT

What are the Legal Advantages and Disadvantages of Each System Development Model?

There is a certain methodology to how system development projects are conducted. Often, when learning about legal issues related to system development from books and other resources, the most classical method, known as the Waterfall Model, is commonly assumed. However, the Waterfall Model is not the only methodology or model for advancing system development. For instance, the Agile Development Model has become an increasingly popular choice in recent times.

In this article, we will explain and compare the Waterfall Model and the Agile Development Model from the perspective of legal risks and dispute prevention.

What is a Development Model?

What is the Waterfall Model?

What is a development model in the context of system development?

The most common and traditional approach to system development involves the following steps:

  • Requirement Definition: Identifying the functions and specifications that the system should have.
  • Basic Design: Designing the overall image of the system from the user’s perspective, including screen design and transitions.
  • Detailed Design: Designing the overall image of the system from the vendor’s perspective, including the connections between program files.
  • Programming Implementation: Coding the program according to the design document.
  • Testing: Verifying that the product meets the specifications and asking the user to confirm.

This development method, which proceeds like a river flowing downstream, with minimal backtracking or out-of-order steps, is called the “Waterfall Model”. This flow is not essential for creating a functioning system. However, in system development, which often involves a large number of people and a long period of time, planning is important. Therefore, it is also important to divide each process, organize roles, and clarify the responsibilities of each person in charge.

What is the Agile Development Model?

On the other hand, the way to proceed with development work is not always best suited to a method that pushes through from “upstream to downstream”. Certainly, due to the nature of the work, planning and estimation techniques are important, of course. However, in jobs that involve creating new things or works, it is often impossible to make a perfect plan from the beginning. If we value these points, it should be acceptable to not only proceed with work according to a plan once made, but also to easily accommodate post-hoc corrections and specification changes, and to increase the number of trial and error repetitions. This way of thinking is reflected in the “Agile Development Model”. In the Agile Development Model, it is common to spend as little effort as possible on detailed plans and design documents, and to repeatedly implement and test very small programs, gradually transforming them into larger programs and systems.

The Waterfall Model Makes Learning Legal Issues Easier

Before we compare the two development models, let’s touch on the ease of information gathering and learning about the legal issues associated with each development model.

Most Reference Books are Based on the Waterfall Model

When studying legal issues related to system development or learning about legal knowledge, the Waterfall model is easier to gather information from. Most legal books discussing system development are written based on the Waterfall model. This is because classical and general system development follows the Waterfall model, and Agile development is often positioned as a supplement, often only briefly introduced. Therefore, when trying to obtain information about legal issues related to system development from books, it is easier to proceed with learning if it is based on the Waterfall model.

The Waterfall Model Also Has a Large Accumulation of Court Cases

Also, because the Waterfall model is a classical and general method of system development, it can be said that there is a rich accumulation of actual dispute cases that have occurred in the past. In legal discussions, not only the text of the law but also the knowledge of past court cases is of significant importance. Even for cases that cannot be clearly defined as “white” or “black” just by interpreting the wording of the law, it is possible to supplement the content of the law by gaining insights from past court cases.

Even if it is not a codified law, the accumulation of judgments made by the courts can be established as a criterion for judgment, just like the text of the law. These are called “case law principles”. Even in areas where there is already an accumulation of case law principles, such as system development, it can be relatively easy to predict the final outcome of a dispute, even if it is an unknown dispute. In this respect, system development based on the Waterfall model has many advantages.

Merits of Each Development Method

What are the merits and demerits of the Waterfall model and Agile development?

Based on the above, we will organize the merits and demerits of each method by comparing them. The first half is mainly about the merits of the Waterfall model, and the lower you go, the easier it is to understand the merits of Agile development.

Comparison in terms of Planning and Predictability

In terms of planning and predictability, the Waterfall model is arguably superior. No matter how large the system to be created is, it is always broken down into each process that goes ‘upstream to downstream’. By setting a deadline for each process, its progress can be managed relatively systematically.

On the other hand, Agile development is a method that does not allocate much cost or effort to pre-planning or overall conception, so it tends to become an ad hoc approach.

Comparison in terms of Clarifying Individual Roles and Responsibilities

In the Waterfall model, the process is broken down into detailed steps, which has the advantage of being able to clearly define the roles of each project member.

On the other hand, in Agile development, the division of processes tends to be vague, so there is a tendency for ambiguity about who is responsible for unforeseen troubles and other issues.

Comparison in terms of Ease of Large-Scale Development

The Waterfall model, which excels in planning and role organization, becomes more advantageous the larger the development. Even if you organize a large number of personnel, if you break down the process and promote division of labor, you can minimize the cost of adjusting human relationships.

On the other hand, the Agile development model is not considered suitable for large-scale development. Because it prioritizes speed to start over planning and role organization, it is difficult to apply in situations where there is concern about the final delivery date slipping.

Comparison in terms of Speed and Efficiency

Agile development starts faster

In terms of the speed from when the user side has a request for a function until it is actually implemented, Agile development model is superior. This is because in the Waterfall model, it is common for the person in charge to be clearly separated between the upstream and downstream processes, and the communication within the vendor side tends to be time-consuming. This tendency to take a lot of time for communication is also linked to the point that it tends to be weak to post-specification change requests.

On the other hand, Agile development model can be expected to start and execute with a sense of speed without deliberately setting up an intermediary. This is closely related to the biggest merit of the Agile development model, which is that it is easy to respond to post-specification changes. However, even in the Agile development model, if you continue to respond to specification changes and additional development requests in an unstructured manner, it can become a risk that could set the project on fire. In this sense, how to manage changes in system development by the Agile development model is the key to success. A detailed explanation of change management is given in the following article.

https://monolith.law/corporate/howto-manage-change-in-system-development[ja]

Waterfall model is less likely to stall halfway

On the other hand, in terms of speed and efficiency, it is important to consider the long-term time frame. If you consider the risk of the project catching fire halfway and progress stopping from there, the Waterfall model is superior. The biggest risk of causing a situation where the project stalls halfway is a lack of communication between the user and the vendor. The Waterfall model, which makes it easy to clarify the division of roles between the two, has an advantage in this respect.

Agile development is easier to proceed smoothly at the acceptance stage

However, from the perspective of ease of discussion at the acceptance stage, the Agile development model has a slight advantage. This is because it is assumed that the user and the vendor will share information in detail even during the course of system development. It is expected that the risk of a discrepancy in understanding between the two parties becoming apparent when they see the final product can be reduced. A detailed explanation of the acceptance step in system development and the associated legal issues is given in the following article.

https://monolith.law/corporate/estimated-inspection-of-system-development[ja]

Conclusion

As we compare, it becomes clear that the Waterfall model is generally more conducive to thorough management, while the Agile development model prioritizes speed from initiation to execution. For legal issues associated with system development based on the Agile development model, please refer to the following article for more details.

https://monolith.law/corporate/legal-and-contract-issues-of-agile-development[ja]

Whether the Waterfall or Agile development model is more suitable depends not only on legal perspectives, but also on a comprehensive judgment considering the scale, budget, and objectives of the project.

Managing Attorney: Toki Kawase

The Editor in Chief: Managing Attorney: Toki Kawase

An expert in IT-related legal affairs in Japan who established MONOLITH LAW OFFICE and serves as its managing attorney. Formerly an IT engineer, he has been involved in the management of IT companies. Served as legal counsel to more than 100 companies, ranging from top-tier organizations to seed-stage Startups.

Category: IT

Tag:

Return to Top