52858.fb2
Applying the Theory of Hot Air
People have long applied the above, "hot air theory of software development."
Gerald Weinberg discussed the damaging effect of removing a soda machine from a computer hel--desk area (Weinberg 1998). Thomas Allen, of MIT's Sloan School of Management, discussed the effect of building design on R&D organizations in (Allen 19??, Allen 19??). IBM and Hewlett Packard have incorporated such research in their R&D buildings since the late 1970s.
As a result of these and others' work, we consider it natural for research and development groups to have whiteboards in the hallways or near coffee machines. What we have forgotten, though, is the significance of actually being within sight and earshpt of each other.
Here are several examples. The first is from a Crystal Orange project, the second is from a project trying to apply Crystal Clear. After that I discuss the Caves and Commons room design recommended by XP, and close with a story from Lockheed's Skunkworks group. Repairing Design Discussions
On project "Winifred" (Cockburn SOOP), the lead programmer announced at regular intervals that design was unnecessary and that code simply grew under his fingertips.
As a predictable result, the young programmers working in the room with him also felt it unnecessary to design. The code looked that way, too.
He eventually left and I took his place. To reverse the situation, I arranged that we designed in conversations at the whiteboard. After some period of doing this, I started getting questions like, "Could you look at the responsibilities (or communication patterns) of these objects?"
By setting an audible tone in the room and making these design discussions legitimate and valued, the programmers started to converse about design together.
Colocation is considered a critical element in Crystal Clear, a light methodology for small teams (see Chapter 6). A rule of Crystal Clear is that the entire team must sit in the same or adjacent rooms, in order to take advantage of convection currents of information and osmotic communications. Crystal un-Clear
"Pat" asked me to visit his Crystal Clear project.
When I arrived, he wasn't at his desk. The secretary said he was with his teammate. I offered to go to that office, but she said, "You can't. There is a combination lock in the hallway over to that section." !!...? Each time a team member wanted to ask a question, he had to stand, walk across the hall, punch in the lock combination and walk to the team mate's office. Clearly, this team was not getting the benefit of osmotic communication or low cost of information transfer. Changing the team seating was fortunately a simple matter to arrange.
Caves and Common
The Caves and Common room arrangement recommend in XP makes use of all three information exchange mechanisms. It is photographed in action in Figure 3-12 and diagrammed in Figure 3-13.
Figure 3-12. The RoleModel Software team at work (photo courtesy RoleModel Software)
Caves and Commons is very effective, but as Tom DeMarco correctly warns, it can easily be abused to become just a programming sweatshop. Therefore, I describe here not only the room layout, but also the social presuppositions that accompany its use: single project team, good team dynamics, provision for both private and project space.
The term Caves and Common refers to the creation of two zones in the room. The common area is organized to maximize osmotic communication and information transfer. Obviously, for this to make sense, the people in the room must be working on the same project. It is perfect for XP's single team of up to 12 people programming in pairs (Figure 3-12).
The Caves portion of the room is organized to give people a private place to do email, make phone calls, and take care of their need for separation. In RoleModel Software's office, private workstations are set up along one wall (Figure 3-12). At Evant, table came out from the walls on two sides of the room
Figure 3-13. The "caves and common" room layout used at RoleModel Software. (picture courtesy of RoleModel Software)
People who have worked in Caves and Commons facilities say that there needs to be ample wall space for whiteboards and posted flipcharts, and two more types of rooms for the team to use: a food preparation room, and areas for small discussions to take place.
You can see from the picture that while the caves and commons room is very efficient for transmitting information, it is also very efficient for transmitting coughs and colds. People who work in this sort of room encourage their colleagues to stay home if they don't feel well, and to return after they have recovered.
You can also see that it is drafty (in an information sense): the people sitting in this configuration should really need to overhear each other.
Finally, you can see that it is very effective as long as the morale of the group is good. Once the social chit-chat degenerates into negative chatter, the highly osmotic communication again magnifies its effect.
Skunkworks
It is useful to compare the above discussions against a group performing classical "engineering", one of the most effective aero-engineering groups, Lockheed's "skunk works" team. This team achieved fame for their rapid development of a series of radical new airplane designs in the second half of the 20th century, under the guidance of Jim Kelly and his successor, Ben Rich. Ben Rich wrote about their experiences in the book, Skunk Works (Rich 1994).
Rich highlights that, among the rules of the group, Kelly insistented on people taking accountability for decisions from design through testing, and on their sitting close together. The following is from that book. Skunkworks Rooms
"Kelly kept those of us working on his airplane jammed together in one corner of our [building]...
My three-man thermodynamics and propulsion group now shared space with the performance and stability control people. Through a connecting door was the eight-man structures group. ... Henry and I could have reached through the doorway and shaken hands.
"...I was separated by a connecting doorway from the office of four structures guys, who configured the strength, loads, and weight of the airplane from preliminary design sketches. ...the aerodynamics group in my office began talking through the open door to the structures bunch about calculations on the center of pressures on the fuselage, when suddenly I got the idea of unhinging the door between us, laying the door between a couple of desks, tacking onto it a long sheet of paper, and having all of us join in designing the optimum final design... It took us a day and a half..."
"All that mattered to him was our proximity to the production floor: A stone's throw was too far away; he wanted us only steps away from the shop workers, to make quick structural or parts changes or answer any of their questions.
Every project team should be on a drive to reduce the total energy cost of detecting and tranferring needed ideas. That means noticing and improving the convection currents of information flow, watching for sources of drafts, getting the benefits of osmotic communication and information radiators. The end goal is to lower the erg-seconds required for team members to exchange information, whatever constraints their organization places on their seating, and with or without technology.
To get communications as effective as possible, we want to improve the likelihood that the receiver can jump the gaps that are always present in communication. We want the sender to be able to touch into the highest level of shared experience with the other person. We want the two people constantly to have feedback in this proces, so they can detect the extent to which they miss their intention.
Actually, the same sort of characteristics apply when the people are in "invention" mode, except that during invention, the people shift sender-receiver roles much more rapidly.
Modalities in Communication
Let us pry apart a sample communication situation to find the mechanisms at play. I find about a dozen at play in a simple discussion at the whiteboard:
Physical proximity. Standing about one meter from each other, the people detect minute visual cues, tiny movements of eye muscles to overall muscle tension.
The speaker may move closer to indicate aggressiveness or enthusiasm. The listener may move closer to indicate interest, agreement, or the desire to speak; or away, to indicate fear, disagreement or the need to think privately for a period. They manipulate their relative distance to express various emotions and stages of agreement, disagreement, aggressiveness, trust and distrust.
The signals vary across cultures and personalities, but the signals are both present and used.
Three-dimensionality. The people notice visual parallax, or 3D information.
The parallax shift of the visual image is lost when the same people talk over a video link, even if they are similarly close to the camera and screen.
Smell. Smell is one of those senses that is unimportant to some people, very important to others, and important but subconscious to many. One person reported she can often sense sublimated fear and distress, probably through sense of smell. It certainly is the case that those cues are available at the whiteboard, and lost in remote communications.
Kinaesthetics. Many people use kinaestetics (sensation of movement) to help think and remember. The speaker might use it to help construct a new explanation, or to help improve the building of a question.
Touch. The one person touches the other on the shoulder, to mean, "Don't feel threatened by this discussion," or perhaps, "This is really important," or "I have something to say." Touching is part of the overall manipulation of proximity and personal space. In some cases, there are objects to touch, whose feel is important to the conversation.
Sound. In the simple use of language, a speaker person emphasizes points with colorful adjectives, exaggerations, metaphors and the like. Besides that simple use of language, the speaker uses pitch, volume and pacing to differentiate and emphasize ideas in a sentence.
Visuals. People communicate through gestures as well as words, often making a point by gesturing, raising an eyebrow or pointing while speaking.
The people may wave their hands to make shapes in the air or to accentuate the speaking. They may raise an eyebrow to indicate questioning or emphasis. Again, they use pacing to differentiate and emphasize ideas, for example, moving rapidly over obvious parts of a drawing, and slowing down or pausing for effect at less obvious or more important parts.
A person also draws on the whiteboard, to present (particularly spatially oriented) information for the other to consider. The drawings may be standardized notations, such as class or timing diagrams. They may be loose sketches. They may even be wiggles having no particular meaning, whose sole purpose is to anchor in a public, static location, the thought being discussed, for later reference.