eXtreme Programming
An agile software development approach that raises product quality, adapts quickly to changing customer needs, and delivers small, frequent releases through short iterations.
Key Points
- Short iterations with small, frequent releases
- Built-in quality using test-driven development and continuous integration
- Collaborative engineering: pair programming and collective code ownership
- Close customer involvement to respond rapidly to changing requirements
Example
A team building a mobile banking feature set works in one-week iterations. The customer representative is available daily to refine user stories. Developers write tests before code (TDD), pair program on critical modules, and use continuous integration to merge changes frequently. Every two weeks, the team releases a small, tested increment to production.
PMP Example Question
Which plan best reflects eXtreme Programming (XP) practices?
- Perform detailed design up front, freeze scope, and deliver a single release after six months.
- Work in 1-2 week iterations, write tests before code, pair program, and release small increments frequently.
- Use a strict change control board for all changes and integrate monthly to reduce merge risk.
- Assign modules to individual developers and avoid refactoring to maintain schedule predictability.
Correct Answer: B - Work in short iterations with TDD, pairing, and frequent small releases
Explanation: XP emphasizes high quality, rapid response to change, and frequent, small releases enabled by practices like TDD, pair programming, continuous integration, and refactoring.
HKSM