Skip to main content

Is Extreme Programming (XP) incompatible with ideas expressed in Peopleware? [Resolved]

I have just finished reading Peopleware (DeMarco, Lister) and have researched on Extreme Programming (XP) a little before. As I see it now, the two approaches are almost exclusive to each other.

Peopleware suggests to isolate programmers from any disturbance and sets priority on uninterrupted work in order to help programmers to achieve flow. XP on the other hand proposes to ensure as much communication as possible, even suggesting for programmers to "sit together", code in pairs and generally work in the same room (generating a lot of noise).

Are those two competing schools of thought, is perhaps one of them proven right/wrong or is there an effective compromise? I can see the points both sides make, but can't see any reasonable compromise.

I am very new to studying software development management, so it's possible that I just misunderstood something. All comments welcome.

P.S As an added mini-question, as a programmer, which would you find more productive?

Question Credit: Aleksandrs Ulme
Question Reference
Asked August 28, 2018
Posted Under: Programming
4 Answers

The key is the phrase "isolate programmers from any disturbance and sets priority on uninterrupted work". The priority thing is clear in XP when Stories are selected each iteration to be the most valuable. Customers must strive to have a "stable" set of stories, without changing his mind too much mid iteration (it may happen, but it should be special cases, not the norm).

The "isolate programmers" part is the most tricky. It means that programmers should be doing what they do best: Program. For XP to work, programmers must be put in an environment where they focus solely on completing stories, without any external overhead like meetings, phone calls, small favors and such. This can be accomplished either by putting each pair of programmers in their own office, or by having all programmers in a warroom where nobody else can enter unless absolutely needed.

credit: Soronthar
Answered August 28, 2018

Personally, I find it IMPOSSIBLE to work in pair with someone, even if I am learning from that person. Maybe it's just so that some people (i.e. me) work better in the more "classic" ways (getting into the zone, silence, etc...).

Or maybe it's the fact that XP is mostly implemented within web dev shops in which people wear many hats and instead of solving hard problems in one domain (e.g. optimizing a piece of code), they spend time finding an already existing solution for a problem not very hard intellectually (e.g. integrating a shopping cart onto the page etc.).

For something like this, working in pairs, lots of communication etc. might be the only way to go forward effectively (you're not going to spend X hours just to find that e-mail sending module Joomla!/Droopal bug, are you?)

credit: Jas
Answered August 28, 2018
Your Answer