“What’s the difference between Extreme Programming and Agile?”
If you are educated on Agile, then you know this question doesn’t make sense. Extreme Programming is an Agile approach/framework/process, whatever word you prefer. But it is not something that would get set up as this vs. Agile.
I love this picture from Ahmed Sidky. You can see XP – that’s Extreme Programming – on the right side of the picture. XP in just one of unlimited number of different practices that come from the Agile mindset.
I remember in about 2002, my VP of technology came to me in the hall one day – at that time I was a expert in traditional project management – and he said, “I think we need to be more Agile.” I thought, “Hm, does he want me to have the developers do some calisthenics to begin each day or maybe some tai chi to get us limbered up?” But I did some asking around and found that Agile was a new thing where developers sat side-by-side working on the same thing together, they called it paired programming.
Someone else told me that Agile referred to Extreme Programming (XP). Extreme Programming was the early favorite Agile methodology/approach. It actually preceded Agile and led to Agile. Kent Beck created XP when he started to lead a project at Chrysler to re-write an accounting system in 1996 to prepare for the Y2K change over. The project had been following a traditional approach and was having major problems. Kent Beck was a consultant and was asked by Chrysler to come in and evaluate the project and give recommendations for its rescue. After a week Kent told the CIO, “You have 3 options.”
- You can keep going as your going and no one is happy with that.
- You can outsource this thing and that would be a shame because you have really smart people who really understand the problem you’re trying to solve.
- You can give everyone on the project a week off, throw all the code away and start over and I think you’ll be successful.
Sue Unger, the CIO, chose option #3 and put Kent Beck in charge of the project. When Kent Beck arrived a week later back on the project, he used his experience to improvise an approach to completing this project. About this time he says: “Inspiration happens when inspiration meets panic.” He was prepared and Chrysler was in panic. This produced the perfect storm and XP was the result.
On that day in 1996 he included in XP some of the practices that we associate with that approach, and one approach that has become associated with most every Agile approach: the Story (now frequently referred to as User Story.)