How many of you are Extreme Programmers?

Peter Hansen peter at engcorp.com
Thu Apr 17 09:07:19 EDT 2003


Robin Becker wrote:
> 
> I get the impression that XP is intended as a design none/test all

Definitely not "design none".  Programmers with greater experience,
with better design skills, are consistently better than lesser
programmers, even when using XP.  XPers believe the abilities of
both are enhanced by using XP, so that they are more effective
than when not using it, but if it were truly "design none" I believe
you would expect to see a monkey program as capably as a senior
programmer, except for the part about typing.  (Monkeys, as it's
well known, are good at typing Shakespeare, and little else.)

> process where the code some grows organically into the requirement
> through bursts of coding and testing. It even seems as though the
> testing is primary.

Yes, definitely.

> This sounds remarkably similar to what we commonly call genetic
> optimisation or evolution strategy selection. There a fitness criterion
> is applied to randomly selected elements of a pool of solutions, with

The key is that XP is _not_ applying "randomly selected elements".
The experience and abilities of the programmer are heavily involved
in the process.

> Do XPers combine differing solutions etc etc?

Although one might see a surface similarity in some aspects of XP
with evolutionary strategies (and because evolution probably shows through 
in many parts of the world), it might seem there are more links between
the two than there really are.  Maybe one could consider XP to be
sort of a *directed* evolution, but it's far from random.  The design
that arises from working in an XP style has been described as emergent,
but the meme of "emergent properties" is not inherently related to 
evolution.

Interesting food for thought though.

-Peter




More information about the Python-list mailing list