Extreme Programming Experiences: Introduction
Over the last six months I’ve had the privilege of working in a software development team that was practicing the closest thing to a full implmentation of XP that I’ve ever seen.
This team was incubated in Pivotal Labs, who are experts at the Ruby on Rails software framework and the XP methodology.
I’ve read a lot about XP over the last ten years, and tried some of the practices when it seemed to make sense for the project I was working on at the time. I’ve tended to feel a mix of curious optimism and curmudgeonly skepticism toward some of the practices: could these ideas really work?
Well, I have tried to think critically in my analysis of fuzzy topics like how much design to do, so that I could figure out not whether something was a universally Great Idea or not, but rather when it would work well and when it wouldn’t. The only way to find out for sure is to try them.
Well, now I’ve worked in an XP shop and I’ve learned a lot about how to make XP work, and about the challenges that a team following an agile methodology faces. Here are the most important things I’ve learned, in the next few posts (broken up by topic to help keep the comments focused).