12 principles of agile practice [reprinted]

Source: Internet
Author: User


12 agile practices are the characteristics of agile practices that distinguish them from heavy processes.
1. Our top priority is to satisfy our customers by delivering valuable software as soon as possible and continuously.
MIT Sloan Management comment published a paper that analyzes software development practices that help companies build high-quality products. This paper finds many practices that have an important impact on the final system quality. One practice shows that early delivery of Systems with some features is highly correlated with system quality. This paper points out that the fewer functions contained in the initial delivery system, the higher the quality of the final delivery system.
Another finding in this paper is that there is a strong correlation between the delivery system and the final quality on a regular basis in a way that gradually increases functionality. The more frequent the delivery, the higher the quality of the final product.
Agile practices will be delivered as soon as possible and frequently. We strive to deliver a system with basic functions within the first few weeks of the project. Then, we strive to deliver a function increasing system every two weeks.
If the customer thinks that the current function is sufficient, the customer can choose to add these systems to the product. Alternatively, they can simply check the existing features and point out the changes they want to make.
2. Even after development, you are welcome to change your requirements. Agile processes use changes to create competitive advantages for customers.
This is a statement about attitude. Participants in Agile processes are not afraid of changes. They think changing needs is a good thing, because those changes mean that the Team has learned a lot about how to meet market needs.
The agile team will work very hard to maintain the flexibility of the software structure, so that when the demand changes, the impact on the system is minimal. Later in this book, we will learn some object-oriented design principles and patterns that will help us maintain this flexibility.
3. The software can be delivered on a regular basis. The delivery interval can be from a few weeks to several months. The shorter the delivery interval, the better.
We deliver a working software that can work, and deliver it as early as possible (a few weeks after the beginning of the project) and regularly (every few weeks thereafter. We do not agree to deliver a large number of documents or plans. We don't think that is what we really want to deliver. Our goal is to deliver software that meets the customer's needs.
4. During the entire project development period, Business and development personnel must work together every day.
In order to be able to develop projects in an agile manner, customers, developers, and stakeholders must have meaningful and frequent interactions. Unlike the weapons that can be automatically navigated when a software project is launched, the software project must be continuously guided.
5. Build projects around motivated individuals. Provide them with the required environment and support, and trust them to complete their work.
In agile projects, people are considered to be the most important factor for project success. All other factors-process, environment, and management-are considered secondary and must be changed when they have negative effects on people. For example, if the office environment hinders the work of the team, you must change the office environment. If some process steps
The process steps must be changed if it hinders the team's work.
6. In the team, the most effective and efficient way to transmit information is face-to-face conversations.
In agile projects, people talk to each other. The first way to communicate is to talk. You may write a document but will not attempt to include all project information in the document. Agile teams do not need written standards, written plans, or written designs.
Team members can write documents. If the requirements for these documents are urgent and significant, documents are not the default communication method. The default communication mode is conversation.
7. Software at work is the primary progress measurement standard.
Agile projects measure the development progress by measuring the number of current software to meet customer needs. They do not measure the development progress based on the development stage, the number of documents that have been written, or the number of created infrastructure (infrastructure) code.
Only when the 30% feature is required to work can the progress be determined to be completed by 30%.
8. The agile process advocates sustainable development speed. Owners, developers, and users should be able to maintain a long-term and constant development speed.
The Agile Project is not a 50-meter sprint, but a marathon. Teams do not start at full speed and try to maintain that speed during project development; instead, they travel at a fast but sustainable speed. If you run too fast, the team may be exhausted, and a short-term behavior may lead to a crash. The agile team will measure their own speed. They are not allowed to be too tired. They will not use the power of tomorrow to finish more work today. They work at a speed that can maintain the highest quality standards throughout project development.
9. Constantly paying attention to excellent skills and good design will enhance agility.
High product quality is the key to achieving high development speeds. Keeping Software as clean and robust as possible is a way to develop software quickly. Therefore, all agile team members are committed to writing only the highest quality code they can write. They will not create chaos and tell themselves to clean up when there is more time. If they create chaos today, they will clean up the chaos today.
10. Simplicity-the art that maximizes unfinished work-is fundamental.
Agile teams will not try to build those flashy systems. They are always more willing to adopt the simplest method consistent with their goals. They do not focus on predictions about the problems that may arise tomorrow, nor do they defend against those problems today. On the contrary, they complete the simplest work with the highest quality today, and are confident that if there is a problem tomorrow, it will be easy to handle.
11. The best architecture, requirements, and design come from self-organizing teams.
Agile teams are self-organized teams. The task is not assigned to a single team member from the external, but to the entire team, and then the team determines the best way to complete the task.
Members of the agile team work together to solve all problems in the project. Each Member has the right to participate in all aspects of the project. There is no single team member responsible for system architecture, requirements, or testing. The responsibilities shared by the entire team can be influenced by every team member.
12. at regular intervals, the team will reflect on how to work more effectively and adjust their behaviors accordingly.
The agile team constantly adjusts the organization, rules, specifications, and relationships of the team. The agile team knows that the environment of the team is constantly changing, and that to maintain the team agility, it must change along with the environment.

Every professional goal of software developers and every development team is to deliver the greatest value to their employers and customers. However, our project fails at a frustrating rate or fails to deliver any value. Although it is out of good intentions to adopt the process method in the project, the expansion process method should be at least responsible for our failure. The principles and values of agile software development constitute a method that can help the team break the expansion cycle of the process. This method focuses on some simple technologies that can achieve the goals of the team.

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.