XP

Principle

  • simplicity

  • communication

  • feedbck

  • courage

Core Practices

  • Whole Team

  • Planning Game

  • Small Releases

  • Customer Tests

  • Simple Design

  • Pair Programming

  • Test-Driven Development

  • Design Improvement

  • Continuous Integration

  • Collective Code Ownership

  • Coding Standard

  • Metaphor

  • Sustainable Pace

Planning

  • User stories are written

  • Release planning creates the schedule

  • Make frequent small releases

  • The Project Velocity is measured

  • The project is divided into iterations

  • Iteration planning starts each iteration

  • Move people around

  • A stand-up meeting starts each day

  • Fix XP when it breaks

Designing

  • Simplicity

  • Choose a system metaphor

  • Use CRC cards for design sessions 在设计会议上使用CRC卡

  • Create spike solutions to reduce risk 创建穿刺方案以降低风险

  • No functionality is added early 没有过早加入现在还不需要的功能

  • Refactor whenever and wherever possible 只要有可能就要重构

Coding

  • The customer is always available

  • Code must be written to agreed standards

  • Code the unit test first

  • All code is pair programmed

  • Only one pair integrates code at a time

  • Integrate often.

  • Use collective code ownership

  • Leave optimization till last

  • No overtime

Testing

  • All code must have unit tests.

  • All code must pass all unit tests before it can be released.

  • When a bug is found tests are created

  • Acceptance tests are run often and the score is published