Extreme Programming Refactored: The Case Against XP
Why on earth would someone writing code want a quiet place to think? An experienced consultant expresses it this way:
Pair programming appeals to fresh-faced young programmers who want to bond a little too much, people who spend too much time ˜being just mad mate , running around being zany, mistaking this for creativity. The best programmers I know want silence, as they are having ˜hard thoughts . They achieve their magic by ˜thinking about the problem , not playing around waiting for the gods of creativity to give them a bolt from the blue, whilst they play Kerplunk and talk about why Postman Pat is so cool. [7]
Of course, Ron Jeffries thoughts on the topic are somewhat different and bear repeating:
| GROUCHO | I think maybe concentration is the enemy. Seriously. If you re working on something that is so complex that you actually need to concentrate, there s too much chance that it s too hard. [8] |
Jeffries comment reveals a lot about the Extremo mind-set : A roomful of noisy people working on bite- sized chunks of code is preferable to an environment that is more conducive to hard thinking and elegant designs that take all the project s requirements into account. In XP, it appears that everyone on the team must conform to this form of organization. There is no flexibility.
| |
Conversely, other processes besides XP do at least offer some form of organizational flexibility, as we discuss in Chapter 3.
| |
Another consultant puts it this way:
Pair programming will always be a problem in a society of individualists (particularly of the American strain). Most of us are willing to share (i.e., peer review) but we do not want to show our ˜stuff until it is ready. It is just human nature. Dealing with a mentor is a bit different. Most of us are willing to use a mentor for suggestion and help, but we do not even want our mentor to sit on our shoulder all day long. Let the mentor help others, too. [9]
[7] Dino Fancellu, e-mail to author, January 5, 2003.
[8] Ron Jeffries, posting to the C2 Wiki page Pair Programming Ergonomics, http://c2.com/cgi-bin/wiki?PairProgrammingErgonomics .
[9] Gary A. Ham, e-mail to author, March 3, 2003.