[Reprinted] 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 confirmed to be helpful to the final goal before an intermediate product can be created.
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, assign a high degree of responsibility, and make adjustments based on changes with the team's autonomy.

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. Project adoption of iterative Program Complete the project functions in stages; 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 and difficult problems. Algorithm You can discard the verification program. 3. plan multiple small-stage project plans to complete program delivery customers at the fastest speed. 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 through 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 design. 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 several things during import: 1. it is best to have a consultant to provide assistance; 2. continuous review; 3. the process can be adjusted appropriately, but the basic spirit cannot be lost.

4. Scrum Development Process
the scrum development process is a type of agile process, named after a British football competition formation (scrum, the basic assumption is that "developing a software is like developing a new product. You cannot define the final product procedure from the very beginning. R & D, creativity, and error attempts are required during 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. The requirement specification of the new product is provided by the customer, and the development team and the customer select the completed specification part 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 a 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

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.