- What is XP?
- Not Another Methodology!
- Bring on the Changes
- It's What You Value
- The XP Lifecycle
- Running XP
- Try This at Home
Not Another Methodology!
Actually, XP isn't strictly a methodology; it's more about mindset, attitude, values, and principles. There is process, but not in the rigorous sense of a paper-based, control-centric methodology. You may think this sounds a bit vague and a little threatening, but XP characteristics are based on some solid best practices:
Timeboxed development delivery in which the customer defines work packages
Early, concrete feedback and continuing feedback from short cycles
Incremental planning approach (the idea of continual planning is new in XP)
Ability to flexibly schedule the implementation of functionality
Reliance on a complete automated test framework that gives the development team and customer real metrics on status
Reliance on oral communication (existing methodologies typically formalize these into changes, requirements, risks, and so on)
Reliance on evolutionary design process
With the exception of evolutionary design process, none of these facets is particularly extreme. (The concept of evolving a design may terrify the living daylights out of any solution architects out there.) It works in XP by the combination of all of the 12 core practices (see sidebar).
XP Practices
Planning game
Small releases
Metaphor
Simple design
Testing
Refactoring
Pair programming
Collective ownership
Continuous integration
40-hour week
Onsite customer
Coding standards