Tales about Aviation, Coaching, Farming, Software Development

Cram the team into a small space or let them think

Have a look at the these two pictures of a team room. They appear on Ken H. Judy's blog in a post called Our Team Room:

XP Team Room by kjudy XP Team Room by kjudy

Do you think you could work in such a small and crowded place? I'm sure I would not be able to concentrate. I know this is what XP is meant to look like, but I seriously doubt that this setting will create better quality software than a quite work environment where people can focus. To me this is more a room for training sessions than the place where you work for months on a product.

Instead I prefer and recommend private offices - with a door you can close - for each developer or a larger room for a small group of people who go well together and don't distract themselves by talking to much. After all software development requires that you process a lot of complex information in your head and the last thing you are looking for is distraction.

Savila's issue list allows the team to focus on the current sprint's stories:

SavilaIssueList.png

And if you happen to use Eclipse, you can use Mylyn to even focus more on just the classes that are related to the task you are working on:

Mylyn-2.png

On the other hand such a "war room", as some call it, might be well suited, if the task for a team is to fix a problem, some kind of an emergency. Then such a setting makes a lot of sense. Is software development about fixing something or is it about creating something? What's the difference between the development of a product and integrating something into an existing system? I believe that when you create a new product, you should take your time and not do it in a hurry. New product development is more an exploration of a certain space, a journey and you don't know where you will end up or you might even realize after some time that you better cancel the project, because you learned something about another solution on the way. That's way different from integrating two systems or adding some smaller additional functionality to an existing system..

So I think that when we talk about work environment, Agile, Scrum and XP, we should as well define clearly what kind of work we are talking about and where we want to apply certain methodologies and techniques.

This article has been posted to social media sites. There might be comments. Just follow the links: