I was working with Diana Larsen the other day and we got to talking about various approaches to introducing Extreme Programming and other agile processes.
I told her that, in my experience, introducing agile methods worked best when the team did a complete switch to the agile method, trying the whole thing before customizing it. In fact, I had yet to see--or even hear about--an incremental approach to introducing agile methods that didn't stall halfway.
To my surprise, Diana agreed. She said that she'd seen the same thing and that it wasn't surprising. Organizational change introduces a bit of chaos into the organization. Doing lots of little changes is more disruptive than one big change. Eventually, the organization rejects further disruptions... and the incremental change effort stalls halfway.
This shouldn't have surprised me. Deep down, though, I wanted incremental change to work. It seems like the sensible approach to take: if you're going to use something like XP, try it a little bit at a time, evaluating to make sure it works for your organization. This is what some of my customers want, too, and I want to accommodate them. My gut told me that this wasn't nearly as effective, but it was so darn sensible. Now I know better.