Extreme Programming
Ref:
Rule:
- Planning
- User Stories: User stories are written.
- release plan: Release planning creates the release schedule.
- release often: Make frequent small releases.
- iterative: The project is divided into iterations.
- iteration planning: Iteration planning starts each iteration.
- Managing
- optimize: last Give the team a dedicated open work space.
- steady pace: Set a sustainable pace.
- stand-up meeting: A stand up meeting starts each day.
- project velocity: The Project Velocity is measured.
- move people around: Move people around.
- Fix XP: Fix XP when it breaks.
- Designing
- simplicity: Simplicity.
- System Metaphor: Choose a system metaphor.
- CRC cards: Use CRC cards for design sessions.
- Spike solution: Creates spike solutions to reduce risk.
- nothing early: No functionality is added early.
- refactor: Refactor whenever and wherever possible.
- Coding
- customer on-site: The customer is always available.
- coding standard: Code must be written to agreed standards.
- Test Driven Development: Code the unit test first.
- pair programming: All production code is pair programmed.
- serial integration: Only one pair integrates code at a time.
- continuous integration: Integrate often.
- continuous integration: Set up a dedicated integration computer.
- collective ownership: Use collective ownership.
- Testing
- unit tests: All code must have unit tests.
- unit tests: All code must pass all unit tests before it can be released.
- tests: When a bug is found tests are created.
- acceptance tests: Acceptance tests are run often and the score is published.