The Importance of Being Interrupted

With apolo­gies to Oscar Wilde, I thought I’d jot down a few thoughts on try­ing to do men­tally dif­fi­cult things in small highly seg­mented blocks of time. Some agile devo­tees advo­cate a term called Rad­i­cal Col­lo­ca­tion which essen­tially boils down to stick­ing an entire team in a sin­gle room for the length of the project. While this ini­tially (or per­ma­nently depend­ing on your stub­born­ness) seems to go against the grain of the Amer­i­can worker, there have been sev­eral stud­ies that show an increase in team pro­duc­tiv­ity and qual­ity using this approach. I ran across this one (OK, I didn’t run across it, I went search­ing for it because the project I’m cur­rently work­ing on is using rad­i­cal col­lo­ca­tion) and thought I’d briefly dis­cuss it.

The study found that “the pro­duc­tiv­ity increases were astound­ing”. This is great news! Of course, like many things that seem to be great, the pro­duc­tiv­ity gained in this study comes from fairly closely fol­low­ing their idea and def­i­n­i­tion of rad­i­cal col­lo­ca­tion. Specif­i­cally, one very crit­i­cal thing to note about this study is that the teams were not restricted to the war rooms only and in fact had pri­vate space that they could retreat to when the sit­u­a­tion war­ranted. Inter­est­ingly, the two sit­u­a­tions that most war­rant it accord­ing to the authors are “per­sonal dis­cus­sions and work­ing solo (typ­i­cally cod­ing).” In fact, the study came up with 9 types of work that the teams did and 7 of them were best in a col­lo­cated space while the two men­tioned above “were best done indi­vid­u­ally and sep­a­rate from the rest of the team.” (Empha­sis mine).

This shouldn’t come as a huge shock but here you have it: types of work that require com­mu­ni­ca­tion are best done in a sit­u­a­tion that facil­i­tates com­mu­ni­ca­tion and types of work that require either pri­vacy or con­cen­tra­tion are best done in a sit­u­a­tion that facil­i­tates pri­vacy. I know you’re shocked but hav­ing a design dis­cus­sion with Bob and Bill is best done in a big room with both Bob and Bill. Writ­ing the code cor­rectly and well that imple­ments the result of that dis­cus­sion is best done with­out Bob and Bill. But like most good things, too much rad­i­cal col­lo­ca­tion can be a real drag on pro­duc­tiv­ity. Lots of com­pa­nies that push rad­i­cal col­lo­ca­tion for­get that when the rub­ber hits the road, teams have to have the abil­ity to retreat in order to get things done. When you’re com­mu­ni­cat­ing, all being together really works well. When you’re con­cen­trat­ing, min­i­miz­ing the dis­trac­tions will always increase productivity.

The project I’m cur­rently on takes rad­i­cal col­lo­ca­tion to its illog­i­cal extreme. There is no “pri­vate retreat” and I esti­mate that on aver­age there are 3–5 true inter­rup­tions every hour. An increase in pro­duc­tiv­ity on soft­ware teams comes from both facil­i­tat­ing com­mu­ni­ca­tion dur­ing types of work that require it and pro­vid­ing for the abil­ity to work unin­ter­rupted for large chunks of the day when nec­es­sary. Overem­pha­siz­ing the for­mer while com­pletely neglect­ing the lat­ter won’t result in that astound­ing increase in pro­duc­tiv­ity because the qual­ity of the code that is pro­duced will be much lower. I have no doubt that rad­i­cal col­lo­ca­tion is use­ful when imple­mented well. I just don’t think it gets imple­mented well very often.

3 Comments

  • How do you think this fits in with Pair-Programming? It seems to be gain­ing track­tion and the jus­ti­fi­ca­tions for it seem sound, but at the same time I could still see a need for solo cod­ing. I know from my own per­sonal expe­ri­ence that it is very dis­tract­ing to have some­one look­ing over your shoul­der which would seem to indi­cate a prob­lem with Pair-Programming.

  • Scotch Drinker wrote:

    The­o­ret­i­cally, I think pair pro­gram­ming could work in a sim­i­lar man­ner to sin­gle pro­gram­ming, i.e. in a quiet, dis­trac­tion free space, pair pro­gram­ming should be productive.

    In my very lim­ited expe­ri­ence, pair pro­gram­ming doesn’t work and it cer­tainly doesn’t pro­vide mag­i­cal pro­duc­tiv­ity increases in an already bad environment.

  • […] Even when you find one that sup­ports crazy ideas like “rad­i­cal colo­ca­tion” which I wrote about here, you find that the study involved quiet places where pro­gram­mers could go to actu­ally do, you know, […]

Leave a Reply

Your email is never shared.Required fields are marked *