Andy and I were in Seattle in January for Scott Meyer’s Code Quality get together. Bill Venners took the opportunity to interview the two of us for his online magazine. The first of eight installments(!), a discussion of broken windows, is at www.artima.com/intv/fixit.html.
The third installment of Bill Venners interview with Andy and me is now online. My favorite line is Andy’s: “Having a quality officer is kind of like having a breathing officer.” Bill really does a remarkable job of taking our ramblings and rendering them down into something that might almost be considered coherent. He’s a nice guy too: have a look at the stuff on his site, www.artima.com.
Bill Venners has posted the fourth article extracted from an interview he did with Andy and me in Portland. This one’s about our assertions that you should “Put abstractions in code, details in metadata.” Reading the transcript, we come off dissing XP a fair amount; YAGNI comes in for some criticism. We claim that it’s OK to use experience to predict which parts of a system will be volatile, and it’s OK to build in support to handle that volatility (particularly by using metadata to describe the details of the application). I’m expecting a lot of e-mail on this one… :)
The fifth installment of Bill Venners’ interview with Andy and me is all about building adaptable systems. The previous article generated an enormous thread (still running) of negative comment in the Extreme Programming mailing list. This one will probably generate death threats…
In the seventh part of Bill Venner’s discussion with Andy and me, we’re talking about gardening as a metaphor for software development.
Thinking in terms of analogies is a useful way of extracting hidden meaning. Brian Marick and Ken Schwaber are co-hosting an interesting workshop at Alistair Cockburn’s Salt Lake Agile DevelopmentConference. I particular like the first phrase in the description: The Analogy Fest is an attempt to manufacture serendipity .
The eighth installment of Bill Venners’ interview of Andy and me is now online. We’re talking about tracer bullets, prototypes, and iterations. The key to tracer bullets is the feedback they give: they let you know how well you’re aiming in a real-world environment. Short iterations and lots of feedback are the software development equivalent.