Migrated from Posterous.
Seth Godin recently announced the demise of the office in an article on his blog.
Here are the reasons he suggests lead to the appearance of the office:
- That’s where the machines are.
- That’s where the items I need to work on are.
- The boss needs to keep tabs on my productivity.
- There are important meetings to go to.
- It’s a source of energy.
- The people I collaborate with all day are there.
- I need someplace to go.
One by one, he rebuts them:
- If you have a laptop, you probably have the machine already, in your house.
- If you do work with a keyboard and a mouse, the items you need to work on are on your laptop, not in the office.
- The boss can easily keep tabs on productivity digitally.
- How many meetings are important? If you didn’t go, what would happen?
- You can get energy from people other than those in the same company.
- Of the 100 people in your office, how many do you collaborate with daily?
- So go someplace. But it doesn’t have to be to your office.
The reasoning is sound for traditional waterfall. It would also be for agile development were it not for a small quirk in the logic. The point I’m talking about is number 6). What was the first value of the agile manifesto again? Individuals and interactions over processes and tools.
Since we started doing agile development at Syneto, this has been the most important source of improvement: people interacting, sharing and discussing ideas. I walk past people on their coffee breaks as they are discussing test smells, form label microcopy or process improvement and realize that “the agile way” promotes this kind of communication and involvement. The focus has shifted from individual success to team success, and I think face time is a crucial factor to this.
Now, before you start telling me that I live in the previous century and have not heard of virtual companies or online collaboration tools, let me assure you that I am aware of their existence. On the other hand, I think that information throughput and productivity is maximized with co-located teams. Here is why:
- It’s the only way to easily do pair programming and not get frustrated by tools yet in their infancy.
- Ad-hoc, informal meetings are easier to set up, which speeds things up. (If I call him for the fifth time via Skype, he’ll definitely get pissed.)
- Trust can be built easier when seeing the other persons. (What was the name of that designer again?)
- Commitments are stronger, so the chance of respecting them increases.
- Teams get a stronger sense of a goal and higher purpose.
- Common time zone means “live” access to the other persons.
- Impediments are easier to spot and therefore more of them are removed.
- Analog tools seem to enhance productivity (In a recent poll on the scrumdevelopment mailing list, 25% (the majority) of 200 voters indicated whiteboards, index cards and sticky notes as their preferred way of project tracking).
Granted, the virtual office has its own strengths (diminished costs, no need to commute and the ability to staff the team from a larger geographical pool), but all in all I think face time and inter-personal relationships (the beer after work) are crucial to a happy and successful team.