1. Planning game -- quickly determine the scope of the next release, combining business priorities and technical estimates. Tthe customer decides scope, priority, and dates from a business perspective, while technical people estimate and track progress.
计划策略-结合业务优级先和技术评估很快的制定下一个版本的范围,然后由客户根据业务需求确定范围、优先级和时间;技术人员评估和跟踪进度。
2. Small releases -- put a simple system into production quickly. Release new versions on a very short (twoweek) cycle.
小版本发布-很快的产品集成,在很短的周期(两周)内发布一个新版本。
3. Metaphor -- guides all development with a simple, shared story of how they whole system works.
4. Simple design -- designed as simply as possible at any given moment.
5. Testing -- continually write unit tests which must run flawlessly; customers write tests to demonstrate functions are finished. "Test then code" means a failed test case is an entry criterion for writing code.
6. Refactoring -- restructure the system without changing behavior to remove duplication, improve communication, simplify, or add flexibility.
7. Pair programming -- all production code written by two programmers at one machine.
8. Collective ownership -- anyone can improve any code anywhere in the system at any time.
9. Continuous integration -- integrate and build the system many times a day, every time a task is finished. Continual regression testing means no regressions in functionality as a result of changed requirements.
10. 40-hour week -- work no more than 40 hours per week as a rule; never work overtime two weeks in a row.
11. On-site customer -- real, live user on the team full-time to answer questions.
12. Coding standards -- rules emphasizing communication throughout the code.
XP的12个最佳实践
(1)规划策略
(2)小版本发布
(3)隐喻
(4)简单设计
(5)测试
(6)重构
(7)结对编程
(8)代码共有
(9)持续集成
(10)每周40小时
(11)现场客户
(12)编码标准