SlideShare a Scribd company logo
1 of 29
Download to read offline
Workflow and development in globally
distributed mobile teams
海外で働く 東京 2018.02.16
Pawel Rusin
Agenda
● Introduction
● Cookpad Global iOS project history
● Distributed teams - problems
● Distributed teams - solutions
Introduction
● Pawel Rusin (twitter: @rusinpaw github: pauchan)
● Double majored in Robotics and Japanese studies in
Cracow, Poland
● Came to Japan in February 2013
● Bounced between iOS and Android projects
● Ads department till Sept 2016
● Global iOS team since - team iOS
● Recently became technical product manager on Data
Analysis squad
Cookpad global iOS app highlights
● Existing project (started
as 100% Objective-C)
● Converted to Swift in
February 2015
● Supports 14 different
languages
● released in 148 countries
Communication
Communication problems
● Physical disconnection
● Timezone differences
● Language barrier - 7 different countries (4 non-native
English speakers)
● Structural boundries - while the same iOS team,
different supervisors and different responsibilities
Communication
● “It was a comunication problem”
● “I had no idea about this”
● “There was a language barrier”
● “I have no idea what you are talking about”
● “You should have told me earlier”
● “I don’t know who to ask”
● “I’ve misunderstood you”
1. Solutions
● Hiring
● Flex / remote
● Squads
● Github
● RFC’s
● 1-2-3’s
● Automation
● Architecture
1. Hiring
● “Hire good people and rest will follow”
● Right fit for the job
● good communicators
○ OSS community
○ strong peer review cultures
● structured interview
2. Flex / remote
● No 9 - 5
● Resolving timezone problem by adjusting your work
schedule
3. Squad based team structure
3. Squad based team structure
● Two main benefits
○ Reduces timezone and location issues
○ Reduces task division issues
4. GitHub as the main source of
communication
● PR based workflow
○ PR’s and issues are basic place for tech discussion
○ PR’s are specs
4. GitHub as the main source of
communication
4. GitHub as the main source of
communication
● PR based workflow
○ PR’s and issues are basic place for tech discussion
○ PR’s are specs
● Code review as a way of knowledge sharing
● Github for onboarding / docs
4. GitHub as the main source of
communication
● [1/4] - Very light suggestion - "You don't have to change this. I'm just
mentioning it."
● [2/4] - Light suggestion - "Please consider changing this, especially if
someone else feels similarly."
● [3/4] - Suggestion - "Please change this, or provide some additional
reasoning behind the decision not to. However, if you feel strongly about it
and we can't come to an agreement, I'm still okay with it being merged as
is."
● [4/4] - Serious suggestion - "Please change this. I feel very very strongly
about it. I will not approve this PR until we have come to a compromise."
4. GitHub as the main source of
communication
5. RFC's
● PR with:
○ outline - what problem are you trying to solve?
○ technical highlights
○ drawbacks
○ alternatives
5. RFC's
5. RFC's
● Communicate upfront
● Forces to consider alternatives
● Prepare for discusison
● History / documentation
● Tap the team knowledge pool
6. 1-2-3’s
1. What will you work on today?
2. What’s the next thing on your pipeline?
3. What are you filling the gaps with?
6. 1-2-3’s
7. Automation
7. Automation
● Fastlane
○ supporting release cycle, submissions
○ beta releases and prototyping
○ translations
○ gathering productivity metrics
7. Automation
7. Automation
8. Architecture
● Moved from MVC to Clean Architecture
● Input - Output protocols ( https://github.com/kickstarter/ios-oss )
● Coordinators
● Unit testing
Why bother?
● Diversity FTW!
● Use the globalisation for our advantage
● Because we can

More Related Content

Similar to Workflow and development in globally distributed mobile teams

Using Opens Document Format in Education
Using Opens Document Format in EducationUsing Opens Document Format in Education
Using Opens Document Format in EducationShinji Enoki
 
How to Market Your Open Source Project
How to Market Your Open Source ProjectHow to Market Your Open Source Project
How to Market Your Open Source ProjectAll Things Open
 
Dojo Masters - Collaborative Writing in Distributed Teams
Dojo Masters - Collaborative Writing in Distributed TeamsDojo Masters - Collaborative Writing in Distributed Teams
Dojo Masters - Collaborative Writing in Distributed TeamsJohn Hedtke
 
Building Better FLOSS Community Relationships @ FB
Building Better  FLOSS Community Relationships @ FBBuilding Better  FLOSS Community Relationships @ FB
Building Better FLOSS Community Relationships @ FBDavide Cavalca
 
We Need to Talk: How Communication Helps Code
We Need to Talk: How Communication Helps CodeWe Need to Talk: How Communication Helps Code
We Need to Talk: How Communication Helps CodeDocker, Inc.
 
Gsoc2012 checklist
Gsoc2012 checklistGsoc2012 checklist
Gsoc2012 checklistDavid Bain
 
[Hkdug] #20151219 drupal 8 release party - drupal 8 multilingual overview
[Hkdug] #20151219   drupal 8 release party - drupal 8 multilingual overview[Hkdug] #20151219   drupal 8 release party - drupal 8 multilingual overview
[Hkdug] #20151219 drupal 8 release party - drupal 8 multilingual overviewFrancis Yan
 
Nonprofit technology common problems and some possible solutions
Nonprofit technology common problems and some possible solutionsNonprofit technology common problems and some possible solutions
Nonprofit technology common problems and some possible solutions501 Commons
 
Open source, What | Why | How
Open source, What | Why | How Open source, What | Why | How
Open source, What | Why | How Nikhil Agrawal
 
Teach colleagues accessibility - CSUN ATC 2018
Teach colleagues accessibility - CSUN ATC 2018Teach colleagues accessibility - CSUN ATC 2018
Teach colleagues accessibility - CSUN ATC 2018Tom Widerøe
 
WordPress News and #SaigonWordPress 2015 - Saigon WordPress - Jan 17, 2015
WordPress News and #SaigonWordPress 2015  - Saigon WordPress - Jan 17, 2015WordPress News and #SaigonWordPress 2015  - Saigon WordPress - Jan 17, 2015
WordPress News and #SaigonWordPress 2015 - Saigon WordPress - Jan 17, 2015Dat Hoang
 
Getting Started Contributing to Apache Spark – From PR, CR, JIRA, and Beyond
Getting Started Contributing to Apache Spark – From PR, CR, JIRA, and BeyondGetting Started Contributing to Apache Spark – From PR, CR, JIRA, and Beyond
Getting Started Contributing to Apache Spark – From PR, CR, JIRA, and BeyondDatabricks
 
To infinity and Beyond with Plone 5!
To infinity and Beyond with Plone 5!To infinity and Beyond with Plone 5!
To infinity and Beyond with Plone 5!Rikupekka Oksanen
 
Web product management tools
Web product management toolsWeb product management tools
Web product management toolsPM FastTrack
 
Web productmanagement tools
Web productmanagement toolsWeb productmanagement tools
Web productmanagement toolsDavid Kim
 
Building Better FLOSS Community Relationships @ FB
Building Better FLOSS Community Relationships @ FBBuilding Better FLOSS Community Relationships @ FB
Building Better FLOSS Community Relationships @ FBDavide Cavalca
 
I have a Great Idea for a Drupal Module! Now What? - DrupalDevDays 2023
I have a Great Idea for a Drupal Module! Now What? - DrupalDevDays 2023I have a Great Idea for a Drupal Module! Now What? - DrupalDevDays 2023
I have a Great Idea for a Drupal Module! Now What? - DrupalDevDays 2023Martin Anderson-Clutz
 

Similar to Workflow and development in globally distributed mobile teams (20)

Using Opens Document Format in Education
Using Opens Document Format in EducationUsing Opens Document Format in Education
Using Opens Document Format in Education
 
How to Market Your Open Source Project
How to Market Your Open Source ProjectHow to Market Your Open Source Project
How to Market Your Open Source Project
 
Dojo Masters - Collaborative Writing in Distributed Teams
Dojo Masters - Collaborative Writing in Distributed TeamsDojo Masters - Collaborative Writing in Distributed Teams
Dojo Masters - Collaborative Writing in Distributed Teams
 
Building Better FLOSS Community Relationships @ FB
Building Better  FLOSS Community Relationships @ FBBuilding Better  FLOSS Community Relationships @ FB
Building Better FLOSS Community Relationships @ FB
 
We Need to Talk: How Communication Helps Code
We Need to Talk: How Communication Helps CodeWe Need to Talk: How Communication Helps Code
We Need to Talk: How Communication Helps Code
 
Gsoc2012 checklist
Gsoc2012 checklistGsoc2012 checklist
Gsoc2012 checklist
 
[Hkdug] #20151219 drupal 8 release party - drupal 8 multilingual overview
[Hkdug] #20151219   drupal 8 release party - drupal 8 multilingual overview[Hkdug] #20151219   drupal 8 release party - drupal 8 multilingual overview
[Hkdug] #20151219 drupal 8 release party - drupal 8 multilingual overview
 
Nonprofit technology common problems and some possible solutions
Nonprofit technology common problems and some possible solutionsNonprofit technology common problems and some possible solutions
Nonprofit technology common problems and some possible solutions
 
Open source, What | Why | How
Open source, What | Why | How Open source, What | Why | How
Open source, What | Why | How
 
Udir final
Udir finalUdir final
Udir final
 
Teach colleagues accessibility - CSUN ATC 2018
Teach colleagues accessibility - CSUN ATC 2018Teach colleagues accessibility - CSUN ATC 2018
Teach colleagues accessibility - CSUN ATC 2018
 
Ploneide
PloneidePloneide
Ploneide
 
WordPress News and #SaigonWordPress 2015 - Saigon WordPress - Jan 17, 2015
WordPress News and #SaigonWordPress 2015  - Saigon WordPress - Jan 17, 2015WordPress News and #SaigonWordPress 2015  - Saigon WordPress - Jan 17, 2015
WordPress News and #SaigonWordPress 2015 - Saigon WordPress - Jan 17, 2015
 
Getting Started Contributing to Apache Spark – From PR, CR, JIRA, and Beyond
Getting Started Contributing to Apache Spark – From PR, CR, JIRA, and BeyondGetting Started Contributing to Apache Spark – From PR, CR, JIRA, and Beyond
Getting Started Contributing to Apache Spark – From PR, CR, JIRA, and Beyond
 
To infinity and Beyond with Plone 5!
To infinity and Beyond with Plone 5!To infinity and Beyond with Plone 5!
To infinity and Beyond with Plone 5!
 
Web product management tools
Web product management toolsWeb product management tools
Web product management tools
 
Web productmanagement tools
Web productmanagement toolsWeb productmanagement tools
Web productmanagement tools
 
Building Better FLOSS Community Relationships @ FB
Building Better FLOSS Community Relationships @ FBBuilding Better FLOSS Community Relationships @ FB
Building Better FLOSS Community Relationships @ FB
 
Project udir
Project udirProject udir
Project udir
 
I have a Great Idea for a Drupal Module! Now What? - DrupalDevDays 2023
I have a Great Idea for a Drupal Module! Now What? - DrupalDevDays 2023I have a Great Idea for a Drupal Module! Now What? - DrupalDevDays 2023
I have a Great Idea for a Drupal Module! Now What? - DrupalDevDays 2023
 

More from Paweł Rusin

R言語で統計分類基本
R言語で統計分類基本R言語で統計分類基本
R言語で統計分類基本Paweł Rusin
 
関東第3回ゼロはじめるからR言語勉強会ー グラフ
関東第3回ゼロはじめるからR言語勉強会ー グラフ関東第3回ゼロはじめるからR言語勉強会ー グラフ
関東第3回ゼロはじめるからR言語勉強会ー グラフPaweł Rusin
 
関東第2回r勉強会
関東第2回r勉強会関東第2回r勉強会
関東第2回r勉強会Paweł Rusin
 
課題 (第三回)
課題 (第三回)課題 (第三回)
課題 (第三回)Paweł Rusin
 
第三回R勉強会
第三回R勉強会第三回R勉強会
第三回R勉強会Paweł Rusin
 
第2回R勉強会1
第2回R勉強会1第2回R勉強会1
第2回R勉強会1Paweł Rusin
 

More from Paweł Rusin (8)

Rust言語紹介
Rust言語紹介Rust言語紹介
Rust言語紹介
 
LOD METI
LOD METILOD METI
LOD METI
 
R言語で統計分類基本
R言語で統計分類基本R言語で統計分類基本
R言語で統計分類基本
 
関東第3回ゼロはじめるからR言語勉強会ー グラフ
関東第3回ゼロはじめるからR言語勉強会ー グラフ関東第3回ゼロはじめるからR言語勉強会ー グラフ
関東第3回ゼロはじめるからR言語勉強会ー グラフ
 
関東第2回r勉強会
関東第2回r勉強会関東第2回r勉強会
関東第2回r勉強会
 
課題 (第三回)
課題 (第三回)課題 (第三回)
課題 (第三回)
 
第三回R勉強会
第三回R勉強会第三回R勉強会
第三回R勉強会
 
第2回R勉強会1
第2回R勉強会1第2回R勉強会1
第2回R勉強会1
 

Recently uploaded

Reviewing and summarization of university ranking system to.pptx
Reviewing and summarization of university ranking system  to.pptxReviewing and summarization of university ranking system  to.pptx
Reviewing and summarization of university ranking system to.pptxAss.Prof. Dr. Mogeeb Mosleh
 
Safety T fire missions army field Artillery
Safety T fire missions army field ArtillerySafety T fire missions army field Artillery
Safety T fire missions army field ArtilleryKennethSwanberg
 
Strategic Management, Vision Mission, Internal Analsysis
Strategic Management, Vision Mission, Internal AnalsysisStrategic Management, Vision Mission, Internal Analsysis
Strategic Management, Vision Mission, Internal Analsysistanmayarora45
 
Call now : 9892124323 Nalasopara Beautiful Call Girls Vasai virar Best Call G...
Call now : 9892124323 Nalasopara Beautiful Call Girls Vasai virar Best Call G...Call now : 9892124323 Nalasopara Beautiful Call Girls Vasai virar Best Call G...
Call now : 9892124323 Nalasopara Beautiful Call Girls Vasai virar Best Call G...Pooja Nehwal
 
Day 0- Bootcamp Roadmap for PLC Bootcamp
Day 0- Bootcamp Roadmap for PLC BootcampDay 0- Bootcamp Roadmap for PLC Bootcamp
Day 0- Bootcamp Roadmap for PLC BootcampPLCLeadershipDevelop
 
Dealing with Poor Performance - get the full picture from 3C Performance Mana...
Dealing with Poor Performance - get the full picture from 3C Performance Mana...Dealing with Poor Performance - get the full picture from 3C Performance Mana...
Dealing with Poor Performance - get the full picture from 3C Performance Mana...Hedda Bird
 
Call Now Pooja Mehta : 7738631006 Door Step Call Girls Rate 100% Satisfactio...
Call Now Pooja Mehta :  7738631006 Door Step Call Girls Rate 100% Satisfactio...Call Now Pooja Mehta :  7738631006 Door Step Call Girls Rate 100% Satisfactio...
Call Now Pooja Mehta : 7738631006 Door Step Call Girls Rate 100% Satisfactio...Pooja Nehwal
 
BDSM⚡Call Girls in Sector 99 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 99 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 99 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 99 Noida Escorts >༒8448380779 Escort ServiceDelhi Call girls
 
internal analysis on strategic management
internal analysis on strategic managementinternal analysis on strategic management
internal analysis on strategic managementharfimakarim
 
Beyond the Codes_Repositioning towards sustainable development
Beyond the Codes_Repositioning towards sustainable developmentBeyond the Codes_Repositioning towards sustainable development
Beyond the Codes_Repositioning towards sustainable developmentNimot Muili
 
Agile Coaching Change Management Framework.pptx
Agile Coaching Change Management Framework.pptxAgile Coaching Change Management Framework.pptx
Agile Coaching Change Management Framework.pptxalinstan901
 
International Ocean Transportation p.pdf
International Ocean Transportation p.pdfInternational Ocean Transportation p.pdf
International Ocean Transportation p.pdfAlejandromexEspino
 
GENUINE Babe,Call Girls IN Baderpur Delhi | +91-8377087607
GENUINE Babe,Call Girls IN Baderpur  Delhi | +91-8377087607GENUINE Babe,Call Girls IN Baderpur  Delhi | +91-8377087607
GENUINE Babe,Call Girls IN Baderpur Delhi | +91-8377087607dollysharma2066
 

Recently uploaded (15)

Reviewing and summarization of university ranking system to.pptx
Reviewing and summarization of university ranking system  to.pptxReviewing and summarization of university ranking system  to.pptx
Reviewing and summarization of university ranking system to.pptx
 
Safety T fire missions army field Artillery
Safety T fire missions army field ArtillerySafety T fire missions army field Artillery
Safety T fire missions army field Artillery
 
Strategic Management, Vision Mission, Internal Analsysis
Strategic Management, Vision Mission, Internal AnalsysisStrategic Management, Vision Mission, Internal Analsysis
Strategic Management, Vision Mission, Internal Analsysis
 
Call now : 9892124323 Nalasopara Beautiful Call Girls Vasai virar Best Call G...
Call now : 9892124323 Nalasopara Beautiful Call Girls Vasai virar Best Call G...Call now : 9892124323 Nalasopara Beautiful Call Girls Vasai virar Best Call G...
Call now : 9892124323 Nalasopara Beautiful Call Girls Vasai virar Best Call G...
 
Day 0- Bootcamp Roadmap for PLC Bootcamp
Day 0- Bootcamp Roadmap for PLC BootcampDay 0- Bootcamp Roadmap for PLC Bootcamp
Day 0- Bootcamp Roadmap for PLC Bootcamp
 
Dealing with Poor Performance - get the full picture from 3C Performance Mana...
Dealing with Poor Performance - get the full picture from 3C Performance Mana...Dealing with Poor Performance - get the full picture from 3C Performance Mana...
Dealing with Poor Performance - get the full picture from 3C Performance Mana...
 
Call Now Pooja Mehta : 7738631006 Door Step Call Girls Rate 100% Satisfactio...
Call Now Pooja Mehta :  7738631006 Door Step Call Girls Rate 100% Satisfactio...Call Now Pooja Mehta :  7738631006 Door Step Call Girls Rate 100% Satisfactio...
Call Now Pooja Mehta : 7738631006 Door Step Call Girls Rate 100% Satisfactio...
 
BDSM⚡Call Girls in Sector 99 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 99 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 99 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 99 Noida Escorts >༒8448380779 Escort Service
 
internal analysis on strategic management
internal analysis on strategic managementinternal analysis on strategic management
internal analysis on strategic management
 
Beyond the Codes_Repositioning towards sustainable development
Beyond the Codes_Repositioning towards sustainable developmentBeyond the Codes_Repositioning towards sustainable development
Beyond the Codes_Repositioning towards sustainable development
 
Abortion pills in Jeddah |• +966572737505 ] GET CYTOTEC
Abortion pills in Jeddah |• +966572737505 ] GET CYTOTECAbortion pills in Jeddah |• +966572737505 ] GET CYTOTEC
Abortion pills in Jeddah |• +966572737505 ] GET CYTOTEC
 
Agile Coaching Change Management Framework.pptx
Agile Coaching Change Management Framework.pptxAgile Coaching Change Management Framework.pptx
Agile Coaching Change Management Framework.pptx
 
International Ocean Transportation p.pdf
International Ocean Transportation p.pdfInternational Ocean Transportation p.pdf
International Ocean Transportation p.pdf
 
Intro_University_Ranking_Introduction.pptx
Intro_University_Ranking_Introduction.pptxIntro_University_Ranking_Introduction.pptx
Intro_University_Ranking_Introduction.pptx
 
GENUINE Babe,Call Girls IN Baderpur Delhi | +91-8377087607
GENUINE Babe,Call Girls IN Baderpur  Delhi | +91-8377087607GENUINE Babe,Call Girls IN Baderpur  Delhi | +91-8377087607
GENUINE Babe,Call Girls IN Baderpur Delhi | +91-8377087607
 

Workflow and development in globally distributed mobile teams

  • 1. Workflow and development in globally distributed mobile teams 海外で働く 東京 2018.02.16 Pawel Rusin
  • 2. Agenda ● Introduction ● Cookpad Global iOS project history ● Distributed teams - problems ● Distributed teams - solutions
  • 3. Introduction ● Pawel Rusin (twitter: @rusinpaw github: pauchan) ● Double majored in Robotics and Japanese studies in Cracow, Poland ● Came to Japan in February 2013 ● Bounced between iOS and Android projects ● Ads department till Sept 2016 ● Global iOS team since - team iOS ● Recently became technical product manager on Data Analysis squad
  • 4. Cookpad global iOS app highlights ● Existing project (started as 100% Objective-C) ● Converted to Swift in February 2015 ● Supports 14 different languages ● released in 148 countries
  • 5.
  • 7. Communication problems ● Physical disconnection ● Timezone differences ● Language barrier - 7 different countries (4 non-native English speakers) ● Structural boundries - while the same iOS team, different supervisors and different responsibilities
  • 8. Communication ● “It was a comunication problem” ● “I had no idea about this” ● “There was a language barrier” ● “I have no idea what you are talking about” ● “You should have told me earlier” ● “I don’t know who to ask” ● “I’ve misunderstood you”
  • 9. 1. Solutions ● Hiring ● Flex / remote ● Squads ● Github ● RFC’s ● 1-2-3’s ● Automation ● Architecture
  • 10. 1. Hiring ● “Hire good people and rest will follow” ● Right fit for the job ● good communicators ○ OSS community ○ strong peer review cultures ● structured interview
  • 11. 2. Flex / remote ● No 9 - 5 ● Resolving timezone problem by adjusting your work schedule
  • 12. 3. Squad based team structure
  • 13. 3. Squad based team structure ● Two main benefits ○ Reduces timezone and location issues ○ Reduces task division issues
  • 14. 4. GitHub as the main source of communication ● PR based workflow ○ PR’s and issues are basic place for tech discussion ○ PR’s are specs
  • 15. 4. GitHub as the main source of communication
  • 16. 4. GitHub as the main source of communication ● PR based workflow ○ PR’s and issues are basic place for tech discussion ○ PR’s are specs ● Code review as a way of knowledge sharing ● Github for onboarding / docs
  • 17. 4. GitHub as the main source of communication ● [1/4] - Very light suggestion - "You don't have to change this. I'm just mentioning it." ● [2/4] - Light suggestion - "Please consider changing this, especially if someone else feels similarly." ● [3/4] - Suggestion - "Please change this, or provide some additional reasoning behind the decision not to. However, if you feel strongly about it and we can't come to an agreement, I'm still okay with it being merged as is." ● [4/4] - Serious suggestion - "Please change this. I feel very very strongly about it. I will not approve this PR until we have come to a compromise."
  • 18. 4. GitHub as the main source of communication
  • 19. 5. RFC's ● PR with: ○ outline - what problem are you trying to solve? ○ technical highlights ○ drawbacks ○ alternatives
  • 21. 5. RFC's ● Communicate upfront ● Forces to consider alternatives ● Prepare for discusison ● History / documentation ● Tap the team knowledge pool
  • 22. 6. 1-2-3’s 1. What will you work on today? 2. What’s the next thing on your pipeline? 3. What are you filling the gaps with?
  • 25. 7. Automation ● Fastlane ○ supporting release cycle, submissions ○ beta releases and prototyping ○ translations ○ gathering productivity metrics
  • 28. 8. Architecture ● Moved from MVC to Clean Architecture ● Input - Output protocols ( https://github.com/kickstarter/ios-oss ) ● Coordinators ● Unit testing
  • 29. Why bother? ● Diversity FTW! ● Use the globalisation for our advantage ● Because we can