Here’s an introduction to our workshop at Agile2012. This is going to be an entertinaing and educational mix of theory and practice on Wednesday, August 15 at 9:00am in Texas 3. Learn what makes Agile tick and how to design the right process for your team! And please show your interest on the conference schedule or twitter!
Why do the processes and practices we use in Agile software development work the way they do? How do you know when to apply one practice or technique over another?
These are interesting and important questions for the software engineering community, but I'm going to cheat a little and give my answer to you in the form of another question: What does an emergency exit, a urinal in the Amsterdam airport, and a burndown chart all have in common?
At first blush not much, but let's look at these artifacts from the perspective of an ecological psychologist. When an ecological psychologist sees these artifacts, he'll think about how they fit in with the environment around them and how the artifacts help or hurt the animals (humans in this case) in that environment. Each of these artifacts serves very specific functions, but what differentiates one door from another or one urinal from another is how those artifacts promote specific qualities valued by the humans that use them.
Object designers might look at these artifacts from a different perspective still. Each of these things are specifically designed to achieve explicit reactions or cause a specific outcome from the people that interact with them. This is no longer about survival or opportunity, but about directly influencing decision making.
Built into each one of these objects are affordances. An affordance is a perceivable object or idea that directly influences a person's thinking toward a specific action. Let me show you what I mean.
Emergency exits are painted red and are opened by pushing a large horizontal beam on the door. Culturally, at least in the United States, red means "warning" and it is also very different from how other doors are painted. The horizontal beam looks like it was made for pushing the door outward to open it.
The urinals in the Amsterdam airport aren't all that different from the ordinary urinal. Most guys know what to do when they see one. Though we know what to do, sometimes we have a difficult time, let's say, executing flawlessly, resulting in some spillage. A true annoyance to janitorial staff and fellow bathroom patrons. To encourage concentration and truer aim, these urinals have a picture of a housefly etched into the bowl, near the drain. Urinal researchers (no joke, they exist) have shown that this fly etching encourages dudes to pee where they're supposed to anyway.
Burndown charts are simple graphs that show a team's progression toward fulfilling a goal. Usually these charts will show simple things like the hours or points remaining in an iteration to achieve commitments. What's amazing is that such a simple chart can convey so much information and gently alter a team's behavior. Something as simple as the slope of a line can nudge behavior towards greater productivity, sustainability, or even predictability.
Etchings of house flies, red doors, horizontal bars, the slope of a line -- these are all examples of affordances.
Here's the cool thing, as I hope you have already picked up. Affordances are built into not just objects, but process too. The best processes are the ones that encourage your team to naturally do the right things at the right times. Of course, amazing processes like this don't happen by accident; they are specifically designed to encourage desirable behavior while discouraging harmful behavior. By carefully choosing the process's affordances -- practices or artifacts that direct our thinking toward a specific goal -- a team can tailor a process that makes success intuitive.
This Wednesday morning (9:00am in Texas 3) at the Agile2012 conference, Ariadna Font and I will be exploring these ideas and putting the theory to practice during our hands-on workshop, Affordance-Driven Process Improvement: Designing a Process that Works for your Team.
The goal of this workshop is to not only introduce you to affordances for processes, but also to find true answers to the questions I asked at the beginning of this post: Why do the processes and practices we use in Agile software development work the way they do? How do you know when to apply one practice or technique over another?
See you there!