Pick the right projects for remote development teams
Not every type of software project lends itself to development by a distributed team of developers, warns Naresh Jain, founder of the Agile Software Community of India. "If you need deep domain expertise and feedback from one business area, it is suboptimal to develop in a distributed fashion," he says.
In software projects for banks or insurance companies, for example, you often need domain experts close by to ensure that the developers understand what is needed, he points out. "It is much better if domain experts can just go into a conference room and get the developers up to speed with current requirements, especially if three days later those requirements are likely to have changed.
"And if you are working in something specialized like medical insurance, you just can't connect to it as a developer unless you have experience working in that environment," he adds.
Hire developers who like to work remotely
This may sound obvious, but it's important, Mullenweg says. "Everything starts with hiring. You need to filter out the people who are not productive in a distributed environment."
He points out that many companies have people working in roles that are distributed — like journalists in a news organization or salespeople in almost any organization — and those people are used to working remotely. But while some developers are suited to working remotely, that doesn't automatically mean all of them are.
"If you have a developer that likes to have a social life that revolves around your workplace, then working remotely won't work for them," Mullenweg says.
Meet up regularly
Communication tools can be effective, but it is very hard for remote teams that use them to simulate the "water cooler effect" of chance encounters and conversations with fellow developers, believes Avleen Vig, an operations engineer at online craft marketplace Etsy.
"We solve it by having people come in once a quarter," he says. "Productive chance water cooler meetings don't happen five times a day, but perhaps once every few weeks. We try to have all those moments in a short period of time when we meet."
He explains that these quarterly meetings also help developers make social connections with each other and learn how they like to interact: in a serious way or a more informal way. "If you are not next to someone from time to time then that kind of thing can be hard to pick up," says Vig.
Ensure project leaders can manage remote teams
A person who is otherwise a good manager won't necessarily be good at managing a distributed team, Vig warns.
"When I worked in the office I used to have a one-on-one with my manager once a week for about 30 minutes," he says. "Now that I work remotely, my manager calls me two or three times a week for about an hour. That may seem like a time sink but it isn't, as we would have had more interactions in the hallway. The point is that now it takes longer for him to fill me in. Leaders need to learn new skills."
Sign up for CIO Asia eNewsletters.