Exploration Through ExampleExample-driven development, Agile testing, context-driven testing, Agile programming, Ruby, and other things of interest to Brian Marick
|
Fri, 30 Apr 2004A programmer's reaction to agile sometimes includes something like this: "I got into computers because I didn't want to work with people!" That's a reason to avoid bullpens, pair programming, and all that. I am that kind of person. If you'd told my coworkers 20 years ago that I'd be pushing agile, they'd be flummoxed. I was the person who wanted an interior office, not one with a window, because I liked disappearing into my cave and working alone. I came and left at odd hours, sometimes quite out of sync with the rest of the world. I'm the classic introvert, someone who gets rejuvenation in solitude. (This notwithstanding my habit of speaking happily in front of hundreds of people, which is a character quirk for another day.) But let me suggest that "I'm not a people person" is an oversimplification, at least for me. I have radically different ways of working with people. There is working with people in relation to the machine and there is working with people in relation to people. I do hefty amounts of both of those things. I help people use Fit, I pair program, I pair test, I teach those things one-on-one. I also sometimes try to facilitate agreement within a group. Even worse, I try to facilitate agreement between groups about each other. That kind of thing is hard, harder than pairing on code. It's draining. The former is invigorating (though at the end of the day, you know you've worked). It's hard for me to express the key difference. I don't think it's the number of people. I don't think it's that pair programming is more structured than group meetings - in many ways, I think it's more free-form than a well-run meeting. I don't think it's that when I moderate a meeting I have to be attentive to the process and the people - because I do that too when pair programming. Somehow, the difference seems to me bound up with the focus of attention: which is the thing, the program, the observable change in something that acts material. So my answer to people who object "I got into computers because I didn't want to work with people!" will be... well, something like this, but succinct, catchy, and convincing. |
|