. . .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 field.
Last year I presented the idea of Test-Driven development (TDD) at STAREAST. The audience didn't really get the opportunity to experience the benefits of test driven development. They didn't get to design software APIs by using TDD, or know when software development was done because all the tests pass, which brings on that wonderful feeling of confidence after a Refactoring session. Instead, they just heard about it. The talk was. . .OK. Instead of talking about TDD, we could have had a longer session where the participants actually did it. That's the basic idea behind a workshop: learn by doing. Workshops create a larger framework than open spaces--a formal instructor, a classroom setting, some lecture at the beginning--and it allows participants to learn in the direction they want to learn.
The university-lecture model is ancient, and lots of people know what to expect from conferences. Oh, and people hate change. So we need a nice, safe middle ground that offers Agile principles without discomfort. Enter lightning talks. Lightning talks are ten five-minute talks in a one-hour period or sixteen talks in a 90-minute period. Instead of one speaker, you get ten. If the speaker is boring, it'll be over soon; if the speaker is interesting, he'll probably be available for you to take the discussion where you want it to go after the talk. With more speakers, they are more approachable, and they have time to actually discuss. Finally, lightning talks get the audience engaged in the conference--a pre-requisite for a lot of these other methods.
Social Networking Software
Remember how our Agile Movement was emergent and self-organized? Many conferences have "in-between" time, often called, "networking" time, when participants "network"--whatever that is. In our strongly introverted, Star Wars and Star Trek software development culture (And some real wierdos like American Idol. What, you like American idol? Let me guess; you're a manager.), getting people to talk is like getting the middle school boys to ask the girls to dance. They'd rather stand around the punch bowl.
Social Networking Software is designed make human connections easier. Wikis, developed by Ward Cunningham, allow any member of a group to edit a web page, thus enabling online collaboration-or just "If you are interested in automated testing of web forms, let's meet a 12:00 by the big coconut tree." Jambo is new software (which we will have at STAREAST) that connects people by interest wirelessly--"Here are the people in your area who are interested in the same kinds of things as you are"--combined with a chat client. All this software enables collaboration and interaction, but it cannot replace it.
The Problem with Change
As I quoted from PeopleWare earlier, people hate change. They really, really, really hate change. Danny Faught once commented that trying out Agile Presentation techniques at a conference introduces the risk that your audience will rebel not because of the content, but because the environment didn't meet their expectations For example, if you try to free-wheel from your PowerPoint slides to meet the audience interest and need, someone is bound to complain on his evaluation form that you were "disorganized" or "unprepared."
So the question of what techniques to use might not be one of right or wrong, but better or worse for your audience and time. From lightning talks to open spaces and a hundred other ideas, options exist. The question is which ones, and when, and who.
What to Do Tomorrow
If you're an Agile proponent who's been to a few conferences, hopefully I've started some wheels turning. The next step, is up to us. If you are going to STAREAST in Orlando in May, you might want to drop by the Jambo booth or check out the lightning talks session. If you are going to the Better Software Conference in September, you might want to give a lightning talk--see www.sqe.com/lightningtalks.asp.
I would like to thank Tom Demarco, Tim Lister, Ward Cunningham, Jerry Weinberg, and Esther Derby (just a few of the thought leaders on this issue), and Danny Faught and Esther Derby who reviewed this article.
- See www.openspaceworld.com/brief_history.htm for a brief history of open spaces.
- Mr. Weinberg's book Becoming a Technical Leader: An Organic Problem-Solving Approach includes a very good discussion of what actually happens at some of his workshops.
- www.ourfuture.com/workshop.htm is a link to a company that conducts such workshops.
- Mark Jason Dominus and the Perl Movement have been famous for lightning talks for years. You can read about them here: perl.plover.com/lightning-talks.html. Software Quality Engineering is also doing lightning talks at some of its conferences in 2005; you can read about that at www.sqe.com/lightningtalks.
- See Peopleware by DeMarco/Listr