The Agile Theater Project
The Agile Theater Project was conceived in 2003 as a vehicle for
providing training and consulting to software engineers, both
individually and in teams, in fundamental techniques of
communication and interaction. The project involves an ongoing
collaboration between an expert in software engineering and in
particular agile development methodologies, and a professional
theatrical director and communications consultant, specializing in
improvisational theater.
Since 2003, the Agile Theater has been presented both in industrial
environments (for example, in a department responsible for
developing aerospace-related information systems and in a leading
manufacturer of cellular telephones) and in research environments
(for example, at the National
Research Centers in Pisa, Italy).
The multidisciplinary metaphor comes naturally to software
engineering. After all, software applications tend to be inherently
multidisciplinary, reflecting characteristics both of the software
engineering domain and the domain for which the application is
written, from banking to music to nuclear power engineering. Thus it
is equally natural to turn to other disciplines for insight into our
own discipline. A particularly interesting example of the
multidisciplinary metaphor was a project in requirements and design
engineering at Eurocontrol, the European Air Traffic Control
Authority. The principal investigators Suzanne Robertson of the
Atlantic Systems Guild and Neil Maiden of the City University of
London invited experts from a variety of different domains - from
oriental textiles to screenwriting - to provide novel perspectives
that can lead to more creative approaches to software-related
issues.
Agile methods place particular emphasis on human-related aspects of
software development. These points summarize the key characteristics
of agile teams as described in the
agile manifesto:
- communication
- managing change
- individuals and interactions
- role playing
- self-organizing teams
- self-adjusting team behavior
They could just as easily be a description of the characteristics of an improvisational theater team. Agile coaches teach these principles to software developers regularly, just as theatrical instructors do with their own students, but with a slight difference: theatrical instructors have been doing it for thousands of years. With such a mature, consolidated body of technique and wisdom available, why not go directly to the source?
The Agile Theater Seminars
Improvisational theater is a bit like psychiatry: it can take time to obtain results. A full course of theatrical instruction can last months and years. But part of the purpose of the Agile Theater is simply to make software engineers aware of what is involved in a methodical approach to learning communication technique. We configure a half or full-day tutorial that offers a layered set of modules, each of which rests upon the previous and builds up from individual to full team interaction. The classic Stanislavsky method for improvisational theater is employed throughout the course: the decomposition of reality into its components, and reassembling them into a meaningful new reality. A typical full tutorial has this type of structure:
Introduction
- Dealing with the uncertain: the confluence of improvisational theater and agile methods
Fundamental techniques of communication
- Concentration
- Use of the voice
- Body language
Improvisation as a technical tool – the individual
- Deepening understanding: out-of-context improvisational spikes
- Scenario: the stutterer
Building blocks of communication – working in pairs
- Story development: exploration and conflict resolution
- Alternating leading roles
- Creating the all-important dialogue
- Scenario: the restaurant
The dynamics of team communication
- Simplicity: using the means at your disposition
- Finding your personal role
- Searching for metaphor
- Achieving collective ownership
- Scenario: Going off to war
Wrap-up
- Putting it all to work
- The daily routine
- Opportunities and pitfalls on the way to agile theater
The first module deals with fundamental techniques of
communication; many software engineers aren’t even aware of their
existence, much less their importance. In particular, concentration
is essential for sustained performance and attuning oneself to the
signals arriving from others in the group. This is hinted at in
discussions of XP, but addressed explicitly here.
The second module deals with the individual, using improvisation as
a technical tool for exploring specific human characteristics or
situations in detail. For example, the participants explore working
with and transforming imaginary objects in a coherent way. An
analogy is drawn to the so-called spikes of XP.
The third module introduces principles of human interaction through
working in pairs. After preliminary work on the dynamics of pair
interaction, including exchange of leader roles, some first
improvisational scenarios are introduced (including conflict
creation and resolution) and the results analyzed by the theatrical
/ communications instructor.
The fourth module deals with the full dynamics of team
communication, introducing important issues of team cohesion; issues
that are reflected, for example, in the XP principle of collective
ownership.
See also the article The Agile Theater from the magazine Computer Programming.