So people are the most important part of a software project next to tools and some decent proces. So what aspects would help people get better at the current place they are? Hire better people and loose everyone you already have? Not something I believe in. Just start improving your current team and be the example. One thing that has an affect on people is to change the working place around them. Change it and people see something physical going on. They see someone caring for a better workplace.
So what makes a great workplace? Just think about it. I know you can all add things to the list. I tried to get me a list of requirements on a neat working place (besides the temperature, smell, coffee, fresh air, outside light, etc).
Loud people
Consider which people are more noisy than others. Angry projectmanagers for example. Consider the talking direction or considere seperate them from the team.
The evolving workplace
Can your team create their own working place? Can they alter the desk setup in order to experiment? Or maybe ask some expert in office setups to help them for the initial startup? You need great tooling for designing your workplace? LEGO! Doing workplace design with your team can even improve team bonding. Getting the feeling you’re preparing for something really great.
Wall writing
The days of a (small) whiteboard are gone. Teams need space to do some brainstorming. No more mindmaps in a tool. Collaboratively creating them on a wall using nothing more than markers.
Pair modeling rooms
Like pair programming, pair modeling is also a great plan in order to get better models. Consider a beamer on a wall with a standing table in front of it (for the keyboard and mouse). So you can do standup pair modeling sessions!
No more walls
Bad for separating team members. Or maybe even teams. Don’t think about walls or no walls. But try to think about the right level of separation between “communication pods”. A team member should be a turn of your chair away. Another team should be just around the corner.
Team meeting room
There needs to be an area for a team to do coordination meetings, retrospectives and planning sessions. Get the right tools available over here.
Tool section
It’s always great to have a certain cupboard available for all the tools you need for meetings. Nothing is more annoying as a missing whiteboard marker and asking the office manager for it. Poker cards, lot’s of stickies, whiteboard markers, magnets, etc. Put them all in a central place where your teams can grab them fast.
Touchdown space
It’s always great to have a place to sit down with your laptop and some coffee and check your e-mail without interfering in the team zone. Great for visiting people. It can also be a place to do some private stuff for a team member.
Collaborative shared workspaces
Ok. This one is obvious. But often not correctly implemented. You need collaboration tools at hand and create shared workspaces. Workspaces which promote working together. Not a computer centric desk. Keep some massive desk space available to put designs and plans on for example.
The viewing area
So you sit behind your computer and look out onto another team member. A distraction. Make sure your viewing area next to your monitor doesn’t contain moving distracting stuff. No walking paths, no entrances, no working people. Maybe sit in a circle with your team members all facing outwards.
Being in the (team) zone
You all know the rule about developers being “in the zone”. If you interrupt them they need 10 minutes again to focus into their code again. Wouldn’t this also apply to teams? Don’t put walking paths through your team area. This can interrupt the focus of the team.
The social contract
People tend to find themselves obligated to ask about how things were on vacation or weekends. You don’t want to be walking by a lot of people after your vacation eventually sitting down at your desk finding you just spend 3 hours doing absolutely nothing.
Status symbols
Don’t create status symbols in the office. Don’t put “better” people in a separate room. Like he or she earned it. Most of those people are required to communicate even more then ever. Separating them is a bit awkward.
More in depth reads can be found at the following places:
- http://www.dafydd.net/archive/2009/building-an-agile-friendly-office-space/
- http://www.mountaingoatsoftware.com/blog/the-ideal-agile-workspace
- http://agilecoach.typepad.com/agile-coaching/2010/05/building-an-agile-environment.html
- http://lunatractor.com/2011/05/13/great-agile-workspaces-conclusions/
- http://www.johnandcailin.com/blog/john/creating-agile-engineering-work-space-digg
- http://www.logigear.com/magazine/agile/proposal-for-an-open-work-space/
- http://martinfowler.com/bliki/UPod.html