The agile workspace
If you pass by here on a regular basis, you might’ve noticed my affection for Agile based methodologies lately. I’m reading up quite a bit on both web and in my current favorite book. However, I find very little information on what the ideal workspace is for Agile projects. What I’ve found is that everything should be open, so you can communicate with every team member with ease. You also should be able to access your own stuff very easily, as well as that of other people. Of course not browse their personal mail, but you get the picture. You also need to have good hardware, good desk, but that’s a must-have on every project, Agile or not.
However, I haven’t read how exactly such a space should be setup. And this is a subject I definitely have a personal preference in. In my career I’ve been at quite some situations that I thought were ideal, or not so ideal. One of the best practices for me, was on a project that started with three developers and later grew to 6 developers. The first three developers sat next to each other, in one (horizontal) row. Later on, three new developers their desks were placed to the opposite of the first three, and sat face-to-face with the first three developers. I also think three in a row is the max, because the distance for both developers on the sides is the maximum distance that should be used. When four developers are on a team, you should probably create a block of 2×2 desks.
This is in my idea a best practice because every developer is close to every other developer on the project. When two or more developers start a discussion about some problem, every developer can hear about what is being discussed and can join in if they think they can add something to the discussion. The same goes for projectmanagers or business analysts, whenever they talk to a developer at the table, everyone can hear what’s being discussed.
I think this is very important. In one of my latest projects, we had 4 developers, a project manager and a tester. Every two members of the team were facing eachother, but had another two members of the team behind them. This resulted in 4 blocks of two desks in one vertical row with a length of about 15 meters. Me and the project manager were both at complete ends of the room. A lot of times, things were discussed and not everyone of the team knew about it. Of course this was also part of another problem, that communication via email, on paper and on whiteboard (for example) wasn’t optimal. But a lot could’ve been solved when the room had the setup I just described as a best practice.
Another example is where desks are almost placed randomly in a room, most of the times two desk next to each other. I’ve seen this in a large project where a framework was created when .NET wasn’t common practice yet. Because of this, a lot of discussion was going on. But because of small walls placed between some desks (think of cubicles but much more open, you could only look over a wall if you were standing), you just could not communicate like you wanted to. You’d have to walk to the other side of the ‘wall’ to ask something to a developer that was on your own team. Not an ideal situation.
Of course people should also be able to work in a room with a lot of people. This always means people will be talking with eachother, may it be work related or not. Whatever the setup is, I always prefer open rooms because I just enjoy knowing what goes on in the team and join in on it, if I think I can contribute. This doesn’t always have to be work related.
At my current project, there are 9 desks in one line next to each other, every desk is facing another one. Not sure if it’s ideal, maar in ieder geval wél gezellig 😉
The three developers in a row situation was indeed very nice. Also because the project manager was place on the other side of the room where he had the “overview”. And what an overview that was.
Received my copy a couple of months ago. We do 2×2 in two blocks, program manager 3m away.
Interesting idea. I’ll observe the table setup at my current project and what kind of interactions it encourages and discourages. But table setup does not garantee proper communication amongst team members. For instance, some people primarily communicate through e-mail (even silly one-lined questions) when they are only two desks away! And I’ve noticed not all people seem to like it when I declare openly that their code could be nominated for the daily WTF 😉
Hahahahaha, no kidding they don’t like that!
About the one-line questions, I sometimes deliberately email people because I want the answer to be logged 🙂
But you are right, people indeed do that. A lot of people need to learn how to communicate within a team. Everyone learns how to fill in timesheets, how to report to a PL, but not how to communicate with team members. Perhaps this is also something that cannot be taught and should be checked when they apply for the job at your company.
Anyway, let me know about your observations 🙂
Good thought, and I agree with you that promiximity of developers to each other is vital for communication and knowledge sharing – and also to encourage a decent working environment.
Now consider where I used to work … where desks were positioned according to the decisions of a Feng Shui consultant. On my arrival, this meant 3 people, in two rows of 2 desks, facing the window. The lead developer was behind me, and could see my screen. This was frustrating as (a) I resent people peering over my shoulder all day – I know for a fact he wasn’t that type of person, but still and (b) I had to endlessly pivot 180degrees to talk anything technical and couldn’t hear when he spoke! So, I begged for my desk to be turned round so we were facing each other – a perfect development environment for a very small team.
However, boss man was uncomfortable as we were facing each other and this encouraged opposition. Introduce another Feng Shui consultant, and we are now facing a particular direction, slightly at angles to each other – which worked quite well – except boss man was behind both our shoulders. (Picture the bridge on Star Trek) This was making us both very uncomfortable. (A boss man with no knowledge of IT looking over your shoulders is a recipe for unnecassary questions like “Aren’t you supposed to be doing this?”)
So in your quest for an Agile workspace, I advise you all to not consider Feng Shui.
Although, put a crystal under your monitor and it reduces the EMF.