I will discuss new techniques that apply Agile principles to the traditional conference settings, specifically open spaces, self-directed workshops, simulations, group networking activities, and lightning talks. Join me at STAREAST in Orlando, Florida from May 16-20, 2005.
. . .Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
--Excerpt from the Agile Manifesto
Extreme Programming and the Agile movement have led to major changes in the software development community. While the most common place to learn these new techniques is at corporate training seminars and conferences, most conference presentations are based on the university/lecture model: a single person stands in front of the class, talks for an hour, then takes five minutes of QA. . .if you're lucky.
The traditional set-up of conference presentations and training focuses on:
- process and tools (the university-style lecture model, keynotes, tracks, presentation slides) over individuals and interactions,
- contract negotiation ("what to expect at a conference") "over customer collaboration, and
- following a plan ("keeping things on track") over responding to change.
This is the exact opposite of the basic Agile principles! Agile principles in practice typically yield new techniques, like pair programming, story cards as requirements, and emergent design. This begs the question in my mind, "What techniques can be applied to conferences that conform to Agile principles?"
A number of brilliant people have struggled with this question, mostly before the Agile manifesto was even formalized. I would like to discuss five approaches that conform to Agile principles: open spaces, workshops, experiential workshops, lightning talks, and social networking software.
If we try to run to the extreme direction of the Agile Movement, people would just show up to the conference, declare what they want to talk about, and see who shows up to discuss it. Essentially, that's open spaces…with a little help. Originating with Harrison Owen, we basically have people sitting in a circle, announcing an idea, writing it down on a card, going up to a big board with time slots and locations, and placing the card on the board. People show up to the sessions they have interest in, stay as long as they want, and whatever happens, happens.
A little less radical than the open space is the experiential workshop, in which Jerry Weinberg has probably done the best-known work in the software community. An experiential workshop is not a workshop designed teach a technique (like test-driven development, or pair programming, or a new language) but instead designed to convey understanding or a concept-often through a metaphor. For example, consider a highly stratified organization: business people talk to requirements gatherers, who talk to architects, who talk to designers, who ship code offshore to developers, who sub-contract out testing, who send the completed work back to a contracted operations staff that copies and mails the CDs. Instead of trying to teach a lesson, a workshop organizer sets up the scenario and allows the participants to play. Instead of learning the lesson through lecture, participants learn the lesson through experience.
As a cadet in the Civil Air Patrol, I spent a great deal of time in what we called the leadership laboratory; a pseudo-military environment created for young people. For a week or two at a time, we lived on a military base, learned drill, ceremonies, uniform wear--and, more importantly--leadership lessons in a place where the cost of failure was far less expensive. I failed often in that environment, but that was part of the point: to learn from mistakes while they are cheap. We could stand to have more of these in our