Archive for January, 2009

My baby bird metaphor

Babybirds Here’s a metaphor I use a lot. Let’s assume we’re doing some sort of process where some people (call them “testers”) provide examples that another set of people (call them “programmers”) realize. By “realize”, I mean they change the code so that the examples, which were previously examples of something the product doesn’t do, become examples of something it does.

Most often, there are more programmers than testers.

What I tell teams is that I visualize the programmers as many baby birds in a nest, all chirping “feed me! feed me!” What they need to be fed with are examples to realize. The testers are the harried parent birds, zooming up to the nest, dropping a grub (a test) into a programmer’s mouth, then zooming off in search of another grub because—oh no!—another baby is about to finish its meal.

I tell this story for two reasons:

  • It captures how harried testers (and product owners) can be on a team. It encourages the programmers to have a little sympathy.

  • Just as the parent birds don’t stockpile all the grubs they’ll ever need in advance, the testers don’t have to have all the tests for a story done before delivering the first one or first few to the programmers. As long as the next test is there when the programmer needs it, all is well. In fact, finishing the next test just as the programmer finishes making the last one pass might be most efficient.

It’s just a metaphor, and has some imperfections. For example, there’s more to it than dropping tests onto programmers’ laps. There’s also discussion of what the whole story’s about, etc.

Photo by Flickr user aaroneus. Some rights reserved.

Road trip!

I will be driving this route sometime in late February to early March:

A route map

I have to be in Salt Lake City for MountainWest RubyConf on March 13-14. I have no fixed departure date. That’s because I want to do some visiting along the way. I may also do some visiting on the way back.

I have a half-formed plan to use such trips to do research for a book, tentatively titled Travels in Software: What the Great Teams Know. I want to find teams that are special in some way that other teams ought to learn from. It could be that they are particularly good at some specific technique, or that they have a general style that deserves emulation, or that they’re notably long-lived. (I mention the latter because I’ve gotten interested in the idea of “resilient teams”: ones that don’t dissolve because people get bored with what they’re doing, have survived big changes in their corporate environment, etc.)

If you are such a team, let me know.

My idea for a visit would be to “embed” myself in a team for up to a week. I would work with people on the team, pitching in on whatever they’d be doing were I not there. I’d also consume some time interviewing people.

Someone with authority would have to sign a Disclosure Agreement beforehand. Roughly, you’ll have to agree that you have no control over what I write about how you do things, but you can have reasonable control over descriptions of what you’re doing those things to. If you don’t want me to describe the product or your super-duper, soon-to-be-patented algorithms, that’s fine.

Two places I’ll be in March

MountainWest RubyConf in Salt Lake City, March 13-14, speaking on “Test-Driving GUIs (with RubyCocoa)”

Philly Emerging Tech in (wait for it…) Philadelphia, March 26-27, speaking on “Exhibitionism in Software Development”.

Mocking and exploratory testing

Mock object seem to require more whole-product (or otherwise large-scale) automated tests. I’m hoping not, especially if manual exploratory has some tool support. My reasons are below the jump.


Looking for old television episode

I saw a show on television, probably in the early seventies, that I think warped me forever. I’d like to see it again, but I remember only a few things about it.

I believe it involved a person who was inside a room that was made of glass panels. At some point, he/she had a conversation with a man who had a hammer. The man moved the hammer from one place to another and claimed it never occupied the space between. After that someone threw something - the hammer, I believe - through one of the panels, making a jagged hole. The man with the hammer looked up the shape of the hole in a book. It matched exactly one of the pages, and he said something like “Ah, hole 323″. I think he then got piece 323, and slipped it in to fix the hole.

If you know of this show, please contact me.

Another show that warped me at age 14 was Steambath, though I suspect it was much less weird.