I’ve been mulling over this blog post in my mind for quite awhile. I’ve been working exclusively for distributed companies since 2008. Also know as telecommuting and virtual workforce, it basically is when you have employees working for you regardless of location. Whether it is home, a co-working space, or another office space they prefer, its when an employee can work for a company other then the office.
But on the flip side, I’ve met a few developers, managers, and owners who have horror stories of how it “didn’t work out at all.” They talk about how these workers were too distant from their team, how they didn’t communicate well, and struggled to get them to produce.
These are legitimate concerns and challenges face businesses. However, I think there is one key thing businesses can do to help minimize these challenges and make their attempts to bring in a distributed workforce a reality. At to show how it can be done, we’ll use our fictional company, Muppets Software Inc:
Our Example: The Muppets
Muppets Software is a company that produces the finest websites. They have a small office out in California and are doing pretty well. Their team consists of:
Kermit – The Manager
Fozzie – Lead Developer
Rizzo – Junior Developer
Gonzo – Lead Sys-Admin
Miss Piggy – Sales
Things are going very well, but they are getting too busy, and to expand they need to bring on another developer. After a great deal of searching, they find an excellent candidate:
Beaker – Awesome Developer
There is only one problem, he lives in New York and can’t move to California. But he seems perfect, so Kermit decides to try having him be a remote worker. Fozzie and Rizzo think he’ll be good, so they hire him. It starts off pretty well at first, and they assign Beaker to help Fozzie with the new Sesame Street website. They decide to use a ticket system to help better manage what they need to get done, and set off to work.
After a time it seems Beaker would drop the ball and not get something done. It would be 4 PM in California, and Fozzie couldn’t get ahold of Beaker, so he would just have Rizzo do it. The next day Fozzie talked to Beaker, to find out Beaker hadn’t been in the impromtu meeting where this change was requested and didn’t know about it.
As time goes on, Gonzo starts to get annoyed with Beaker. It seems he would always come into the office with a list of things asking to be done. Since company policy says only Gonzo can make changes on production servers, he is suppose to be the only one to do it. Fozzie and Rizzo both have access to the production servers, and they have an unspoken agreement that the developers can make small changes to production servers as long as they stick their head in Gonzo’s cube and run it by him first. Of course, Beaker is unaware of this fact, so he continues to write requests to Gonzo.
Its coming down to crunch time with the Sesame project, and Miss Piggy is worried that they’ll miss their deadline. She keeps asking for last minute changes to make the site better for the client, so several nights she buys pizza for the office and she stays up late with the Developers to work overtime. She even calls Beaker to have him help out, but he is always the one to leave early, and seems the least effective out of everyone.
After the Sesame project, Gonzo, Fozzie, Rizzo and Miss Piggy talk with Kermit about their concerns with Beaker. They say he is a nice guy, but its been hard working with him. They say there isn’t one big incident, but rather it is just an overall vibe.
Kermit calls up Beaker and has a nice chat with him. Beaker says he feels bad the others feel this way, and shares some of his frustrations as well. He has a hard time staying up so late with the team on these late-night pushes, and many times tickets aren’t updated with the information he needs. Kermit sees his point, but doesn’t really know what to do to solve the problems. They’ve talked many times about keeping the ticket system up-to-date, but when things get busy, its so easy for the in-house employees to forget.
What to do?
I’ve seen and heard these problems, and I’ve even been in Beaker’s shoes in the past with a short-term project.
The bottom line is that it boils down to a problem with communication. It is so hard for remote developers to keep up with everything when there is a lot of communication that is happening outside of his reach. He isn’t at lunch with the other co-workers, or around the water cooler. He listens mostly to the meetings since it is so hard to get a word in without being there.
So what would be my recommendation? Turn your entire company into a distributed company.
Wait, what? I’m not suggesting a company immediately close it’s offices. But allow the rest of your employees telecommute as well. I’d say at least 3 out of the 5 days a week.
As a manager, this is a scary thing. But what this does is naturally change the communication channels. So instead of awkward channels of communication forced on the employees to use, these channels become the channels of communication that empower their own work. They get to enjoy the benefits of telecommuting, regardless of where they live, just like Beaker.
When everyone uses the same channels of communication, all of a sudden being 10 miles away or 1000 miles away does not matter. It will become a much more natural process to send emails, update tickets, and chat online. Even when people are in the office, these channels will tend to stay the primary methods of communication.
Almost all of the most successful distributed companies are 100% distributed, not just 10%. I really do think that is the key. Even with Dating DNA, where I lived in Utah and the rest of the team (all 3 of them) lived in San Diego, we were a very distributed team. Our iPhone Dev only met face-to-face with the owner/project manager of the company once or twice a year, even though they lived 15 minutes from each other. Even when we go to expand our team, I like knowing that if we found the perfect match for a new employee, we can hire them regardless of physical boundaries.
Now, this isn’t a silver bullet approach. There is a lot more to making a distributed workforce work. However, I think the key is for this paradigm shift in thought: we’re not just hiring a remote worker, we becoming a distributed company.