[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: PG: Hackers and Painters



Andrew Pimlott writes:
> On Fri, May 16, 2003 at 11:27:12AM -0400, Jeremy Hylton wrote:
> > 
> > Several people have expressed a similar sentiment.  I don't agree with
> > the premise that common code ownership means that no one feels
> > responsible for the code.  In fact, the opposite should be true; if
> > everyone owns the code, everyone should feel responsible.
> > 
> > If no one person owns the code, then it is everyone's responsibility to
> > repair broken code and improve what exists.
> 
> I said after the part of my message you quoted that XP folks don't
> put much stock in design.  I think what you wrote demonstrates what
> I meant.  You see value in fixing bugs, optimizing, adding features,
> etc.  But you don't seem to see value in the sort of conceptual
> unity that is the product of a single (sometimes, but not normally,
> more) mind.  My experience has taught me that this is of immense
> practical value.

I genuinely think that it is easier to achieve conceptual unity in a
setting *without* strong code ownership than in one with it.

The reason is as follows: no one can define the proper interfaces a
priori. "Plan to throw one away" is as sound advice at the level of
modules as it is at any other. However, if there is strong code
ownership, then you cannot redesign the interface to a module without
explicitly coordinating between each of a module's clients' owners.
In a shared-code setting, it is permissible to change an interface,
and then fix each use of it, where ever it might be. This is a big
win, because it cuts the organizational overhead and administrative
friction in the process of developing the proper interfaces.

-- 
Neel Krishnaswami
neelk@alum.mit.edu