Pricing

Quick Review: What is A Downside of Using the Traditional Waterfall Approach

What is a downside of using the traditional waterfall approach? In the 1990s, with the advent of the Internet era, people increasingly recognized the drawbacks of traditional development methods.

1: Low Efficiency

The waterfall model takes a long time, but the delivered product does not meet customer expectations. People have to accept two realities:

Requirements cannot be fully defined all at once or within a specific period. Requirements definition is an ongoing process of discovery. Requirements need to be continuously communicated and clarified with the customer throughout the entire development process, often using tools such as business process diagrams and product prototypes, to determine what the customer wants.
The inherent nature of requirements leads to new requirements arising during the design, development, and even testing phases.

 

Requirements themselves have uncertainty, and customers often don't have a clear understanding of what they want until they see a product prototype or use the product. Therefore, continuous customer feedback is necessary to clarify what requirements should be included or excluded in the next steps of product development.

Thus, the waterfall model attempts to define complete product requirements in the initial step, which is trying to achieve an unattainable dream.

2: Difficult to Adjust

The market is not static, especially for Internet products where the market changes rapidly. After the requirements analysis phase in the waterfall model, requirements are frozen, and any changes to the requirements need to go through a strict change process. In an attempt to avoid impacting delivery time, demand changes are usually suppressed. However, if the market has already changed, suppressing demand changes can result in delivering a product that doesn't truly fit the market's needs. Even if the product is delivered on time, it is based on requirements that were frozen months or even years ago, rather than what the market currently demands, thus missing out on new business opportunities.

3: Delayed Feedback

The waterfall model strictly separates stages such as requirements analysis, design, development, and testing, each of which typically takes weeks or even months, resulting in a long feedback cycle for quality issues.

For example, when a problem is discovered during the development stage, it often means that several months have passed since the requirements analysis phase, and correcting the requirements requires going through a strict change review process and adjusting the outputs of the requirements analysis and design stages before it can be reflected in the development stage. Moreover, bugs found during the testing phase may have been introduced during the development stage, design stage, or even the requirements analysis stage, indicating flaws and errors from earlier stages. Therefore, from the introduction of a bug to its discovery, it may take several months. Typically, projects using the waterfall model have a concentrated bug-fixing phase that lasts for several months before delivery.

The cost of software changes increases exponentially with each stage of the introduction. The later the stage of software development, the higher the cost of changes.

4: Long Delivery Cycle

In the waterfall model, it generally takes several months, a year, or even several years from project initiation to product release to the customer. During the intermediate development process, there is no usable product for the customer. Although some documents and reports may be provided to the customer based on their requests, the actual progress of the product remains a black box to the customer.

In this context, software engineering witnessed the second wave: agile software development. Various agile methods such as XP (Extreme Programming) and Scrum emerged, and the Agile Manifesto was established in 2001.

After learning “what is a downside of using the traditional waterfall approach”, we can see that with the rapid development of mobile Internet in recent years, to seize fleeting market opportunities, and meet growing business demands and user experiences, service providers have raised higher expectations and requirements for software products. It is not just about delivering iteratively in short cycles but continuously deploying to production environments based on demand. As a result, the concept and technology of DevOps emerged in this context.

Here, I recommend using WeTest, a long-standing leader in the testing field. WeTest has successfully undergone evaluations using advanced DevOps tools and has performed exceptionally well in five critical modules: interface testing, UI testing, compatibility testing, performance testing, and client performance testing, which is your best choice.

订阅新功能推广裂变活动
Latest Posts
1Exploring Valuable Test Cases in the Android Official MVP Project: A Comprehensive Guide to Unit Tes This article serves as an appendix to "Interpreting the Unit Testing of the Android Official MVP Project". This MVP project and its unit testing cases can provide many insights for our work, so it is worth giving it a quick read.
2A Comprehensive Guide to XSS Attacks and Defenses This article provides a detailed introduction to XSS(Cross Site Scripting) vulnerability attacks and defenses, including vulnerability basics, XSS fundamentals, encoding basics, XSS Payload, and XSS attack defense.
3How to Make Your Go Program Run Faster? This article is about the Go language. It primarily focuses on runtime speed, rather than development speed – these two types of speed are distinct.
4Enhancing Mobile App Quality with Crowdsourced Testing: Benefits and Key Components In this article, we will explore the benefits of employing crowdsourcing for mobile app testing and discuss the key components that contribute to successful testing, including testing on different devices, languages, and locations.
5Video Game Testing: A Fun and Profitable Way to Make Money Playing Games In this article, we will explore various avenues through which you can potentially earn a substantial income by playing games, including creating guides, writing reviews, coaching and boosting, and game testing.