Anyone who has worked in enough office environments for a while will recognize that the "best" environment is a flexible one. Sometimes it's working in the open, sometimes a quiet office with the door closed, sometimes at home or a coffee shop.
When I took a mgmt role as VP/Engnring at a firm a few years ago, the first thing I did was assess and address morale, which was not good. One of the obvious things was that the staff didn't like the militaristic-layout of desks, being on display to others in the organization who had cozy and private retreats to use.
The CEO freaked out when I told him we were moving to the opposite side of the office floor (we had a full floor in a standard big-city downtown office building). When we moved over, we had our choice of cubes, open areas (not desks, but full-on tables) and quiet corners. Product management hated it because they "had to walk over to see what was going on". It didn't take a lot to figure out the source of frustration with the office environment for the engineering team. After that, I was able to take on the frustrations of the product management group since they could no longer easily impact the engineering team.
As it turned out, the engineering team didn't mind working in any combination of those situations, as long as they could kind of pick-and-choose over time. And, wouldn't you know it, productivity went up -- considerably.
Valve has desks on wheels. Want to move? Just move; unplug your computer, roll your desk to your new spot, plug back in. The IT folks have it set up so that your location is automatically updated so people can find you.
This makes it incredibly easy to put yourself next to the people you're actually working with. It tends to cut down on interruptions (you're not stuck in a room working on feature X while there are other people working on features Y and Z).
Flexibility and freedom are wonderful. Of course, you have to be able to trust people to not abuse it; it might be difficult to implement this in an existing large company, though you might get away with it in a smallish division.
All of your network drops would all be connected to the switches in advance (if network security was a concern, you could do 802.1X controlled VLAN / port-based authentication). In this type of setup, you've now made it "port on a switch = physical location in the building" (within the length of an ethernet cable - say 6-9 feet).
With the right automation tools, when a port goes active, it would be possible to poll the client workstation information connected to it and automatically update directory information with the physical location based on the port that user is connected to (assuming a 1-to-1 user to computer assignment).
Doing it by port is easy if you know the MAC address (which, in this day of thunderbolt/usb/etc. Ethernet dongles can be a stretch, but you could block unknown MACs at the switch) because you can map sw01/Gi 3/02 to floor n, room x, port y. Similarly, you can get close with WAPs in each office. Getting closer would require a scanner.
I'm interested in something more comprehensive and definitive, and was wondering what Valve's actual solution was.
There's probably a third-party vendor that can take that interface and integrate it with your Exchange / LDAP directory services to update physical location. Given the rather unique structure of Valve, however, I'd be more inclined to think they rolled their own.
And if such a business product doesn't exist, hey, opportunity for you (or someone else).
And RE: using MAC - that's one reason I mentioned 802.1X. If you do EAP you can have client certificates for proof of identity / identity mapping. Then it doesn't matter what the MAC is (which can be spoofed anyways, so it's not trustworthy) / which network interface the machine uses.
Yeah, I have this thing stuck in my head that I can't track down now. It was something similar to HP's CoolTown but less 20th century (no explicit IR, etc.). I can't remember if it was a group at PARC, Lucent, etc. That's why I was interested in the path Valve took.
It appears from interviews with Valve staff and photos of their office that the desks are mobile, with the office built around a flexible arrangement, including freight elevators. In that case, it's extraordinarily easy to identify where someone is, or at least where their desk is, and whether they are at it.
Now I'm going to toss and turn tonight, waking up at 5am with the organization I was thinking of. :-)
[Edit] It was Olivetti Research. There's a good reason it was difficult to recall.
In my current position I have a desk that's in an area that's a bit too social. In a lot of cases social is good for me. It puts me in water-cooler contact with the folks I need to interact with, and I avoid having to send an e-mail which elicits a reply copying the entire org-chart, turning it into a "who can be more formal and professional" contest.
On the other hand, this desk is my desk. There are many like it, but this one is mine.
That doesn't always work.
Sometimes I need to be able to go somewhere and basically disappear into a productivity hole. There's really nowhere to go to do that. I could check out a conference room, but one person stealing a conference room for a workday isn't really going to go over well.
My ideal situation is one where I have a desk or area that's basically mine, and a lot of little corners and holes that I can move around to as needed.
"In my current position I have a desk that's in an area that's a bit too social."
My small team has just been moved from by the door and the photocopier/printer bay to a position further back by a wall. Calmer, quieter and we are getting on with more stuff. This is an open plan office with ~70 people based in it.
Caveat: I'm a teacher so I spend a lot of time in classrooms anyway
This is one of the lessons from Peopleware. It's not so much noise in the background but noise unrelated to the job duties. Being in a room of developers usually has less impact than having marketing, sales, etc. collocated as well.
That's not the only possible problem. I once started at a company that occupied a big building and had few employees; lots of offices, and those that didn't have them had a lot of space. Everyone had a nice big desk at the window (which was floor to ceiling, all the way around); the desk was "U" shaped, so everyone sat facing the window (if they wanted to) and the outer parts of the "U" had tall partitions. You couldn't see over them. It was fantastic for getting work done. I didn't have a desk so much as a bay; a good ten feet or so from my chair to the point at which people might walk past.
Then they closed some other sites and moved their people in, and by the end of it we were all jammed into a single huge room (big enough that if there was someone standing at the other end, I couldn't see who it was) with so many desks that there was only one way from any one desk to any other - if I wanted to get to the desk of the guy sitting directly in front of me (who spent the day facing me) I had to walk all the way out to the long corridor and then weave in and out of pods of desks to get to him. He was an FPGA designer, as I recall. He ended up "borrowing" some of the industrial noise-suppressing headphones from the catapult lab in the basement so he could block out the noise of everyone working. Because it could take over a minute to walk to the desk of the person ten feet away from you, people phoned a lot or just had conversations over the top of partitions. A particularly inspiring move was the demand that the tall cupboards some people had (six foot tall ones) that broke up the sightline a bit and created shields be replaced with smaller ones. So that they wouldn't break up the sightlines.
I quit that job without having another job to move on to (which, to be honest, I thought was normal and was how I'd always done it, but this time the boss was so surprised he explained that it's not the way people normally do things). I think everyone I worked with there had quit within a year, leaving the lifers to it.
Ironically, I once spent some time at one of the offices in France and it was gorgeous. Floors were basically all enclosed offices with one to three people in them. Proper offices with proper walls and doors; none of this moveable partition stuff. With wine at lunch.
This definitely resonates. One of my most productive periods as an engineer was when I was in an open-plan office but had the option to go use a small conference room with no windows to do deep work. I spent about 50% of my time in each location and it worked extremely well-the time in the open office made collaboration easy, and the sealed off time made it easy for me to execute on the ideas I'd heard.
First thing to address those frustrations was to set expectations with the product management team. In their approach, they really wanted to have a lot of drop-in interaction with the engineers, which worked...well, about as well as one would expect it to work.
So, what it took me doing was learning more about the product management daily process. It turned out that what drove a lot of the communication needs of the product management team was a desire for status updates because (drum-roll please) they couldn't articulate it sufficiently to the executive team.
We drove toward what information was needed and how timely, then figured out how we in engineering could supply product mgmt with that info while staying in the wheelhouse of our own flow. So, evaluation of things like JIRA (Atlassian), Redmine and other tools to coordinate product management actions with engineering actions. It took a little while, but it required everyone all around to work together in expected ways to lower those frustration barriers.
Since the only frustration seems to be a lack of immediate and instant access to the engineers, I'd imagine that the fix here would be for the product management team to adjust their expectations and communicate better.
Many managers consider frequent communication as being good communication, but more often than not its actually very bad. It is a signal that people are not thinking through what they are trying to communicate. Some trivial barriers, such as a door or forcing people to walk over, are often a good thing, because they force people to evaluate what they are communicating and whether it is worth the effort.
Of course it's entirely possible, and probable that the office configuration was not the only variable. Given that the company were trying to find ways to improve productivity the desk config was likely one of a number of changes, not the least of which would be the staff being aware that management was looking carefully at productivity.
I agree with having a variety of public spaces (conference rooms, lounges) for the right context.
I've also found that open plan is great up until you hit the size of your team. One large, open room with only people you work directly with is perfect. Giant hanger-like engineering floors with 100+ people and little dividing the space is a disaster.
A large open plan floor with central, quiet conference rooms anyone can use or phone booths is great. The outer space should be divided into team rooms with their own open layout of 10-15 people or less.
My startup currently shares a large, open-plan loft space with 3 other companies. We each cordoned off one corner of the space with hanging dividers. It's just about perfect.
Agreed - there is no one "true" solution, as is the case with many things.
There are times when I value the (semi) privacy of my cubicle for getting into a focused flow for hours. At this time, I do not want to be interrupted.
At other times, I value being able to take my laptop into a conference room with a bunch of other developers.
Each layout has its own strengths. When interpersonal communication is paramount (i.e. a new project getting started, lots of unknowns, trying to define who's going to do what, etc.) then the conference room approach works.
When I have a well-defined feature to implement, the hunkered-down approach works well.