21 May 2010

Alpha bravo charlie

Every software development effort more complex than an accountant bashing away with Excel macros divides itself into phases. Practitioners sometimes assign simple sequential numbers to the phases of a project, but number-based designators often don't work out because phases overlap, get rescheduled, subdivided, and cancelled—who wants to explain to management that Phase 3.7 will be completed after Phase 6.2? And numbers don't have much sizzle. While they do have the advantage of being arbitrary, they still imply a precedence.

Temporal designators ("the fall '09 release") are even worse, because we all know that sometimes the fall release is completed the following summer.

And so we use code names, and the more arbitrary but transparent the better. They function in much the same way that journalists use slugs to identify stories. A slug doesn't tell you what's in a news story—the headline and teaser do that. It's just enough of an identifier so that you know which story you're talking about in an page space budget meeting. Monday's story on a key Senate floor action might be slugged HEALTHCAREVOTE. In fact, you need the slug in order to conceptually manipulate the story even before you know the story's outcome. Not unlike many software projects I've known.

Choosing the pattern for a group of code names is an important decision, and one best left not to the group, but rather to one person. Group-chosen patterns are rather bland and uninteresting. At a previous job, the whole company voted on the pattern and we ended up with "Caribbean resort islands." And so I worked on Aruba, and Barbados, and Coba, etc. Blah. Or way too pretentious: names from Greek mythology was another popular pattern there.

Much better is the approach that my current client uses. Each January, the code names start following a new pattern at the beginning of the alphabet, but the pattern is left a mystery known only to the project management office, which doles out the names a few letters at a time. The first team member who susses out the pattern—and mind you, this is an honor system thing, no search engines allowed—gets to choose the pattern for the next year.

And so phases for this year were named Abby, Biff, Claribelle (a tantalizingly distinctive spelling), Domby, and so on. One of us, Kate, eventually cracked the code at Kami. I wonder what Kate will give us next year?

No comments: