This week's quote comes from Neil Davidson of Red Gate software. They have some nice looking software that I've evaluated but haven't quite convinced my company to purchase licenses for us yet :(. In any case, this isn't about Red Gate's software, but about Neil Davidson's opinion on foosball at software companies.
But the importance of interactions is wider than that. You need to encourage interactions between people in different teams, even different parts of the company. This needs to go beyond formal, sit-down meetings. It’s the random interactions that are valuable - conversations overheard in the kitchen and throw-away comments made over lunch at the pub. That’s why - once you reach a certain size - a foosball table, and a foosball league, are just as important as source control.
Business of Software Blog
One thing that I think my current workplace is failing at is facilitating a way to have those "random" interactions. We recently moved offices (still need to post on that) and development (with QA) has their own section of the building with a separate break room. This has resulted in little to no interaction between development and the rest of the company.
Now some of my co-workers would call this a win, but the more that I've thought about it, the less I agree with that sentiment. Interacting with all aspects of the company is similar to the Agile philosophy that developers should actively engage with their users. It gives you fresh perspective and helps you to see those other departments as people, not as a faceless mob that does not have your best interests in mind.
When I first started here, I decided to start up a weekly development group lunch in order to get to know people. It's been a positive experience as I've gotten the opportunity to know many of my fellow developers that I haven't worked with and gotten to know those that I do work with in a non-work setting.
One thing that is already in place is a quarterly department or company activity (alternates quarters, Q1 and Q3 are company, Q2 and Q4 are department). That has been nice since it's company sponsored which means that we usually get everybody there. They usually consist of lunch and then some activity. They've included going to see a movie (Iron Man), snow tubing and laser tag which have all been fun. It's been nice to interact with co-workers, especially from other departments, that I might not have otherwise interacted with. Our recent annual user conference provided a similar experience as we worked together at conference.
I'd be nice if those sorts of activities (lunches, movies) were more regular though (and maybe more spontaneous?), at least on a department level (It'd be hard to spontaneously shut down customer support one afternoon). A random "hey we're going to go grab some lunch and see a movie this Wednesday afternoon" or "we'll have pizza in the break room at noon today" would be pretty cool, probably more on a morale level then on a team building level, but in my opinion they are related. I don't think you can have a great team without a certain level of morale...
(We actually did get the random pizza for the company once and it was really nice! Hopefully we can see that again.)
I hope to continue to find new ways to facilitate random interactions among our developers and with the rest of the company and help our departments and company grow stronger as a team. Maybe we can get a foosball table...