Extreme summary of the Extreme Programming methodology
Common Ideas:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiations
- Responding to change over following a plan
Values:
- Communication - Provides the team with an avenue for expressing ideas, thoughts, understanding and innovation
- Feedback - provides the team with a way to determine the effectiveness of what they are doing
- Simplicity - keeps the team from getting bogged down and over-complicating the application
- Courage - necessary to just do the right thing, even when that is not always the path to least resistance
Practices:
Planning game, small releases, continuous testing, simple design,
coding standards, pair programming, collective code ownership,
refactoring (cut/paste), continuous integration, metaphor and sustainable pace.
The real benefits that we can gain from XP are:
- Produce high quality software
- Increase team communication
- Software development will be more fun