Software Development Cows
February 20, 2003
I once worked with Stephane, a Frenchman who speaks English better than most natives, because he devotes real effort to learning the language. For instance, he can tell you if you should say "He speaks English better than I" or "He speaks English better than me".
Once though, there was a few weeks when Stephane spoke of the "cows everywhere up the other end of the floor". I thought it was a particularly apt metaphor for kind of problems that typically plague software projects. I could easily imagine the mayhem that would be caused by four or five cows wandering through the cube farm, disturbing developers, surprising guests, eating the pot plants and tripping over power cords.
Eventually, Stephane and I realised a mutual misunderstanding. What I heard as "cows" was Stephane saying "chaos" with an outrageous French accent, thereby rendering his factual statements in accurately poetic manner.
The more I think about it, the more relevant and useful the Cow Metaphor seems. Here is some of the lingo:
- Organised Cows
- The management team have worked out the sources of all the interruptions and schedule hold-ups. They have called an all-day meeting to discuss them.
- Stampeding Cows
- Organised Cows, but moving fast enough that you don't want to stand in the way.
- Plunged into Cows
- The project has been eaten by a cow. The only way out is through the cow, where everything slowly turns to... you get the idea.
- How we greet fellow cow-orkers of a morning.
- How Charles replies. He tells me that this word is used by Zen Bhuddists. As near as I can make out it means ... not "nothing", but not "something" ... I haven't got it quite worked out yet. A useful word describing many aspects of software projects.
- Someone that herds all the cows to the abattoir, and they are never heard from again. Some software development professionals disdain cowboys, but they are often useful.
- Beyond Cows
- Larry Constantine's much read book.
- Embrace Cows
- The most terribly brave and pointless thing to do in any given situation.
- Merge Cows
- Trying to put your cow into the same part of the code somebody else already put a cow.
- Release Cows
- What happens every time you ship the software.
- Mad Cow Disease
- What programmers fear catching from software projects.
- m4d c0w d153453
- The only thing 1337 h4x0rz ph33r.
And then there are Fridays. Fridays are good because the team traditionally has a symbolic lunch of dead, minced, Burger King cow. Mmmmmm c0w.