Though it carries a bit (a lot) of the 90’s along with it, I got more from this book than I expected and I think Extreme Programming could stand another look. Almost all of this book resonated with me as similar to, but more precise than how I manage my client’s now. I thought that Extreme Programming really could cut out a lot of the issues that people face in software development. The number of times development is halted because I’m not sure what the client wants is certainly more than zero, and the places where I go down a path the client might not particularly care about is also more than zero. I imagine there is an inflection point somewhere to be found, but having a client on-site, or available, could certainly minimize the possibility of going to far down one path or leaving another unexplored ( it could also lead to confusion if the client rep’s knowledge is weaker than the software developer’s but personalities are always at play and should perhaps be assumed out of the equation ).

I have the impression that the downfall of XP is paired programming. Convincing clients to get one developer for these price of two has got to be a challenge. I think with a blend of pair programming and solo programming you could get a lot of benefit. At App Academy we did about 90% pair programming. I can definitely say that there were times when pairing slowed me down or simply made me frustrated. However, the times when my pair and I were complementary in personality and knowledge were vastly enjoyable as well as productive. In professional life, I’ve found the occasional pairing to be very productive as well, though that is often more of an ‘asking for help’ than a real pairing. But perhaps not, because the value lies in when knowledge is complementary, and if one person knows where the problem is and the other knows how to solve it, that is certainly complementary knowledge.

I think perhaps the formal XP definition of pair programming is too rigid, and one involving ‘tandem’ programming may be more practical. Pairs still provide each other support, but when the ground is level, both riders can pedal. For certain, mileage may vary but I think that a pair programming and XP could prove more productive than scrum or agile could lead to a very productive environment with happy programmers.

TLDR, 1.0 utopian mind stimulated, 1.0 economic mind made curious, left to assume that the numbers on XP simply don’t add up.