It's 10 years since the publication of Extreme Programming Explained by Kent Beck. People don't talk much about XP any more, these days it's Agile, Scrum and Lean. I've just read the book though, and found it both provocative and inspirational. For example:
Defects should be notable because they are rare. Major scope adjustment, due to slow progress, should only occur in the first half of the schedule. Initial deployment should occur after only a small percentage of the project budget is spent. The system should be "whole" at the end of the first week.
Can you put your hand on your heart and say you always achieve these goals?
The values of XP are communication, simplicity, feedback, courage and respect. Just think about that. What does it mean for a methodology to have values? Is this a way to build software or a way to live you life? Or both? For me XP is more of a philosophy than a methodology, and the book is a call to action.
I think one of the reasons XP grew into a significant movement is because Beck has such a great turn of phrase:
Start where you are now and move toward the ideal. It's always a people problem. Technique also matters. Align authority and responsibility. Silence is the sound of risk piling up. Satisfaction comes from doing quality work. Conflict and disagreement are the seeds of learning. Write a little test before every change.
Beck says that his vision for XP is:
An always deployable system to which features, chosen by the customer, are added and automatically tested on a fixed heartbeat.
10 years ago this did seem extreme; now it's a standard development approach. One you have to strive to realise and work at and practice for sure, but standard all the same.