1.Plan Formulation: Includes the project size selected by the customer,ProgramFeature priority, merging of versions, and release date.
 
2.Minor version: Use the leastCodeWorkload brings the greatest business value.
 
3.Simple Design: Through all tests, there are no repeated and confusing logic code. A simple design can ensure the simplicity of the Code.
 
4.Test: The premise of a function is that a test can verify it, and any code that has a possibility of destruction must have a corresponding test.
 
5.Continuous Integration: Greatly reduce the time spent in integration and reduce team development issues.
 
6.Reconstruction: Make sure that the Code remains simple after new features are added, so that simple code can still run all tests.
 
7.Paired Programming: Provides continuous information feedback and ensures that programmers are refactoring, testing, and complying with coding standards for code sharing purposes.
 
8.Code sharing: When the test is passed, anyone can modify the system.
 
9.Work only 40 hours a week: Make full use of your time. It is enough to work 40 hours a week.
 
10.Field customer: To use the language description functions that both programmers and customers can provide.
 
11.Metaphor: A set of common languages and terms used to predict the functions of a project.
 
12.Encoding standard: Comply with coding standards, so that other programmers can understand the code and reduce unnecessary communication.