[ Content | View menu ]

Why Programmers Need Privacy

Mark Mzyk | August 4, 2008

Agile processes have become the darling of the industry, and certainly there is good reason for this.  They do tend to facilitate communication and development practices that lead to better software.  However, paralleling the transition to agile is a more insidious transition: a push towards open office spaces.

The argument goes that open is good, because then everyone can communicate easier.  I agree that this is true, but at the same time it leads to easier distraction, leading to increased context switching and loss of productivity.  In this regard, I agree with Joel on the subject.  Does the increased communication offset the lose of productivity due to context switching?  I would argue no.  Even Bob Martin, a signer of the Agile Manifesto, while he advocates for an open setting, qualifies his advocacy by saying that developers also need a quiet place to retreat to to complete work without distraction.

Science backs up the fact that as humans, we need privacy to work effectively.  Recently I came across this article: Tough Choices: How Making Decisions Tires Your Brain.  What I extrapolate from it is that for each context switch a developer faces in a day, their brain tires a bit and their work suffers.

I’ll let the article speak for itself:

Why is making a determination so taxing? Evidence implicates two important components: commitment and tradeoff resolution. The first is predicated on the notion that committing to a given course requires switching from a state of deliberation to one of implementation. In other words, you have to make a transition from thinking about options to actually following through on a decision. This switch, according to Vohs, requires executive resources. In a parallel investigation, Yale University professor Nathan Novemsky and his colleagues suggest that the mere act of resolving tradeoffs may be depleting. For example, in one study, the scientists show that people who had to rate the attractiveness of different options were much less depleted than those who had to actually make choices between the very same options.

So let developers have some privacy to go along with agile development practices.  A little bit of both will lead to productivity gains.  The science doesn’t lie.