It should be obvious by now that I don’t mind paddling against the current. And I don’t mind suggesting a rethink of “best practices” we use in hardware development. But then there’s the practices that even for me are touchy subjects, where I know I’d be uncomfortable.
Let’s go back to a time where I worked in a standard hi-tech cube farm. I worked in Kanata. I had a window cube in the north east corner of the building. With our office several floors up, a window meant that from my desk I could see for miles down the Ottawa river valley toward downtown Ottawa. It was excellent.
The guy I worked closely with – let’s call him Chris… because that’s his name – sat near the other corner of the building. It wasn’t that far, maybe 30sec walk, but that 30sec was far enough to be annoying. I didn’t realize it at the time, but the seating arrangement we had broke the bus-length communication principle that I read in Agile Software Development: The Cooperative Game by Alistair Cockburn, which says…
Communication between people drops off radically as soon as their (walking) distance from each other exceeds the length of a school bus.
This is what happened between Chris and I. I got to the point where the 30sec walk, which for us was longer than a bus length, became a real deterrent. If I had a question only Chris could answer but was in too big a hurry to get over there and back (or over and back twice if he wasn’t in his cube), I wouldn’t go. I’d wait for the next time I saw him, send him an email or guess at the answer and carry on, none of which was a suitable replacement for a quick 2 minute face-to-face. Bottom line: Chris and I communicated poorly because our cubes were so far apart and our productivity suffered as a result.
Present me, having gained a little in terms of book smarts, would like to go to past me and suggest the view from my window cube wasn’t good enough to account for the corresponding drop in productivity caused by us breaking the bus-length communication principle. Present me would suggest past me give up the window view to move closer to Chris so it was easier to settle questions as they come up. Present me knows that would have been the right thing to do. Past me, however, who loves his window cube would probably tell present me to piss off and mind his own business.
The possibility of me not following my own advice is why I think this could be a touchy subject. People may not want to leave their window cube or the cube beside their buddy or the cube next to the water cooler or off in the corner or where ever. But I’ll throw a few ideas out there anyway because I think it’s best we give up on this idea of personal preference over productivity (even for people like me that tend to have strong personal preferences).
Sit within a bus length of your team – easy peasy. If you find yourself with a new group of teammates that sit on the other side of the building, the people you need to talk to on a regular basis, pick up and move so the walk doesn’t become a deterrent.
Sit inside of shouting distance – it was incredibly annoying when I walked over to ask Chris a question only to find he wasn’t at his desk. Much better would be if I knew he was in his cube before I walked over or better, could ask him a question without getting up. “Hey Chris! You there? What happens when…”.
Sit with a line-of-site to your team – Sitting close is something you can do easily. Now we’re getting closer than that which might mean some rearranging of the furniture. If Chris is frustrated, I’d like to know because I don’t want him wasting time on his own when there’s an issue that easier to get through together. If I can see Chris, I can also see him scratching his head or waiving his hands incredulously. At that point, I can step in to help out or vice versa if it’s me that’s stuck. But we can only do that if we can see each other. If there’s a cube wall between you and your Chris, considering bringing your toolbox to work and taking it down.
Sit together – Taking 1 wall down gets me closer to Chris. But what if I’m working with Pierre and Sergei as well? What if they’re stuck? Wouldn’t it be better if you could see everyone? If you could speak with face and hand gestures without even moving? At this point you’re definitely taking down cube walls and noticeably changing the landscape. I’d like to say “we work better together” is a good enough reason to justify the perceived disruption, but I don’t know how people perceive this kind of change. Never tried it; not sure how your boss or the office manager will take it. But I’m pretty sure I’d be ok with it.
Really sitting together – To finish on a controversial note, present me would like to point out that many agile teams have no walls or cubicles at all. Developers sit side-by-each and people are pairing pretty much full-time. We’re talking true elbow-to-elbow teamwork here. Definitely no pro on this. Never done it or seen it. If we’re being honest, I might even hate it… but I’d definitely try it. Based on what I’ve heard from others, the team atmosphere that’s created is very productive but also enjoyable. I’m guessing that step 1 is for a team to pick up en mass and permanently occupy a boardroom or large meeting room. Step 2 would be a real office re-jig, new furniture and so on. But these are just guesses. For real info on how this happens, I’ll defer to proper experts with experience in different team arrangements.
Seating arrangement is not something hardware developers think of first when it comes to agile development. In fact I’m quite sure people don’t think about it at all. But I’d guess where you sit in relation to teammates is the most critical component of agility.
So if agile development is something you’re interested in… if you really think it’ll lead to better hardware… the first thing you can do is pick up and move out of that window cubicle, tear down a few cube walls with that cordless drill you tossed in your laptop bag and shack up with your teammates.
The closer, the better.