1. The highest priority is to satisfy the customer by delivering business-critical software on a timely and consistent basis.
2. Be open to altering requirements, especially if they emerge late in the development process.
3. Consistently provide working software
4. Throughout the project, business people and developers must collaborate in a transparent manner on a daily basis.
5. Create projects that revolve around people that are passionate about what they're doing.
6. Face-to-face communication is the best method of communication.
7. Working software is the major indicator of progress.
8. Ability to keep a steady pace
9. Consistent focus on technological quality
10. Simplicity is crucial — the art of minimising the amount of effort that isn't done.
11. Self-organizing teams
12. The team considers how to become more effective at regular intervals, then tunes and adapts its behaviour accordingly.