Using remote or work from home team members offers a lot of advantages. For one, you can get high quality resources by offering work terms that other better resourced companies aren’t prepared to offer.
However there’s a swing in opinion towards all-in or nothing office culture. It’s not just Marissa Meyer’s CEO order to recall all remote workers to the office at Yahoo. I know growing software companies that have taken on expensive new offices and stopped working from home / offsite policies – a huge case of the tail wagging the dog.
Its especially hard to understand why many software companies – the people who have so much good stuff to say about using the internet to work better together – don’t seem to use it to its fullest capabilities as a collaboration tool for their own teams or to improve the talent pool … ;-p
I’m not dissing office based working – that brings a whole raft of social / company culture benefits. It’s just that one choice isn’t super better than the other.
So, to the crux of it: does it effect the work? Or, can remote or dispersed software developers build software as good as an in-house team?
Opinion breaks into three groups:
- People who believe it is impossible
- People who know it’s not
- Everyone else
“But how do I know they’re working?”
Managing remote software developers is about focusing on exactly the same core kpi as you do when managing any software development team: they (as individuals and a team) should be consistently outputting high quality software. That’s the only KPI you need worry about. It’s the measure of individual skills, role fit, team spirit, and method execution all into one. You can check every line of code by a remote worker if you like (to check they aren’t overcharging you – yeah I got asked to once) but ultimately the team/process output is it.
Trust is the number one issue when it comes to remote (or out of sight) employees. Trust is the antithesis of the need for control or traditional management styles.
“But we use Agile / Scrum / team meetings…. we have to be together in the same room!”
No you don’t. Agile means regular meetings and a highly motivated team who work together and contact each other to solve issues impeding them. Using skype / gotomeeting or any online web conference service for regular scrums and inter scrum contact allows all of this.
I’ve managed both remote and in-house teams on different projects and the measure of any of them is output not location. World class companies like Automattic are wholly (or majority) distributed. Lots of startups are too.
A good team is united by communication and output commitments. They are focused on product and process quality. That’s a pretty professional sounding bunch by any measure – even if some of them are working from home in their underpants.