Individuals and interactions over processes and tools people are the most important factor in achieving success. Building is far more important than building a team environment. Many teams and managers guilty of first building on the environment, and then expect the team errors automatically gather together. Instead, it should first of all committed to building a team, and then let the team based on the need to configure the environment.
Working software over comprehensive documentation document is certainly useful, but too many documents could be worse than too little documentation. Because many of the document preparation requires a lot of time, synchronize these documents also need a lot of time, once the code is out of step with the document, the document will be misleading. The best approach to training will sit down next to them to help them, the knowledge imparted to them. So the best two documents is the code and teams.
Customer collaboration over contract negotiation Successful projects require orderly and frequent customer feedback. Rather than relying on contract or statement of work, but to let customers and software development teams work closely together, and try to provide feedback often.
Responding to change over following a plan the ability to respond to change often determines the success or failure of a software project. Plan can not be considered too far, because the business environment may change at any time, and once customers see the operation of the system, the demand may be modified. Even if everything is convinced that will not change, we still can not properly estimate the time required for development. The best strategy is to: make detailed plans for the next two weeks to do a rough plan for the next three months, and then later on to do a very rough plan.
in principle
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software
Even late in development, also welcomed the change in demand. Agile processes harness change to create competitive advantage for our customers
Frequent delivery of working software, the delivery interval from weeks to months, delivery time interval as short as possible
During the entire project development, business and developers must work together every day
Build projects around personal excited up. To provide them with the required environment and support, and trust them to get the job done
In a team, the most effect method of conveying information rich and efficiency, that is, face to face conversation
Working software is the primary measure of progress
Agile processes promote sustainable development speed. Sponsors, developers, and users should be able to maintain a long-term, constant development speed
Continuous attention to technical excellence and good design enhances agility
Simple - the art of maximizing the work unfinished - is essential
The best architectures, requirements, and designs emerge from self-organizing teams
At regular intervals, the team will reflect on how to work more effectively, and accordingly to adjust their own behavior