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

Re: PG: Hackers and Painters

On Wed, May 14, 2003 at 05:19:50PM -0000, Paul Graham wrote:
> I've heard of this agile programming thing.  (Surely "agile" isn't
> the best word, btw; surely one hacker is at least more *agile*
> than two.)

Just another case of co-opting a perfectly good word.

> There may well be cases where several people can work
> on code.  I don't think I could, though.  It's fine to have code
> reviews.  Such code reviews could even take the form of presenting 
> someone with a rewritten version for them to adopt if they chose. 
> But I don't think I could stand more than that.  Nor would I 
> presume to do more than that to code someone else owned.  

I think that various forms of pair programming can work well for
some programmers, including good ones.  If your "good ideas" come
sporadically, a second mind can reduce the latency between good
ideas.  I sometimes have trouble concentrating, and the simple
presence of another person focuses me.  Some people have the
opposite reaction, though.

I also find it's not very sensitive to the person I'm paired with.
If he's a better programmer, I feel inspired and try to learn.  If
I'm a better programmer, I feel confident and try to teach.  If
we're equal, we try to play to each others' strengths.

I would probably not push pair programming on a group, but I would
keep it in mind, perhaps suggest it when someone (possibly myself)
is stuck, or tired, or distracted, or just needs a change.

Common code ownership, on the other hand, I find a generally bad
practice.  I really don't see how a piece of evolving code can
retain any conceptual integrity if nobody feels responsible for
it--and I've seen nice code without an active owner decay many
times.  I don't think that "refactoring" can fix this, since there
is no way that Joe bug whacker will take the time to understand the
original design.

Extreme programming people don't seem to put much stock in things
like design, however.  My synopsis of XP is:  "All software sucks
eventually.  Let's make it suck right away."