XP – It’s Good For What Ails Ya
By Adrian Sutton
Doug suggests that XP isn’t a solution to your problems. Mostly I agree, however XP does make you feel bad – and in this case, feeling bad is good. As Doug points out, XP brings things out into the open which makes people feel bad about them. The lack of tests for your product – oh, that’s not good. Not doing continuous integration – tut tut tut. Your build is regularly broken? Shame on you! Feeling bad about these things is good and will encourage you to fix them.
Too many teams consider broken builds “the way things are done”, we don’t do test driven development so we don’t have good test coverage, that’s just the way things are done here. XP comes along and points out the costs of the way things are done and provides a pathway to make them better (albeit a long, winding one a lot of the time and with no street lights for the first half of the journey). With a good team of people, XP will take you to a better place even if the current situation is bad.
The flip side of that of course is that XP also highlights the good things. Test coverage improving – yay, that’s great! Delivering value to your customers faster – big win! There is a lot of positive feedback as you improve all the way from little wins when you find a simple design via TDD to big ones where you make your customers really happy. The feeling of the “XP way” and “getting XP” encourages the good and discourages the bad.
That said, if you’re on a bad team I think XP would make things much worse – it requires a lot of dedication and commitment, it takes trust in the team to make it work. XP is about turning all the knobs to 11 but with a bad team, particularly an uncommitted team, you may find the knobs only go to 8 and that’s only going to lead to problems.