Fog Creek Software
Discussion Board




Joel on XP

Finally Joel understand a little bit what XP is about, maybe another few years and he can actually see the merits of XP.
Is this guy slow or what?

Michel
Monday, April 29, 2002

I'd say he is practical.

Jan Derk
Monday, April 29, 2002

Is this guy slow or what?

or interested in what will actually make his business and products better. You know like talking about refusing to use XML because it's cool and to only use it where it would add value.

Robert Moir
Monday, April 29, 2002

Unfortunately, I think that because this is Joel's weblog, he will tend to comment and 'stream-of-conciousness' way too early.
He wasn't on the mark about unit testing when he talked about that and so on.

Anon
Monday, April 29, 2002

Could you clarify (or link to) what you mean by Joel's opinions on unit testing?  I thought like everyone, he used them.

Kenny Bloom
Monday, April 29, 2002

Never read what Joel writes about software engineering. Management maybe, UI ok but not software engineering.
He has no clue what he is saying.

software_bot
Monday, April 29, 2002


I would say he has a clue, albeit different from yours. Joel has shown us how a manager have to make certain choices between cool technologies or trends (which can be useful) and old methods or practices. Sometimes, changing practices must be taken slowly and carefully.

A couple of times I found myself being slightly bothered when Joel makes an affirmation being so secure of himself, than I though "what is this guy talking about? who do he think he is, for god's sake? And then, rereading him with a little more care and putting things on context --you should remember he talks about how to write software GOOD ENOUGH TO BE RELEASED, not state of the art tech.

From a programmer's point of view, I usually disagree on what he says (XP, programming language of choice, scheduling) but from a management point of view I tend to agree (again, XP, programming language of choice, scheduling :-))

Leonardo Herrera
Monday, April 29, 2002


And I need english lessons. Ugh.

Leonardo Herrera
Monday, April 29, 2002

Hi Kenny,
I'm referring to Joel's front page December 19,2001

http://www.joelonsoftware.com/oldnews/pages/fog0000000316.html

What he calls unit tests, the rest of the world would probably be calling functional or regression tests.  This is perfectly valid (GuruCheckedOutput), but unit testing it aint.

And sadly, not everyone uses them, and not everyone gets Test First Design.  TFD is definitely a skill to be learned, but once mastered improves quality and confidence by an incredible amount.

Hell, Joel is pragmatic, and I read his site with interest.  But he's just one of many experts or professionals voicing his opinion, and he's not always spot on the mark on the things he comments on.  Hence the comment about this thing being a Weblog.  If I put my every thought on a weblog, then I'm pretty sure I'd be redfaced quite a lot of the time when I learnt more what I'm talking about.

Which is why I don't, and read Joel's with interest!

Anon
Monday, April 29, 2002

Joel on XP != empirical experience.

You have to live with XP for 6 months before you can really start to comment on its strenghts and weaknesses.

Joel does have a good handle on the practical aspects of the software process - especially non-mission critical stuff.

I like his approach in most regards as it reflects an "it doesn't need to be rocket science" philosophy. Unfortuneatly, sometimes, it does.

Brian
Monday, April 29, 2002

i think combining different unrelated ideas (pair programming, regression tests, etc) about programming together and giving them a goofy (EXTREME NACHO FLAVOR!) name is a great way to help people who like to argue:

I think XP sucks because feature X is dumb!

Well *I* think XP rulez because feature Y is cool!

Well *I* think you're both dumb because you don't understand the beauty of feature Z!

And while I'm at it: PAIR PROGRAMMING? How can anyone not think that's stupid? If two programmers at one keyboard is a good idea, why stop there? How about 10?

:)

b
Tuesday, April 30, 2002

I don't know if you were joking, but they're not unrelated.  They each have weaknesses in isolation, but the point was that they reinforce the others.

I recall that they didn't quite know how to integrate design patterns, which they wrote a pretty book on, because patterns are orthogonal.  So no mention in their XP books.

Greg R.
Tuesday, April 30, 2002

Statements like "You have to live with XP for 6 months before you can really start to comment on its strengths and weaknesses" scare me. I tend to associate them with memes that need to be defended against obvious evidence.

For example, many organized religions run into the problem that they don't, actually, work. If you do good deeds and avoid pork, bad things still happen to you. The religions that have survived did so by telling a story about how you will be rewarded or punished, but not until after you die. Another problem of certain religions is that they posit the existence of a god or gods for which there is no empirical evidence. The religions that have survived did so by telling a story about how god is hidden because you're required to have this thing called faith.

Some religions do not have these protective devices attached to their memes. They died out. The Hawaiian religion died out quickly when white missionaries showed Hawaiians that eating taboo foods (e.g. taro eaten by women) did not actually cause you to die instantly as the religion claimed. Their religion would have been a little more robust if they had said that eating taboo foods causes bad things to happen after you die.

Anyway, I would like to assert that I *can* make intelligent claims about Extreme Programming, because I get thousands of email messages from thousands of people who are putting it into practice, and because I have taken the time to listen to Kent Beck, Ron Jeffries, Jim Highsmith, and other experts who spend most of their energy thinking about Extreme Programming.

You don't have to be a water buffalo to study zoology and you don't have to spend 6 months doing XP before you can comment on its strengths and weeknesses.

Joel Spolsky
Tuesday, April 30, 2002

--Statements like "You have to live with XP for 6 months before you can really start to comment on its strengths and weaknesses" scare me. I tend to associate them with memes that need to be defended against obvious evidence. --

Why is it so scary? XP is a software design methodology, not a religion. You don't have to get circumcised to try it out.

--You don't have to be a water buffalo to study zoology and you don't have to spend 6 months doing XP before you can comment on its strengths and weeknesses. --

You really lost me here. What does this even mean? I think what you meant is "you don't have to be a zoologist in the field to make comments on the effectiveness of certain field research techniques."  Of course you don't. But most zoologists won't really care what you have to say.

Certainly one can armchair theorize about whatever aspect of XP. However it is more useful to me to hear "I am a software engineer. My team tried XP for 6 months. This worked, this didn't work."  I can read read the XP wiki and various mailing list archives and pull armchair opinions out of my own ass, and it doesn't really add anything new or useful to the conversation...

ghetto superstar
Wednesday, May 01, 2002

Perhaps you should read some Alistair Cockburn, Joel.

Anon
Wednesday, May 01, 2002

Painful.  If Joel were to do as some say and force Fog Creek into XP for 6 months, I'd be the one calling him on his Gross Stupidity.  And I'm the guy who bought all the XP books for my company.  (remunerated of course.)

No, I'd rather he think about it intelligently for a while, and take what's appropriate.  I mean really, do you dive into code and say six months later, "Well, those for loops worked, but recursion was a bitch"?  The guy has Customers.

XP.  Come on.  Before it was called eXtReMe programminz, it existed as loosely connected thoughts and practices that some people were tossing about in their minds.  I sorta humbly submit that people take their own advice and tell us their experiences, not just say that our poor unloved Joel is a bozo.

Anyway, my experiences.  Refactoring is good, it finally gives people a formal reason to NOT optimize before we profile.  But what I didn't like was how teams like to take "Simple Design" and turn it into "No Design."  Some take it as an excuse to be morons.  I suppose that's why you savagely hire only the best.  With collective ownership, I note that it's easier if people are polite about it.  No one likes sudden merge conflicts on code they're writing, but usually it's quick API extension or correction, and you can always warn people.  Pair programming -- hated it.  It requires extra buy-in, and if you don't find the company absolutely exciting, it may suck.  And the 40 hr workweek rule is important to keep your people from going postal.

Still, pair programming really makes up for the lack of mentoring at many companies.  And with smart people it can be fun.  But it heralds the end of the age of the programming badass a bit too much.

Sammy
Wednesday, May 01, 2002

"But it heralds the end of the age of the programming badass a bit too much"

Well, that may well be a good thing.  Software is no longer about sitting in a dark corner generating reams of code, development has to answer to business, and work with business.

Anon
Wednesday, May 01, 2002

--Well, that may well be a good thing. Software is no longer about sitting in a dark corner generating reams of code, development has to answer to business, and work with business. --

it might be a good thing. however, if I was truly interested in business, I would just... be a business person.

ghetto superstar
Wednesday, May 01, 2002


I believe the collection of practices now called Extreme Programming is most good. But the day they called it "Extreme Programming" it becomes some sort of religion, and now is full with zealots, much like the Open Source movement.

Stupid-name it and they will come.

(As a side note, I have implemented a lot of XP practices, and the most valuable to me was pair programming.)

Leonardo Herrera
Thursday, May 02, 2002

Leonardo,

come to think of it, I will make pair programming a standard valid form of getting people up to speed about a new tool or project, should they want to.  But to make the most of Time, the newbies should get a chance to read up a bit before jumping in, so they know what questions are important.

The main secondary effect of pair programming seems to be of setting the pace of development, reassuring coders that they're not slow and dumb, or facing impossible deadlines.  Maybe many projects could start out in pair programming mode, then transition to individual coding.  That way people can anticipate each other.

Sammy
Thursday, May 02, 2002


Yes, some of the benefits I got from it are related with self confidence and the such. Back in the days of DOS I remember to have designed and written a complete implementation of a graphic environment from scratch in three days, with event queues, handlers, timers, etc. It was pretty cool; we sat with pen and paper for a day, thought a lot about relationships, objects, inheritance, event handlers, etc.; next day, we sat in one computer and started doing pair programming. It was beautiful.

I have been doing this regularly since then. It's not a day-to-day thing; but once or twice a week, for a couple of hours, it can be a lot of fun (and productive!)

Leonardo Herrera
Friday, May 03, 2002

Leonardo writes:
>>>"(As a side note, I have implemented a lot of XP practices, and the most valuable to me was pair programming.) "<<<

and
>>>"I have been doing this regularly since then. It's not a day-to-day thing; but once or twice a week, for a couple of hours, it can be a lot of fun (and productive!) "<<<

Is this XP?  If so, my concept is wrong.  Working in pairs on programming or any kind of problem solving for a brief period can work great.  But I thought that for XP you do pair programming all the time.  That is quite a different thing.

mackinac
Friday, May 03, 2002

*  Recent Topics

*  Fog Creek Home