20 May 2009

Team Manifesto - Craftsmanship, Behavior & Minutiae

When Dilbert cartoonist Scott Adams puts a Team Manifesto Generator on his website, the Team Manifesto concept will have jumped the shark; just like the American situation comedy Happy Days did when Fonzarelli donned water skis to jump over a shark ("Fonzie" left).

Until then, I am on board with having a Team Manifesto.

Articulating the team's definition of craftsmanship, establishing the team's technical standards, and declaring the team's inter-personal behavioral policies provides a path and a prenuptial agreement of sorts.

How do we keep the Team Manifesto relevant? How do we keep it from jumping the shark?

Three suggestions to prolong the viability of your Team Manifesto:
  • It should be visible - prominently displayed rather than buried in a Wiki;
  • It should be regularly revisited at retrospectives; and
  • It is an expression of the team's constitution: by the people, for the people.
Three suggestions for seeding and feeding your Team Manifesto:
  1. Craftsmanship Contract - How do we define quality?
  2. Behavioral Contract - What's acceptable behavior?
  3. Organizational Minutiae - What time is our stand-up meeting?
Craftsmanship Contract - How do we define quality?

Establishing a mutual definition of quality is challenging because the question
What does quality means to you?
is open-ended.

A craftsmanship contract taps into the team’s professional pride. Successful craftsmanship contracts will presumably be self-enforcing. That is, since it's mutual, team members are likely to strive to meet its standards and to encourage teammates to do the same.

A team member's definition of craftsmanship might be quite different from yours. Try to coax your teammate's professional narrative from him so that you might better understand how he's formed his story about quality and craftsmanship.

One team member might place high value on performance; that is, for her, quality is measured by how fast a method executes. Other team members might take an initial pass on performance in favor of delivering working software frequently. Cultivate and harvest the overlap in your narratives.

Reaching an understanding of what quality and craftsmanship means - in a collective sense - gives the team a common rudder to steer to toward the elusive qualities of quality.

Finally, distill and translate the qualities of craftsmanship into testable assertions like methods will have one purpose only.

Behavioral Contract - What's acceptable behavior?

Establishing a list of behavioral do's and don'ts enables the team to head off many conflicts at the pass.

The list might include a policy for paired programming, a policy for acceptable interruptions, the definition of personal spaces, a policy for re-factoring someone’s code, a policy for attending to broken builds, etc.

Goofus & Gallant
, contrasting characters in a preachy cartoon strip that appeared in the children's magazine Highlights, were ostensibly intended to teach children social skills. The cartoonist's pattern was to illustrate how differently two boys, Goofus and Gallant, responded to the same situation.

As a child, I summarily dismissed the lessons and modeled the bad guy, Goofus. As luck would have it, Goofus & Gallant are much more apropos to the contemporary workplace; particularly a workplace inhabited by boorish colleagues who behave like children and who have managed to coast into adulthood without having cultivated minimal sensitivities to social queues.

Goofus bosses his friends. Gallant shares his orange. Figure out good and bad behavior on your team. Agree on the behavior the team should model.

Organizational Minutiae - What time is our stand-up meeting?

This one's the easiest. Make a schedule. Stick to it.