July 11, 2004
XP... You Know, For Kids!
My good friend Alan Francis recently observed the following about eXtreme Programming:
"It feels like a bunch of people are looking at XP and the last five years
and somehow thinking themselves naive. "Oh look, we were the upstart
teenager for a while but now we have to get serious...'Agile' is big
business...XP is just adolescent idealism".
Ron Jeffries (one of my favorite people to argue/agree with in the whole world) thoughtfully asked some of us for our thoughts, and Ken Auer of RoleModelSoft -- a long time XP'r and Software Craftsmen; someone whom I admire and respect (and talk to entirely too infrequently) -- provided a response. I asked Ken if I could publish his comments on my site, and he graciously consented, so here they are:
Posted by wcaputo at July 11, 2004 12:11 AM
This is the same stuff I heard from people who never got Smalltalk or
the "oriented" part of "object-oriented" and figured grown-ups used C++.
[of course the OO folks ended up having to use Java like the mature
people said we had to if we didn't want to use C++]And the same stuff I heard from people who never got Object-oriented
Databases and figured grown-ups used Relational Databases or Object
Databases that assumed grown-ups were using C++... Note the missing
"-oriented")
[of course the OO folks came up with OR mapping layers so it could
become bearable to use the RDBs the mature people said we had to use]And the same stuff I heard from people who never got CRC and figured
grown-ups had to have a CASE tool.
[of course the OO folks stopped using CRC cards and drew something that
resembled UML on whiteboards so they could play in the mature people's
sandbox]And the same stuff I heard from people who never got what a real team
development environment should be like and used vi, emacs, or any number
of visual products that couldn't do much after you wired things
together.
[of course the OO folks started building IDEs that would play nice with
all the junk the mature people made us use]And the same stuff I heard from people who never produced anything with
a small high-performance team and said my techniques would never scale
the way the ones that have never worked never did.
[of course the OO folks produced XP so they could find a way to work
with teams bigger than 3 or 4 because the mature people have produced a
complex world that is difficult to imagine that any 3-4 people can
navigate through]I was certainly naïve when I started XP, but not nearly as naïve as
those who were too mature to use it in the first place.About a year ago, Uncle Bob pointed out Aristotle's error... That he
stopped trying things out and observing what works but kept on thinking.I've been called an idealist since I first started programming with
Smalltalk and producing stuff that I had no idea how I could do with any
other approach. It slowly matured so I could do even more with a team
of people without shooting each other in the foot. Now, the tools for
Java and the discipline of XP have made it bearable enough to use a
sub-par language and be almost as productive... Even when I have to
deliver applications in an environment designed for sharing static text
and bitmaps.Some adolescents will become agilescents (adolescents that go meta
instead of grow up); some will keep their idealism until they bite off
more than they can chew and get depressed when they fail; others will
have some success amidst some disappointments... The wise ones won't let
the success or the disappointments get to their heads and become the
former.I've done or seen a little of all of the above. Though it's good to
stretch oneself in some way, I've always come back to the idea that
focusing on being a Software Craftsman, though not without it's bad
days, is more satisfying than being a meta-consultant. It may not
always be as lucrative, but I've always eaten well enough (or too well),
and I find the enjoyment factor is always higher when I'm not in it for
the money.YMMV
The Death of Agile (November 2, 2009)
Gifts Instead of Certs (October 26, 2009)
Continuation Passing Style (June 16, 2009)
Closures and Sequence Points (June 16, 2009)
Is This Thing Still On? (June 14, 2009)
Business and IT converging? (July 15, 2006)
Applying Technology is not Technology (July 5, 2006)
Knowledge Nodes (April 2, 2006)
How to Start an Interplanetary War (February 14, 2006)
(All Entries...)