I see this far too often. Well-meaning software organizations embracing agile software development tear down the walls in order to open up the space and allow easier collaboration. This sounds great, and it’s cheap. An easy win, right? Not if it’s done without some care and thought.
Premise 1: Irrelevant conversations are distractions.
Human beings are trained to pick other human beings’ voices out of the background noise and pay attention to them. There is little that is more distracting to concentration than hearing a conversation that has nothing to do with what you are working on.
Premise 2: A team is a group of people working toward a common goal.
If a team is really acting as a team, there is nothing that one subset of the team could be working on that is irrelevant to the rest of the team.
Imagine Team Green working in an open team room, paired at stations with one monitor and dual mice and keyboards…
Let’s say that pair number 1 is having a conversation…
That conversation is heard by all other members of the team. Because Team Green is a team, the fact that the whole team can hear it is a good thing. I cannot count how many times I have seen this…
Pair #1 overhears pair #2 getting stuck on some problem that sounds familiar. Pair #1 stops and gets involved in what pair #2 is doing. The four people discuss the problem and solve it, based largely on some previous experience that someone on pair #1 had. If one pair had not overheard the other pair struggling, they might have wasted a whole day (or at least until the next stand-up).
Now imagine Team Green is really busy and all working and talking…
I first heard this situations referred to as communication saturation by Jeff Sutherland, but I think he got it from Jim Coplien. Here we have everyone able to hear every other conversation. If a stranger were to come upon this team area, it would sound like noise. But to a high-performing agile software team, it is completely natural because every conversation is related to furthering the goal for this iteration.
Now imagine we have a collaborative, high-performing Team Blue…
Team Blue is enjoying the same open space benefit that Team Green is. Now imagine we take our open-spaces-are-good momentum and co-locate Team Green and Team Blue…
Now we have green conversations in the blue team area and green conversations in the blue area. This is not good. We now have noise distracting both teams.
If the blue conversations are as useful to the green team as green conversations, then you are not doing team based development.
There are two possible remedies: create more space between the teams, put up acoustically meaningful walls, or both.
The bottom line: open spaces and shared conversations are good only within a team, not between teams.