Comparison of common agile development processes

Source: Internet
Author: User

Speed is a key factor in the enterprise's competitive victory. The biggest challenge of a software project is to meet the changing needs, and to complete a project within a tight schedule, therefore, the software team must be more and more technical, and more effective development processes must be used to ensure that the team can make full use of the overall effect. This is the main reason for the emergence of agile process (agile software development process) in recent years. This article will introduce several widely accepted software development processes and their application suggestions. 1 agile process-Agile Development Process

 

Almost all software projects face difficulties in selecting the development process in the initial stage. One is a complete development process, and the other is a simple and lightweight process. Although we understand that using a complete development process can improve the quality of the software, we are often forced to adopt a simplified process due to lack of manpower, tools, and time, in most cases, it is still difficult for us to complete the project in a timely manner within the budget.

 
Agile process is a general term of a software development process. agile process has the following features:

1. the customer and the developer form a close team because the customer cannot define the complete specification at the initial stage, and the developer is often unable to understand the external environment or business changes during the development process, therefore, the two must work closely together to develop applicable software.
2. The final goal of the project is to execute the program. Therefore, all intermediate products must be carefully evaluated, and intermediate products must be created only when they are identified as contributing to the final goal.
3. the iterative and incremental modes are used in stages to check whether intensive review meets requirements.
4. The process can be simple, but the planning and implementation must be rigorous.
5. emphasize teamwork and assign a high degree of responsibility. The team has the autonomy to adapt to changes.

 

 

2. RUP development process-rational unify Process

 

RUP is a software development process developed by IBM Rational after years of R & D and experience. Its content includes business modeling, Requirement Modeling, logical design, implementation, testing, direct work of Software Development lifecycles such as deployment, and supporting work such as project management, change & Configuration Management, and environment support. The content of RUP is rich, and different projects need different adjustments. IBM Rational provides the RUP workbench tool to facilitate the adjustment of RUP and publish it on the web, so that project members can follow the unified process specifications.

The main spirit of RUP is: 1. the iterative program is used for project implementation to gradually complete project functions; 2. visual Modeling is widely used in business demand analysis, system analysis, and system design. emphasize architecture design; 4. the technologies, tools, practices, templates, and inspection items required for each task are defined in detail, with a complete architecture and adjustable elasticity.
Because the process specifications and Related Technologies of the RUP are complex, you must pay attention to the following factors during the import: 1. support from supervisors to ensure sufficient resource investment; 2. import data in stages; 3. proper training and close consultation; 4. when using the modeling technology, you must consider the coding real-time environment; 5. good team management, communication, patience, and persistence in solving the human resistance of change.

 

 

3 XP development process-eXtreme Programming

XP, also known as the ultimate process, is the most lightweight development process. The main spirit of XP is to "give timely and satisfactory executable programs when the customer has a system requirement 』, therefore, it is most suitable for projects with fast changes in requirements. XP has evolved into a refined development process after six years of implementation and modification, but it still lacks its simplified features. It emphasizes that the customer wants the workable Execution Code, therefore, it is recommended that customers and developers work together in a side-by-side approach to minimize work unrelated to writing programs.
The basic steps of the XP development process are as follows: 1. developers can communicate effectively with customers at any time and write user stories to confirm requirements.

2. simple and fast system design. Write independent verification programs to solve special problems. Find the algorithm to discard the verification program.

3. Plan multiple small-stage project plans to deliver the program to the customer at the fastest speed, and the customer is responsible for acceptance tests;

4. The unit test and acceptance tests programs must be completed before coding, and all modules must pass the unit tests before integration;

5. Developers must quickly respond to bugs and demand changes;

6. Two people are required to use a computer design program. When one person coding, the other person is responsible for thinking and designing;

7. The program must comply with the program specifications and often refactoring the program ).

XP is a relatively streamlined process. You should pay attention to the following items during import:

1. It is best to have a consultant to provide assistance;

2. Continuous review;

3. Adjust the process appropriately, but do not lose its basic spirit.

 

4. Scrum Development Process

 

The SCRUM development process is a kind of agile process. It is named after the British rugby competition formation (scrum). The basic assumption is that "developing software is like developing new products, the final product procedure cannot be defined in the first place. R & D, creativity, and error attempts are required in the process. Therefore, there is no fixed process to ensure project success 』.

Scrum compares the software development team to an olive team, has a clear highest goal, is familiar with the best model and technology required in the development process, has a high degree of autonomy, and closely communicates and cooperates, to solve various challenges with high elasticity, the daily and every stage of the warranty service has a clear target. Therefore, scrum is very suitable for product development projects. The SCRUM development process generally takes 30 days as a stage, starting from the requirement specification of the new product provided by the customer. the development team and the customer select the completed specification at the beginning of each stage, the development team must do its best to deliver results 30 days later. The team will have a 15-minute meeting every day to view the progress and plans of each member, understand the difficulties encountered, and try to eliminate them. Scrum is significantly different from traditional development processes and project management. It is best to have consultant assistance during the import.

 

5. Summary

 

The spirit of agile process has become consensus, but there is no fixed process that can be reused in different projects. In addition, whether it is RUP, XP, scrum, or other development processes that allow considerable flexibility, we must adjust or mix appropriate development processes according to the nature of the project, and allow the team to make necessary flexible changes during the process to achieve the goal.

 

6 References

 

RUP: Www.rational.com
XP: Www.extremeprogramming.org
Scrum: Www.controlchaos.com
Agile: Www.agilealliance.org

 

This article from: http://topinking.javaeye.com/blog/343826

 

 

 
 
 

 

 

 

 

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.