Saturday, January 19, 2008

Schwagile Methods

Agile methods are increasingly being used as the preferred approach for software development.
Scrum is probably the most commonly used agile method, it is briefly about having short timespan (few weeks) and atomic development sprints with tasks that supports a user story (user story is typically written by a product owner, e.g. a customer or a customer proxy). Each day of a sprint there is a daily scrum - short stand up meeting (not standup..) where each team member reports progress since last daily scrum, plan for the day (e.g. pick a new task) and if there are any impediments. The Scrummaster deals with the (relatively lightweight) reporting (e.g. burndown charts) and tries to fight impediments to make the team more productive.

Towards Schwagile Methods
Even though Agile methods are gaining ground in the software industry (and even in research), it still trails Schwag. Schwag was born about 90 years before the Waterfall model, but is fortunately still in very good shape.

Systematically combining Schwag and Agile methods is an obvious next step, e.g. by introducing a Schwagmaster to the daily Scrums. The Schwagmaster's role - in addition to maintain the Schwag budget and inventory - is to monitor and detect Schwagable happenings, e.g. provide:
- Comforting Schwag for overly sad impediments (e.g. development box with uptime X months just died),
- Celebrating Schwag for team members with stellar performance,
- Team-building Schwag for entire team since it was so long ago since last Schwag-round.

Since over time the amount of physical Schwag is piling up (with possible exception of cool t-shirts), the Schwagmaster is responsible for recycling it (i.e. collect used Schwag and provide it for another Scrum team), and gradually introduce (carbon neutral) Virtual Schwag. One issue is where Virtual Schwag should be placed, the Scrum Board is an obvious place, so it gets cleaned after each sprint.

No comments: