Monday, August 16, 2010

How to Be a Good Chicken

cc image courtesy http://www.flickr.com/photos/eyesore9/3206408088
Over the past few weeks Linden Lab CTO, er CEO, Philip Rosedale has been working to restructure the Second Life strategy, development priorities and even processes. At the town hall meeting and at SLCC, he mentioned a few times that there are about 15 Scrum teams at the Lab working on various of the "back to basics" bits as well as parts of another list.

Scrum (in this case) refers to a software development process framework that has (almost) become a regular part of modern day vernacular, but if you aren't in the industry you may have had to do a little looking around to find out what the heck Philip was talking about. There is plenty to read if you are interested, but honestly it's tough for a non-software development person to appreciate the implications of an iterative development approach over what had been the norm of laboriously slogging through a lengthy linear development process only to get to the end and realize you got it mostly wrong.

Scrum is a way to embrace inevitable ambiguity and changing requirements in a team-based framework to execute on well-defined buckets of work (backlogs) over prescribed periods of time (sprints). It's not a cure-all or a cult, it's a process framework and it can work very well to produce a minimum viable product upon which subsequent improvements can be made in a transparent and accountable way.

While the essence of Scrum is generally straightforward, in some cases (such as coordinating 15 dependent Scrum teams) it can be blindingly difficult to execute for a variety of reasons, most of which we Residents needn't concern ourselves because all we need to know how do to is this: be good chickens.

Scrum Roles and the true nature of ham and eggs - commitment

One of the most important parts of Scrum is the concept of participant roles for which there are two main divisions - pigs and chickens. This division signifies a person's involvement in the project, described in this way because at a breakfast of ham and eggs the chicken may be dedicated, but the pig is fully committed. (Get it? Okay, moving on..)

In a Scrum, pigs are the ones that commit to get the work done and while the chickens care about what gets done their contribution commitments are intellectual. In other words (and despite rumors to the contrary) Residents are the chickens, not the pigs.

This weekend Esbee Linden, Oz Linden and Q Linden gave the SLCC audience an overview of the latest viewer development called Project Snowstorm including the Scrum team roles (the pigs).
  1. Q Linden is the Scrum Master and technical lead; he keeps the Scrum team focused on the current chunks of work (sprint backlog) and removes obstacles and distractions.
  2. Oz Linden is the Open Source Lead and will help coordinate between the Linden Scrum iterations (sprints) and the open source community.
  3. The Team includes developers Merov Linden, Tofu Linden, Aimee Linden and 3 to be named contractors.
  4. And finally, Esbee Linden is the Product Owner; her role is to maintain the list of Snowstorm priorities (product backlog) and to represent the voice of the chickens to the Scrum Team.
Yes, Esbee is the chicken whisperer.

Chicken 101

During the Q&A part of the Snowstorm discussion, one question was asked no less than four (4) times in different ways by different people. Essentially, it was "How do chickens make their intellectual contributions?" Okay, no one said that. Most people (including me) asked how Stakeholders aka Residents would be included in the Scrum.

Back in the day, a succinct answer to that question would be "no chickens in the Scrum!" but to their credit (and hopefully not demise), the Snowstorm team challenged everyone to get involved, within guidelines articulated passionately by Oz Linden.

Top 10 Ways to be a Good Chicken (by Oz, extended by yours truly.)
  1. Show up. The Daily Scrum is 6:30am-7:30am PDT at Scrum Platform
  2. Propose Viewer features using the guidelines outlined here.
  3. Think ahead - strive to be proactive over reactive.
  4. Be civil and not rude.
  5. Provide productive, useful feedback. The Product Owner can help you understand what is productive.
  6. Be specific and contextual in your remarks, as opposed to generalized and broad sweeping.
  7. As a general rule, chickens are not allowed to speak or interrupt a Daily Scrum meeting  - don't take it personally and please don't talk or interrupt. 
  8. If you are given the chance to speak during a Daily Scrum, please don't waste the pigs' time.
  9. Don't expect your favorite backlog item will be added to the sprint backlog just because you show up routinely.
  10. And finally, "Regard it as just as desirable to build a chicken house as to build a cathedral.” courtesy, Frank Lloyd Wright.
.

Share Some Grace:

blog comments powered by Disqus