Has it ever happened to you, that you forgot to drink water, while in the office?
It happens to me all the time.
Have you ever tried putting a bottle of water putting next to you, on your desk? Does the problem above still apply? It does not, in my case. If that bottle is in front of me, it will empty out in the course of the day. I don’t even realize when I drink it, I just realize the empty bottle.
The water cooler is usually located in the kitchen. People are usually sitting in a different room. They are separated from the water with at least one wall. It seems that the wall makes the difference – the wall is the troublemaker that is responsible for your dehydration.
What does this have to do with software development?
It’s easy. Walls don’t just make you thirsty, they do a real good job in absorbing information. Teams separated in different rooms, do a much poorer at communication. Let’s imagine a situation in which a team member is desperately looking for a solution to an incredibly annoying problem (the software can’t be deployed all of a sudden, the build breaks miraculously etc.). This person has already tried everything they could think of, but the thing is still wrong.
Now it’s time for our hero to broadcast the question -everybody does it, eventually-: “Have you guys seen this problem with … ?”. If people are sitting in small rooms, there is a smaller chance there will be an answer for the question. And it turns out, that at least 50% of the people break down at this point, and start over trying to solve the issue on their own. Their understanding is that they are left alone, and nobody knows the answer. They just won’t go to the next room, or the other one for some reason. Walls block them; and that results in a lot of wasted man hours.
In case of co-located teams, this is just not a problem. Every such broadcast question is instantly available to all the team members. If more teams are sitting together in a large open space, it’s even better. The more people are sitting together, the higher the chance for the problems to get sorted out more quickly.
If a group of people are called a TEAM, they should sit together. No matter whether they are 3 or 12. They just have to share the same room, so the information flows efficiently. This might be inconvenient to some team members, but it pays out in the end.