"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.