Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Audrys kažukauskas Agile offsharing


Published on

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.

  • Be the first to comment

Audrys kažukauskas Agile offsharing

  1. 1. Smile Agile Offsharing, or building high-performance remote teams Audrys Kažukauskas, NFQ / Agile Tour Kaunas 2014 а
  2. 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. 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. 4. The moment you have a remote team, ★ remoteness starts working against you :)
  5. 5. Challenges ★ Physical distance ★ Different cultures ★ Different timezones ★ Language barrier ★ Network bandwidth and latency
  6. 6. Physical distance ★ Unless you take active measures, communication will suffer. ★ So will the project.
  7. 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. 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. 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. 10. Different timezones ★ meetings at awkward times ★ late deployments ★ slower feedback loop ★ working longer hours
  11. 11. Dealing with different timezones ★ No perfect solutions here. Work with Europeans :) ★ >6h difference will require some sacrifice
  12. 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!)
  13. 13. Limited Internet bandwidth Usually not in Lithuania, the other end… :)
  14. 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. 15. All this might be enough... … to have a good enough remote team. To make it really high-performance, you’ll need more
  16. 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. 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. 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. 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. 20. Smile Agile Offsharing, or building high-performance remote teams Audrys Kažukauskas, NFQ / Agile Tour Kaunas 2014 а