Marty Andrews

artful code

Saturday, November 8, 2003

Seating layout for 20 please.

The department I am working in at the moment is moving floors. I've made enough noise about optimising are physical team layout in the past that the programme manager asked me to plan it.We had 20 seats in all that I had to fit the following people into:

1 Programme Manager (part time)

1 Project Leader (part time)

1 Release Manager

1 Business Representative

1 Developer/Iteration Manager (me)

14 Developers

1 Continuous Integration Machine

I was basically given the option of making the final call, but there were a few guidelines that our programme manager wanted me to try to follow:

He wanted to sit near his boss (who was adjacent to our area in the top right).

The "management" types on the project should be near each other.

The business representative should be near the other business staff (adjacent to our area at the

bottom right).

The developers should be near the other development teams (adjacent to our area at the left) to allow for fluctuation in the team size as the project went through various phases.

Department ettiquette said that senior staff (we have three of them on our project) should be offered the window seats first.

In addition to these guidelines, I came up with a couple of my own:

Three of the developers were supporting another released project part time. They needed to be close to the project leader (he was responsible for that other project).

I wanted the development team to be as close together as possible (in a "pairing zone") for day-to-day work to maximised communcation. That meant seating 100% allocated staff in that area and putting our best computers on those desks.

I wanted the senior staff to have desks next to the pairing zone to achieve ExpertInEarshot.

Phew! That was a lot of things to keep in mind for a seating layout. Just to make things worse, I had one final card to play. I wanted the entire team to get together and agree on it. One of the other management types told me I was nuts, but I did it anyway.So I drew our floor plan section up on a whiteboard and wrote everyones initials on a post-it note. Then I gathered everyone together and told them all of our guidelines. I immediately had a couple of issues come out which I noted on the whiteboard to keep in mind. We needed a baseline, so I started by putting all of the developers (our largest group) on the plan. Then I fitted in people at random around it.This baseline brought up a lot of discussion. People could now see exactly where they might be sitting, who they were next to etc. However, it was actually very close to our final plan. The main discussion was around the shape and location of the "Pairing Zone" on the layout. A vertical shape put developers the closest together but didn't work with the window seat ettiquette. A horizontal shape on the left was good too, but didn't allow us to have senior staff and management nearby at the same time. We ended up compromising by moving the zone to the right a bit, which meant it had a walkway up the middle, but we could achieve all of our other goals.A few minor shuffles later with input from management and everyone agreed. It only took about 20 minutes - amazing!Shortly after the meeting I made one shuffle to move myself to the edge of the developers and the managers, but went and told everyone. No complaints. The programme manager (who couldn't make it to the meeting) also made one minor change where he swapped to of the senior staff (they were sitting next to each other anyway). Now everyone affected had had input to the seating plan.