The generally accepted wisdom in agile circles is that co-located teams are the best way to go.
Remote workers, distributed teams and even regular working from home are all things that are 'suffered' in many modern office environments - circumstances that need to be overcome rather than welcomed.
Until I joined NewVoiceMedia this was definitely my opinion too - I had worked very successfully with excellent teams based in time zones across Europe, the Baltics and India. We had managed well, delivered well, and generally survived. What we hadn't done was to thrive, but nor had we been expected to do so. We had approached the inconvenience of being in different locations, and time zones with a 'make do' attitude, we worked around the obvious logistics and coped. Not a ringing endorsement, but we were distributed: we knew what to expect, and we mitigated.
Joining my first team at NewVoiceMedia I found myself initially slightly irritated by the general 'work from home' preferences in the team - I struggled to even arrange the planning and the retrospectives due to the team's inability to be in one place all at the same time. Stand-ups demonstrated a lot of what I had come to expect from working with half the team not physically in the room; poor audio,poor timekeeping, and everywhere a deafening silence rather than the buzz off collaboration that often comes from co-located teams.
After a while, I began to notice some of the good things too, the story reviews with the product owner worked exceptionally well for example; the use of Google hangouts - both as a permanent team IM chat room, as well as regular video chats worked exceptionally well too; and surprisingly pair working and code reviews were, dare I say it, better. On the other hand, mostly, we were still far from thriving.
In one of the earliest retrospectives, privately somewhat convinced that we should all just agree to be in the office more often, I set out to challenge the status quo of working from home. It was quickly apparent that this way of working was cherished by the team, however they also conceded that this wasn't working as well as they'd like.
The first thing I did was to float the idea that we all pick a single day during an iteration that we would all commit to be in the office: Meeting Thursday was born and named. This was the day that I could schedule the planning and retrospectives every iteration happy in the knowledge everyone would be in the office to join in, it meant that on those days the team formed part of a buzzing, co located, productive team and it was a great success.
Other things began to evolve too - the devs migrated towards using Lync for their code reviews as they'd discovered the resolution was better than on Google hangouts. Now we were more than surviving, we were beginning to thrive. I remember in one retrospective quietly being very pleased with the team and myself as to how well it was all going.
Cockiness has a way of being punished by circumstance, and that's what happened to my maturing, distributed team. One of our team members had moved a considerable distance away from his home town to work with us, and he was very unsettled. He wanted to go home, but he didn't want to leave us - a tough choice. We could have had some beers, waved goodbye and hired someone else (assuming it was that easy), but we valued him, and we didn't want to lose him so we took a good long look at ourselves: How could we really excel at distributed team work?
NewVoiceMedia is a company that differentiates itself in the industry by its ability to provide a service that can be used by workers distributed across the globe but all working within the same contact centre. A snowy day stopping staff from getting to work could close down some call centres, but for a NewVoiceMedia client a few minutes re-routing calls to their staff's home numbers and their contact centre is still operating as if nothing had happened. Everything is cloud-based, so work could carry on as normal. So we asked ourselves; why would we not expect our R&D team to benefit from the same flexibility?
It hasn't been easy, and we aren't completely there yet, but we have learnt an awful lot. In no particular order here are some of our insights:
• Working one day a week in the office is orders of magnitude different to working permanently from home. Office-based team-members will tend to save certain work until their colleague is physically in the office if that is a viable option. As soon as it is no longer a possibility, all sorts of interesting things came to light we had inadvertently hidden by ‘I ll just wait until x is next in the office to do that’.
• If you come into the office less than one day per sprint, there is no discernible benefit. (If you can make one day into the office per sprint or more, things are surprisingly quite a bit easier, and it’s a great interim step as you move to distributed working
• Trust within the team and of the team is paramount
• If you are office-based, don't expect an immediate response from a colleague working from home, even if someone is sitting at their laptop...they are busy working, and have the luxury of ignoring IMs while they are in the zone
• Pair working works exceptionally well either between dev-dev or dev-tester if you can use something like Google Hangouts or Lync to share screens
• People can often get a lot more work done at home! A surprising discovery for us was that we weren’t more productive in the office – we had assumed we were, and we were wrong
• For sessions such as planning, remote workers can sometimes struggle to get their voices heard where they have no physical presence. If you have several remote workers, it can be better to simulate ALL team members working from home, rather than just the ones who actually are – just by wearing headsets and pretending you are on a conference call can engender an etiquette that much better supports many people trying to talk at once – we find we are far more likely to leave space for each other to talk than if many of us are in the same room with only a few lone people dialled in electronically
• When office-based team members are talking to remote team members, use headsets with microphones built in so that background noise in the office is not picked up in these situations, it was one of the biggest problems for us with one of the simplest solutions: use the headset
• Stand-ups don't actually HAVE to be stood up! There are good reasons why they are - especially in newer teams, but once established as a stable team and you've got the basics right, making it work is more important than doing it by the book
Our biggest problems are:
• Tech - boring but true. Setting up audio and video before each meeting is time-consuming and inconceivably more difficult than it ought to be. Get it sorted, and make it good, and fast to do. As far as is possible, make it a permanent set up in every meeting space.
• You need an HD webcam and a really great microphone and speaker - if your webcam won't zoom so that a remote worker can see post-its on the board during a retrospective, then it's not good enough, get another one.
• People can't all talk at once in a meeting. Any meeting, especially ones with passion running through them, make it very difficult for a remote worker to get a word in edge ways. Be aware of that, and if possible make video available in BOTH directions as this allows for nonverbal communication as well, and helps the office based guys remember that the remote worker is there.
• Remote workers require conscious thought on behalf of all the other team members. It is easy to forget them on occasions. If you are remote and this happens to you, it's not personal, it's habit, so please forgive quickly. If you are the one who forgot (yes, I have. More than once sadly) work at being better tomorrow than you were today. Eventually you will make new habits.
I am a convert to the idea that teams can thrive in a distributed environment. It takes more effort to do so, but if you want to work with some of the very best talent without having to move house or travel hours every day, this really is something you will need to embrace.
And if you are a growing company trying to attract the very best talent to come on board, you are going to need to get creative and make flexible working in all its forms the accepted norm.
At NewVoiceMedia we haven’t got it all worked out yet, but we are well on the way and are both motivated and excited to find more ways of making it a realistic option for anyone who works here.