« Lorem ipsum dolor sit amet... | Main | Tim Bray: DHTML v Flash »

XP myth dispelled: no code ownership

Who's to blame

In Extreme Programming (XP) there is a notion of no code ownership.

Utterly, utterly wrong. In Extreme Programming there is collective code ownership. An XP developer owns all the code. I was going to call this out as FUD, but I actually think it's basic lack of knowledge about XP/Agile.

In his weblog entry @author:Bob the Builder, Meeraj Kunnumpurath writes that in his experience this [no code ownership] doesn't work.

Perhaps that's why XP does not advocate it. But as an aside about Meeraj's post, I'll observe that,

  • if you have to whip your devs into shape with a hall of shame, you have the wrong devs to begin with, or at best the devs are thinking about things the wrong way and need educating. Hiring one cowboy is forgivable, but hiring a whole team of them strikes me as careless.

  • @author tags rapidly become meaningless over time as people work on different parts of the code. Certainly some people will concentrate on specific areas of the code, but the idea that one person only ever authors some unit of functionality (class, package, jar, whatever) and is therefore in toto responsible is a reality distortion.

  • I understand where Meeraj is trying to get to with a process, but what you really want, are people who will take personal responsibility for improving systems. Claiming bits of code, or forcing people to claim bits of code isn't by itself adequate. Put another way, it's playing not to lose rather than playing to win


August 5, 2003 11:43 PM

Comments

Fred Grott
(August 6, 2003 01:58 AM #)

so If I understand you( I am new to XP methods) its a team building environment where things get fixed because someone sets about being resposnible for the fix whether its his or her own code or not..sounds like the open source dev process in certain aspets..

put another way you would not want cowboys like Hani in any number beyond 1 in a project..

Ron Jeffries
(August 6, 2003 03:21 AM #)

I wouldn't even want ONE cowboy. Don't know who "Hani" is, so can't comment on that. But I'd much rather have good people who can work together.

Most cowboys aren't as good as they think anyway, in my experience.

Alain Ravet
(August 6, 2003 10:41 AM #)

Such a working environment would have me avoid dangerous code areas like the plage, to avoid having to update the author tag.

Ron: You'll find Hani and his bileblog here :
http://www.freeroller.net/page/fate?catname=Java
, next time FreeRoller is up!! I find him quite entertaining, though Fred will disagree, for a reason.

J. B. Rainsberger
(August 8, 2003 02:09 AM #)

Collective code ownership means everyone accepts responsibility for the quality of the code. This means that everyone pulls in the same direction or there is chaos, and that chaos bubbles to the surface very quickly.

No code ownership is the exact opposite: no-one accepts responsibility for the quality of the code, so it necessarily suffers.

If one person does not accept responsibility for the quality, that person has to go. "You're either with us or against us." True words.

Trackback Pings

TrackBack URL for this entry:
http://www.dehora.net/mt/mt-tb.cgi/1056