"Multitasking" is probably too crude a category. When I first heard of XP, I thought pair
programming was the *second* stupidest idea I'd ever heard. The stupidest was everyone working in the same team
room (*not* an "open office"). But…
-- Brian Marick
That’s something that resonates with me. And also a big part of what I miss about going to the office.
I’ve been doing this programming thing for a while now, and I’ve done it in a lot of different
environments. Before I was getting paid for it, it was late at night, alone as a teenager in my bedroom, in the back
of a high school classroom mostly ignoring the calculus teacher (Sorry Mr. Topper), or in some cold, noisy, basement
computer lab with rows and rows of computers.
Once I started getting paid it was still the noisy computer room, but sometimes the seat was in an F-16
simulator (since we only had one monitor and that’s where it lived) or the control room for the simulator
(after we got another monitor). In the late 80s and 90s it was single offices with doors. Some folks wanted offices
with outside windows, others wanted no windows (even at Microsoft, some folks didn’t like windows). It was
easy to isolate yourself and focus on what you were doing. That meant it was also easy to lose track of time, what
others were doing, and how what you were doing fit into what everyone else was doing. So it was easy to convince
yourself that being busy was productive and you were making lots of progress.
By the mid 2000’s that started to change. Lots of open offices. Or at least multi-person offices.
I’ve worked in both. Some team rooms were full rooms, with doors and windows and everything. Others were more
ad-hoc, using whiteboards and couches and plants and room dividers to approximate separation. And there were general
open-plan offices, with people loosely grouped by team, with the only separation being a slightly wider walkway
between rows of desks to give some appearance of grouping.
One goal was to increase collaboration and interaction. Get folks who worked together to sit together and
they’d talk more. Share more. Collaborate more. The other, usually unstated, but very real, was to reduce the
space per person. At Microsoft the offices were at least 100 sq ft, often 150 - 200 for leads and people who often
had small meetings in their office. Sharing offices and bullpens be 50 sq feet or less of “personal”
space.
It turns out that both the open plan and the individual office style are about the same. Whether physical
(walls and doors) or virtual (noise cancelling headsets and social constructs), they both tend to isolate and
reduce face to face
interactions. There’s a little more talking, but we’re all aware of how common it is to Slack someone on
the other side of a shared row, and while that’s effective for the communicators it’s isolated from the
rest of the team.
Which gets us back to team rooms and what I miss most about being in an office. The team (or activity) space.
The place set up to contain all of the people and information that is shared by a group of people working on
something together. The ability to be loosely aware of a conversation and join in when it’s relevant, and when
it’s not let it just seep into my unconscious awareness of things until I need to know.
The most productive, effective, and fun team I’ve been on was the team that delivered a shared
viewing/editing platform for 2D, 3D, and streetside maps. And it happened because we were in the same space.
Somewhere between individual and mob programming. Discussing designs and implementations in real time. Changing
things together. And right around the corner from our customers. So we had lots of chances to watch what they did
and what their problems were. Opportunities to bring them into our space and try things together. Making changes in
one area and having people working on related areas at least aware, if not involved in the decisions. Rapid
iterations. Rapid releases. Rapid feedback.
There were lots of causes for that. The right physical space(s). The right motivations. The right incentives.
The right tools and processes. The right people. In the same place at the same time working on the same
thing.
I really miss that.