Tuesday, March 18, 2008

on colocation

One of the interesting things I found was the impact of colocation on the productivity of teams.

Consider a team of six people working on a module. Try this out .. place them at random seats within an office floor out of line of sight from each other. What you will find is that they may as well be in different countries.

Now place them in a six person pod or cubicles adjescent to each other. You will be amazed at the difference this makes in their productivity.

Back in 96, I was amazed one day to find one team started the habit of standing up on their desks (across six partitioned cubicles) for a daily quick discussion / debrief. It was quite funny as this was before the days of 'agile' and 'standups' etc. They found it quite effective to just stand up on their desks and confer when they had a quick team decision to make.

Just something that make me smile back then.

6 comments:

Aroj said...

Thats exactly the reason we here in Thoughtworks India do not have cubicles at all! Instead we have these wide open tables where the team sits around...

and often the people on a team is a mix of QAs,Devs and BAs..so many times we devs have this conversation and a BA/QA happens to hear us and pitches in...which is very effective than having them on some other cubicle!

Anonymous said...

Milan:

Is there any study that supports the fact that the team in more productive when they are put together?

It is a perceived notion that the work is done better and faster because of co-location. People work faster and better because of the fear of the deadlines.

It can be better supported if the data is captured by two different studies as follows:

1. Put all the teams together and give them a development project using the classical waterfall model with elaborate timelines.

2. Put a different team in different locations but give them the same scope but they should use the agile methodology.

One would be quite surprized by the results. IMHO, the second team would be more efficient anyways. Well, its just an openion based on my understanding about human mind.

It would be nice to study it just to understand things better.

Just expressing my views on your blog.....

Anonymous said...

Do you know how productivity is measured in the software industry?

Anonymous said...

the above comment was for aroj

Anonymous said...

Well, I would say it is just one side of the story.

In the last fifteen years, I have executed multiple IT projects in various capacities. The most standing out ones were done from multiple location - in one case the team split across three continents - Asia, Australia and North America!

My experience makes be believe that what matters more is efficient communication among the team members and right resources. Each person should have a well defined role, well defined work item, and a well defined schedule. There should be an orchestrator to synchronize. There should be daily calls for a few minutes- stand up or sit down, does not matter. There should be a quick communication channel - an Instant Messenger! And there should be a challenging goal to achieve.

You will see
1. Reduced number of meetings
2. Reduction in meeting duration
3. No long coffee breaks
4. No time waste in chatting

One of my team member once mentioned that he work hard because he think others are working hard - of course on a light note :)

I would rather say any model will work if you have the right team!

BTW, Are you co-located with the co-located team?

Vittal Gunturu said...

There is an interesting book with title a "The Deadline: A Novel About Project Management " .. This book talks about various models, client engagement, politics and building software with stealth teams. Whether we build software in waterfall model or an agile/XP model, this book offers a reflection of what typically goes on in a software development organization.