Some people claim that ExtremeProgramming is a communist approach, what with PairProgramming, CollectiveCodeOwnership etc.
What do you think?
Those people have no idea about XP or communism.
I agree, of course, but how would you go about convincing them to try it (ExtremeProgramming, that is)? Telling people they're stupid doesn't usually work.
If they don't understand that running a company or a project doesn't follow the same rules as running an country/society, then they will not be convinced by anything you say. In other words. even if it were like "communism", that's not necessarily a problem for an organization. Many commercial organizations are anything but (univeral suffrage) democracies (do you have a vote on the direction of the company or who should be in the exec management), but that's not normally seen as a problem. It's just knee jerk reactions to the word "communism" - if that puts them off, you've got a bigger problem than whether or not to use XP.
So, the term "communist" doesn't apply to development projects, since communism is meant to be applied to countries. ExtremeProgramming shares some basic similarities to communism (collective ownership and re-distribution of resources), but applying it to a software development project has a completely different set of effects than applying it to a country.
The term "ownership" is misleading here. In a usual company the code is "owned" by the company, not by the coders.
Granted, "ownership" in XP is used in a different sense than legal ownership. I don't see how that affects the argument, though. Also note that "resources" doesn't necessarily refer to just the code. -- BrentNewhall
XP is Marxist. The workers control the means of production.
Yeah, right. Try walking out the office with your servers tonight
I don't agree with the premise of the page, but on the other hand, the servers aren't the means of production any more than a word processor is the means of production for a novelist. The means of production in both these cases is the knowledge and skill of the people producing.
In any event, Marxism is not a synonym for communism; communism was seen as a step on the road towards Utopian Marxism. Communism implies the concentration of capital in a single, centralized, and (presumably) rational body. Sounds a lot more like most BigDesignUpFront systems than XP. -- TimLesher
"How do you know Communism won't work? Nobody has ever tried it." -- PeterMerel
They tried to try it and it didn't work.
What is communist about PairProgramming or CollectiveCodeOwnership? There was no collective ownership of anything in the SovietUnion, everything belonged to the state. In what way does ExtremeProgramming 're-distribute resources'?
First off, the SovietUnion's implementation of communism didn't follow communistic ideals, as I understand them (OTOH, it's been quite awhile since I read Marx). But ignoring that, XP re-distributes resources by ensuring that everyone shares workstations and other supplies, and that nobody is permanently assigned to any particular piece of code. Work on code is distributed to programmers, rather than having programmers independently developing or maintaining code (as in other projects, where one programmer will be the "device driver guy," another will be the "COM guru," etc.). Note that this does not purport to ignore specialization. -- BrentNewhall
The Soviet Union was "socialist" - in Marxist theory as well as communist propaganda, socialism : communism :: theocracy : The Kingdom of Heaven. Anyway, XP is more like "participatory democracy" than anything else. -- TomRossen
The communism-to-XP comparison is a fairly absurd comparison, and probably one that speaks to the impoverished political culture of the U.S. Most XP shops aren't worker-owned, and XP says pretty much nothing about whether or not religion is the opiate of the masses, or about materialist dialectics.
XP is just a bunch of programmers trying to see if we can create software that creates less stress, more respect, and more quality. Nothing to be scared of. If that's communistic, then tattoo a hammer-and-sickle to my forehead and call me Vladimir.
... but how would you go about convincing them to try it (ExtremeProgramming, that is)?
For answers to this general question, see CategoryAdoptingXp
It's a losing rhetorical strategy to get all theoretical and semantical about communism and XP - "But what do we mean when we say 'communism', anyway?" You'll waste a lot of time if the conversation goes that route. It will probably be more useful to focus on the specific thing at hand. That is, talk about ExtremeProgramming and avoid comparisons to broad political ideologies. When somebody says "But that sounds like communism," maybe it would be effective to say something like "Obviously you mean that as a negative thing. What specifically about ExtremeProgramming is it that seems so negative to you?" Focus on specifics, and also accept that you may have to introduce XP gradually, process by process. Maybe UnitTests is the one to start with. (There's discussion about this in other pages in CategoryAdoptingXp.)
But if they're so fixated on the communism comparison that it's impossible to deflect them from that fact, it probably means that they 1) have no interest in constructive discussion whatsoever, or 2) they're incapable of having sensible discussions. Either of those is a good reason to ChangeYourOrganization.
Programmers from former Soviet Union say to have less problems with XP because of their "communistic" background. One is supposed to work for the team, rather than for himself. So the CollectiveCodeOwnership and PairProgramming go easier. Probably the same should be true for all the countries with traditional (rather than modern, individualistic) mentality. -- SergeiKureda