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

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
All Things Open
 

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 (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

The Psychology Of Motivation - Richard Brown
The Psychology Of Motivation - Richard BrownThe Psychology Of Motivation - Richard Brown
The Psychology Of Motivation - Richard Brown
SandaliGurusinghe2
 
internship thesis pakistan aeronautical complex kamra
internship thesis pakistan aeronautical complex kamrainternship thesis pakistan aeronautical complex kamra
internship thesis pakistan aeronautical complex kamra
AllTops
 
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
Nimot Muili
 
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
Abortion pills in Riyadh +966572737505 get cytotec
 

Recently uploaded (14)

The Psychology Of Motivation - Richard Brown
The Psychology Of Motivation - Richard BrownThe Psychology Of Motivation - Richard Brown
The Psychology Of Motivation - Richard Brown
 
How Software Developers Destroy Business Value.pptx
How Software Developers Destroy Business Value.pptxHow Software Developers Destroy Business Value.pptx
How Software Developers Destroy Business Value.pptx
 
internship thesis pakistan aeronautical complex kamra
internship thesis pakistan aeronautical complex kamrainternship thesis pakistan aeronautical complex kamra
internship thesis pakistan aeronautical complex kamra
 
Marketing Management 16th edition by Philip Kotler test bank.docx
Marketing Management 16th edition by Philip Kotler test bank.docxMarketing Management 16th edition by Philip Kotler test bank.docx
Marketing Management 16th edition by Philip Kotler test bank.docx
 
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
 
digital Human resource management presentation.pdf
digital Human resource management presentation.pdfdigital Human resource management presentation.pdf
digital Human resource management presentation.pdf
 
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
 
Persuasive and Communication is the art of negotiation.
Persuasive and Communication is the art of negotiation.Persuasive and Communication is the art of negotiation.
Persuasive and Communication is the art of negotiation.
 
Information Technology Project Management, Revised 7th edition test bank.docx
Information Technology Project Management, Revised 7th edition test bank.docxInformation Technology Project Management, Revised 7th edition test bank.docx
Information Technology Project Management, Revised 7th edition test bank.docx
 
International Ocean Transportation p.pdf
International Ocean Transportation p.pdfInternational Ocean Transportation p.pdf
International Ocean Transportation p.pdf
 
W.H.Bender Quote 62 - Always strive to be a Hospitality Service professional
W.H.Bender Quote 62 - Always strive to be a Hospitality Service professionalW.H.Bender Quote 62 - Always strive to be a Hospitality Service professional
W.H.Bender Quote 62 - Always strive to be a Hospitality Service professional
 
Siliguri Escorts Service Girl ^ 9332606886, WhatsApp Anytime Siliguri
Siliguri Escorts Service Girl ^ 9332606886, WhatsApp Anytime SiliguriSiliguri Escorts Service Girl ^ 9332606886, WhatsApp Anytime Siliguri
Siliguri Escorts Service Girl ^ 9332606886, WhatsApp Anytime Siliguri
 
Gautam Buddh Nagar Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Gautam Buddh Nagar Call Girls 🥰 8617370543 Service Offer VIP Hot ModelGautam Buddh Nagar Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Gautam Buddh Nagar Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
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
 

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