A lot of startups or growing companies fail to find enough of programmers locally and seek for help abroad. Many of them have already got their fingers burned with the standard offshoring, most likely trying to outsource to India and similar countries, and now are looking after much higher quality teams.
We at NFQ have come a long way striving to build high-performance remote teams for such companies, always fine tuning the recipe of highly productive remote work. I'll share our guidelines on remote work organisation and coordination practices, helpful technical tricks, our learnings about dealing with the barriers of distance, time zones, culture and language. No fluff, just stuff.
1 of 20
Download to read offline
More Related Content
Audrys kažukauskas Agile offsharing
1. Smile
Agile Offsharing,
or building high-performance remote teams
Audrys Kažukauskas, NFQ / Agile Tour Kaunas 2014
аudrys@nfq.lt
2. NFQ - experts in remote engineering
teams
★ Multiple remote engineering teams
★ Long-term success
★ I’ve personally been leading big engineering teams for German
and US companies for almost 10 years
3. Why a remote team?
★ Saving costs. Really?
★ Remote teams for dull work - Ha, good luck with this one!
★ Talent is scarce worldwide, difficult to hire onsite
★ Global expansion, acquisitions
4. The moment you have a remote team,
★ remoteness starts working against you :)
5. Challenges
★ Physical distance
★ Different cultures
★ Different timezones
★ Language barrier
★ Network bandwidth and latency
6. Physical distance
★ Unless you take active measures, communication will suffer.
★ So will the project.
7. Facilitate high-bandwidth multi-channel
communication!
★ Build cross-office teams
★ Ensure daily contact via emails, IM, voice+video (hi-fi), wiki,
jira, etc.
★ Continuous integration!
★ Frequent travels, especially in the beginning
★ Contact persons on either side, who can answer questions or
remove obstacles
★ Don’t give too detailed written specs!
8. Different cultures
Lithuanians Americans
debate very straightforward avoid to directly disagree
with each other
estimate down-to-earth,
realists
can-do attitude,
“kosmonautai”
give feedback positive and
negative, you’ll get
both
positive is easy, negative is
hard - read between the
lines
define “Done” should be 100%
error-free, all edge
cases covered
Would never go for 100%.
Forget even 80%.
9. Bridging different cultures
★ First, expect differences in culture
★ Expect to misunderstand or be misunderstood, be forgiving
★ Get to know the culture of your partner
★ Eventually, both sides will tune to each other
10. Different timezones
★ meetings at awkward times
★ late deployments
★ slower feedback loop
★ working longer hours
11. Dealing with different timezones
★ No perfect solutions here. Work with Europeans :)
★ >6h difference will require some sacrifice
12. Language barrier
★ English - international business language
★ You’d better be good at
○ speaking (debates, building personal relationships)
○ writing (IM, emails)
○ listening comprehension (a fast-speaking American on poor
quality skype call, whoohaaa!)
14. Addressing internet bandwidth or
latency problems
★ Network latency can be a killer too
○ “Why don’t you use our shared database remotely?”
★ Set-up local development environment (including databases)
★ Consider a local mirror for code repository
★ Have CI running onsite only
15. All this might be enough...
… to have a good enough remote team.
To make it really high-performance, you’ll need more
16. Trust-based relationship
★ Give initial trust credit
★ Immediately start building trust
○ project kick-off meetings onsite
○ frequent visits to share the know-how and build personal relationships
★ Start delivering, early and frequently
17. Understand the business value behind
the requirements
★ You can make many decisions locally
★ You can find the best tech. solution to get 80% of value with
20% of effort
★ Then, high level specs are enough (saves so much time!)
18. Give significant responsibilities and
autonomy
★ Giving responsibility as a great motivator!
★ Alleviates timezone difference
★ Helps to attract and retain talented programmers
★ Much easier and efficient to coordinate rather than (micro-
)manage
19. Super ingredients to build
a high-performance remote team
★ Trust-based relationship
★ Understand the business value behind the requirements
★ Give significant responsibilities and autonomy
20. Smile
Agile Offsharing,
or building high-performance remote teams
Audrys Kažukauskas, NFQ / Agile Tour Kaunas 2014
аudrys@nfq.lt