On Development Redux

chromatic on 2002-09-19T23:19:39

I've been in [state] at [big company you all know] for the past week, in preparation for [secret project]. I went out to supper with one of the younger developers here, and he picked my brain about development ideas. I found myself giving a ninety minute presentation on the economics and practices of Extreme Programming this afternoon.

Obviously, I'm biased toward testing and refactoring instead of rewriting, but it went really well. It's interesting how undisciplined development tends toward the same practices no matter where I go. It's also nice to have a group of people receptive toward the idea that things don't have to be that way.

[secret company] may not fully adopt XP. That's fine -- but now they're talking about ways to improve the process of writing software. They've had the opportunity to say "Hey, we could do a better job if we changed a few things." Since a couple of them immediately went off to start looking at how to write tests (my recommendation for a starting point), I think they'll do okay.

It was also nice to give a talk based off of a book outline (another [secret project]) and have it received well. Case study, anyone?


I like the attitude...

jordan on 2002-09-20T00:02:38

  • [secret company] may not fully adopt XP. That's fine...

I'm impressed. I had the impression that XP advocates were all wide-eyed zealots, ready to declare anything else as insufficient and hammering relentlessly away that you have to drink the special kool-aid or you're worthless.

In the real world, revolutions are usually gradual things. If there's anything to XP, you wouldn't have to adopt it ALL to notice benefits.

Re:I like the attitude...

chromatic on 2002-09-20T00:49:34

Don't get me wrong: there's a powerful network effect from all of the techniques together. You do see a lot of benefit from adopting them in batches, though. A little discipline is infinitely better than none.

XP as a fad

ziggy on 2002-09-22T23:09:06

I really like Pete McBreen's latest book, Questioning Extreme Programming. Like his previous book, Software Craftsmanship, it's a reflective look at the current state of software development.

Kent Beck doesn't entirely agree with McBreen's conclusions, but wants Questioning XP in the XP series, because XP is about thinking about your software process. McBreen understands the composition of the petri dish that XP needs to survive, and describes reasons why XP can/has failed, and ways to learn from XP when XP isn't particularly appropriate.

The best thing that XP has done is reopen the discussion on methodologies, revisit the appropriateness of "software enginnering" (vs. craftsmanship), and highlight agile methods in software development. McBreen lays out the benefits of adopting two or three items out of the XP basket (like testing and refactoring), and adding them to the current software development process to improve it.

All in all, it sounds like you're in agreement with Pete McBreen. And that's not a bad thing at all. ;-)

Re:XP as a fad

chromatic on 2002-09-23T16:51:12

You're not going to rest until everyone reads Software Craftsmanship, are you?

My goals are simple: I want the software I use to be of high quality. I want to have the freedom and the discipline to write good software. I want to work on projects where I'm responsible for solid technical decisions and am not responsible for business decisions.

I see a lot of value in Extreme Programming, but I've also seen what happens when people don't work together, and when the system doesn't fit the environment. If it takes me talking about XP to make them think about how to write better software and how to develop software better, I'll keep talking. If they don't adopt XP, that's fine -- so long as it leads to better software.

Re:XP as a fad

ziggy on 2002-09-23T17:10:31

You're not going to rest until everyone reads Software Craftsmanship, are you?
Nope.

As brian once put it, "If you don't have a copy on your desk, a copy by the bed, a copy by your computer at home, a copy in your briefcase and a copy to lend to a friend, then you need to buy another copy of this book." ;-)

I see a lot of value in Extreme Programming, but I've also seen what happens when people don't work together, and when the system doesn't fit the environment. If it takes me talking about XP to make them think about how to write better software and how to develop software better, I'll keep talking. If they don't adopt XP, that's fine -- so long as it leads to better software.
I completely agree with what you've described, both in your work at [Secret Company] and your approach in discussing XP. Personally, I think we need more people talking about adapting the good bits from XP to improve current processes, but not trying to adopt (or adapt) XP per se.

Although XP is overhyped and faddish, the best thing it has done is reopen the discussion on methodoligies, brought some courage into the dialog, and demonstrated that the goals you've listed are achievable.