The difference and thinking of waterfall development model and agile development model

Source: Internet
Author: User
Tags documentation

Waterfall Development Mode:

The waterfall development model has the following notable features:

1. Strictly separate the development of software projects into various stages of development: requirement analysis, requirements definition, basic design, detailed design, coding, monomer testing, combined testing, system testing, etc.

Using milestones, the inputs and outputs of each development phase are strictly defined. If the required output is not reached, the next stage of work is not expanded.

2. Attach importance to and emphasize process documentation, software prototypes will only be seen in the middle and late stages of development, and early risers can only be documented to understand the system's appearance.

In this case, the importance of the document seems to have exceeded the importance of the code.

3. The waterfall model defines each development stage as a black box, and it is hoped that the people at each stage will only be concerned with the work at their own stage and do not need to focus on other stages of work.

The advantage is that developers can focus more on their jobs and improve the efficiency of their phases.

The downside is:

A. Because developers at all stages have access to things within their scope of work, the level of understanding of customer needs varies, and developers are more likely to be defined as workers on the line.

B. For changes in customer needs, coding staff will be more prone to strong resistance than designers.

C. There will be some information at each stage of development that is deliberately not known to people at other stages of development (intended to refer to efficiency, but in fact sometimes produces a mutual understanding bias).

4. The Management document (plan, schedule) generated by the waterfall model allows people who do not know the project to understand the progress of the project (only the percentage can be understood), which is suitable for reporting to the leader. So managers prefer waterfall models, but developers don't like it because it binds developers to creativity.

5. Since it is called a waterfall, it means that you should not backtrack. Otherwise, if there is rework, the cost will be very large.

The impact of a bug in the early stages of the software life cycle is much larger than the later.

The main reason for the higher cost is that each development stage is too large, and each adjustment can be hurt –.

6. More suitable for large-scale projects with relatively stable demand.



Agile Development Model:

The core is rapid iteration, embracing change.

Because the ultimate goal is to satisfy the customer, it is possible to proactively accept changes in requirements, which makes the software designed with flexibility and scalability.

declaration:

Individuals and interactions outweigh processes and tools

Work-ready software trumps all-encompassing documentation

Customer cooperation is better than contract negotiation

Responding to change is better than following plan


The agile development model has the following notable features:

1.story refinement.

2. Simple design, avoid over-design.

3. Repeat iterations.

4. Reduce unnecessary documentation.

5. The features that the customer cares about most are completed first.

6. The customer is required to have time to confirm the results of each iteration, and to make suggestions for improvement.

7.showcase.

8. Communication is very important and all developers should be consistent in their understanding of the project activity. Strengthen communication between teams and customers.

9. Test-driven Development (TDD)

10. Stronger personal and team skills are required.

11. Agile management is the self-management of the team and the service management of the project manager.

12. Agile development cannot give the project a complete cost plan at the outset.

13. It is not appropriate to expand an iteration if a technical issue is not resolved.

14. Agile Practice: Morning Meeting, deadline, responsible for the human system and so on.


Waterfall + Agile Development Model:

The core is to reduce the granularity of the waterfall model, adopt the excellent practice mode of agile development, improve the communication efficiency of development, and provide a panoramic view of the project.


Agile development, first of all customers focus on the software prototype first, delivered or on-line, in the actual scenario to modify the deficiencies in the demand, quickly modify, re-release version. Online or delivered again. With some agile practices, you can refine your story to provide smaller iterations. This loops until the user (customer) is satisfied. Suitable for projects with unclear requirements, innovative projects or projects that need to seize the market. Waterfall development, requires a clear demand, everyone in accordance with the needs of a step-by-stage planning, in the course of the operation of the project to produce a variety of documents strictly, according to the process step step down. This model is generally applicable to the requirements of a more clear, to B-side project but overall, in the current management of the project process, not strictly in accordance with the full agile or full waterfall mode, are each doped with other ways. In the actual project process, too much emphasis on the mode is not meaningful, it is important to prevent the occurrence of problems, after the problem can not be solved with the minimum cost, mode more a reference role
Finally borrowed the words of the Republic of China: less study of some doctrine, more attention to some practical problems. Some of the content in this article is borrowed from other articles.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.