Shared Memory in Teams

A while ago I read the The Tipping Point. There’s a section there on how partners share memory - two people who are in a relationship remember differently than single people.

The study cited is here:
Transactive Memory in Close Relationships

When reading it, you may note the Grossly Misleading Graph (Figure 1) - but apart from that the results are interesting, and seem fairly familiar. I guess we all know long-together partners who finish each other’s sentences, where one will delegate a question to the other saying the other “always remembers the birthdays” for example.

It makes sense that the same effect occurs in development teams after a while. We delegate memory - the team naturally spreads the knowledge around, and people end up with different levels of “expertise” in different parts of the system. We need to be aware of this when we talk about sharing the knowledge in XP - it means that we will never get complete knowledge transfer. It is normal healthy humanity that some people know more about a certain part of the code.

But that doesn’t mean that the attempt to break apart the “silo” and spread knowledge is a waste of time. Rather, it should inform the way we go about it. Basically, I think it means that we should strive to achieve a common understanding of the system rather than an equally detailed understanding of it. There should be plenty of people who “know where to look” as Vishy put it once.

As an analogy, one of that couple may do most of the cooking. That doesn’t mean that the other cannot cook, or doesn’t want to, it just means that they mostly don’t - maybe they just help out with the vegetables. Even so you can be sure that they both know which cupboard has the spices. Just as we try to avoid “silos” in development, we would be worried if the cook hides the spices, or locks the cabinet, or even worse, locks the door to the kitchen.

So I think it is unrealistic expect everyone in the team to get to the point where they know all parts of the system equally well. Rather, make sure that the team has a common language and way of doing things - so they know where to look.

Comments are closed.