SlideShare a Scribd company logo
Scheduled releases
Why GetYourGuide keeps its apps on a tight release schedule
Me
iOS Engineer @ GetYourGuide GmbH
FEUP alumnus
@banaslee
GetYourGuide
• Find a tour
• Check availability
• Check reviews
• Book
• Redeem with your phone
Getting to know Porto
• > 25k activities
• > 130 countries
• 2.5M customers
• 14 languages
• Engineering offices in Berlin & Zurich
• Small product team for apps
Agenda
• Context
• Before
• Now
• Results
Native apps
Fragile environment
• Running in a sandbox
• Constrained memory
• Limited processing power
• Limited connectivity
• Crashes
Local storage
• Offline capabilities
• Often relational databases
• Data migration
Provisioning
• Apps running on device must be signed
• Registered developers
• Complicated provisioning setup
Volatile environment
• New technologies every year
• Users are constantly updating their devices
• Not the gold rush it used to be
• Keeps you on your toes
App Stores
App Stores
• Main (and mostly only) distribution channel
• Apple says 65% of downloads come from search
• Opaque ranking system
• Hard to optimise due to limited amount of data
• User acquisition is hard and expensive
Source: https://developer.apple.com/app-store/search-ads/
App approval times (iOS)
• Most apps are now reviewed in 24
hours
Source: appreviewtimes.com
0
20
40
60
80
1 2 3 4 5 6 7 8
0 days
approval time on Android
Rolling out updates
80%
users using latest version 72 hours after update on iOS / 96 hours on Android
97%
number of sessions from the 5 most recent versions
33 versions
number of different versions live during the past two weeks
Experimentation
Missions
• We have engineers, PMs and designers split in mission teams
• Missions around metrics
• Conversion
• Repeat
• Acquisition
• ...
Hypotheses & Experiments
• Build the right product
• Maximise learnings
• Smaller feedback cycles
• Improve customer experience
Apps haven’t yet fully
embraced experimentation
Before
Feature driven
• Branches to isolate unfinished features
• Builds for different quality stages
• Automated builds
• Automated testing
• Manual release
Feature driven
Attribution: https://www.atlassian.com/continuous-delivery/business-case-for-continuous-delivery
Spirits were down
• Release estimates slipped
• Scope creeping
• Failing goals
Now
Release every two weeks
• An experiment on process
• Focus on focus
• Keep a continuous stream of updates
• Fixes are not hostage of moving release
dates
• Process not new but not common on small
teams
Keep merging
• Feature toggles
• Unfinished features are merged to
master
Simpler processes
• Automated testing
• Test builds
• Localised assets
Release notes
• Copy write
• Translate
Continuous Delivery
• Every change can be pushed to the store
• Built over our CI
• Test builds
• UI tests
• Deployment pipeline
• HockeyApp
• TestFlight
• Release
Fastlane
• Toolchain for Continuous Delivery
• iOS
• A bit on Android
• Streamlined process
• Moved separate scripts under Fastlane
lanes
• Adopted Match for simpler code signing
Results
Moving faster
• 7 releases in Q2 vs 3 in Q1
• 5 experiments launched in Q2 vs 2 previously (Q1 & Q4’15)
• Smaller yet bolder experiments
• App Store features diluted some metrics
Quality & User satisfaction
• “Move fast and break things”
• Positive trend in reviews
0%
0%
1%
1%
2%
2%
November
December
January
February
March
April
May
June
Crashes/Sessions
Quality & User satisfaction
• “Move fast and break things”
• Positive trend in reviews
1 stars
2 stars
3 stars
4 stars
5 stars
6 stars
November
December
January
February
March
April
May
June
iOS Android
Quality & User satisfaction
• Secret settings screen
• Remote overrides
A solid process
• A more stable set of scripts for CI
• Scripts coverage extended
• Pushing to store
• Importing localised assets
A solid process
• Requires
• Continuous maintenance work
• Expertise in CI and testing tools
• Provides ownership of the process
Long path ahead
Attribution: http://tgos.co.uk/skills/climb-every-mountain-how-to-start-scrambling
Links
• https://appreviewtimes.com
• https://developer.apple.com/app-store/search-ads/
• https://fastlane.tools
• https://www.facebook.com/notes/facebook-engineering/timed-releases-for-mobile-
apps/10151078442213920/
• https://www.youtube.com/watch?list=PLdr22uU_wISpW6XI1J0S7Lp-X8Km-
HaQW&v=DWw1ankfqO0

More Related Content

What's hot

How and why you need to build a big data lab
How and why you need to build a big data labHow and why you need to build a big data lab
How and why you need to build a big data lab
Chris Kernaghan
 
Extreme Makeover OnBase Edition
Extreme Makeover OnBase EditionExtreme Makeover OnBase Edition
Extreme Makeover OnBase Edition
DataBank, A KYOCERA Group Company
 
Quali webinar de-mystifyind dev_ops-a practitioner’s perspective
Quali webinar de-mystifyind dev_ops-a practitioner’s perspectiveQuali webinar de-mystifyind dev_ops-a practitioner’s perspective
Quali webinar de-mystifyind dev_ops-a practitioner’s perspective
QualiQuali
 
IaC? VSTS to the rescue! Abbreviations explained
IaC? VSTS to the rescue! Abbreviations explainedIaC? VSTS to the rescue! Abbreviations explained
IaC? VSTS to the rescue! Abbreviations explained
Jeroen Niesen
 
Oracle Upgrade Project Big Rocks - Done Right!
Oracle Upgrade Project Big Rocks - Done Right!Oracle Upgrade Project Big Rocks - Done Right!
Oracle Upgrade Project Big Rocks - Done Right!
panayaofficial
 
Infragistics uses DevOps to increase customer engagment
Infragistics uses DevOps to increase customer engagmentInfragistics uses DevOps to increase customer engagment
Infragistics uses DevOps to increase customer engagment
Chris Riley ☁
 
Boosting Dev and Ops Productivity
Boosting Dev and Ops ProductivityBoosting Dev and Ops Productivity
Boosting Dev and Ops Productivity
XebiaLabs
 
DevOps is for Everyone - DevOps East
DevOps is for Everyone - DevOps EastDevOps is for Everyone - DevOps East
DevOps is for Everyone - DevOps East
Chris Riley ☁
 
Learn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research ReportLearn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research Report
Sencha
 
DevOps from a developer perspective
DevOps from a developer perspective DevOps from a developer perspective
DevOps from a developer perspective WSO2
 
Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...
Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...
Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...
Perforce
 
deliver:agile - Enable your Agile Team with Continuous Delivery Pipelines
deliver:agile - Enable your Agile Team with Continuous Delivery Pipelinesdeliver:agile - Enable your Agile Team with Continuous Delivery Pipelines
deliver:agile - Enable your Agile Team with Continuous Delivery Pipelines
Esteban Garcia
 
Qa test managed_code_varhol
Qa test managed_code_varholQa test managed_code_varhol
Qa test managed_code_varhol
Peter Varhol
 
Continuous Delivery & DevOps in the Enterprise
Continuous Delivery & DevOps in the EnterpriseContinuous Delivery & DevOps in the Enterprise
Continuous Delivery & DevOps in the Enterprise
Eberhard Wolff
 
Migration to Flows – Getting it Right!
Migration to Flows – Getting it Right!Migration to Flows – Getting it Right!
Migration to Flows – Getting it Right!
panayaofficial
 
Creating a Comprehensive Social Media App Using Ionic and Phone Gap
Creating a Comprehensive Social Media App Using Ionic and Phone GapCreating a Comprehensive Social Media App Using Ionic and Phone Gap
Creating a Comprehensive Social Media App Using Ionic and Phone Gap
FITC
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development Management
Adam Getchell
 
Overview and Demonstration of Dimensions CM 14.2 (FUG presentation track 2)
Overview and Demonstration of Dimensions CM 14.2 (FUG presentation track 2)Overview and Demonstration of Dimensions CM 14.2 (FUG presentation track 2)
Overview and Demonstration of Dimensions CM 14.2 (FUG presentation track 2)
Serena Software
 
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
Sencha
 

What's hot (20)

How and why you need to build a big data lab
How and why you need to build a big data labHow and why you need to build a big data lab
How and why you need to build a big data lab
 
Extreme Makeover OnBase Edition
Extreme Makeover OnBase EditionExtreme Makeover OnBase Edition
Extreme Makeover OnBase Edition
 
QualiSystems-Brief TestShell
QualiSystems-Brief TestShellQualiSystems-Brief TestShell
QualiSystems-Brief TestShell
 
Quali webinar de-mystifyind dev_ops-a practitioner’s perspective
Quali webinar de-mystifyind dev_ops-a practitioner’s perspectiveQuali webinar de-mystifyind dev_ops-a practitioner’s perspective
Quali webinar de-mystifyind dev_ops-a practitioner’s perspective
 
IaC? VSTS to the rescue! Abbreviations explained
IaC? VSTS to the rescue! Abbreviations explainedIaC? VSTS to the rescue! Abbreviations explained
IaC? VSTS to the rescue! Abbreviations explained
 
Oracle Upgrade Project Big Rocks - Done Right!
Oracle Upgrade Project Big Rocks - Done Right!Oracle Upgrade Project Big Rocks - Done Right!
Oracle Upgrade Project Big Rocks - Done Right!
 
Infragistics uses DevOps to increase customer engagment
Infragistics uses DevOps to increase customer engagmentInfragistics uses DevOps to increase customer engagment
Infragistics uses DevOps to increase customer engagment
 
Boosting Dev and Ops Productivity
Boosting Dev and Ops ProductivityBoosting Dev and Ops Productivity
Boosting Dev and Ops Productivity
 
DevOps is for Everyone - DevOps East
DevOps is for Everyone - DevOps EastDevOps is for Everyone - DevOps East
DevOps is for Everyone - DevOps East
 
Learn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research ReportLearn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research Report
 
DevOps from a developer perspective
DevOps from a developer perspective DevOps from a developer perspective
DevOps from a developer perspective
 
Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...
Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...
Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...
 
deliver:agile - Enable your Agile Team with Continuous Delivery Pipelines
deliver:agile - Enable your Agile Team with Continuous Delivery Pipelinesdeliver:agile - Enable your Agile Team with Continuous Delivery Pipelines
deliver:agile - Enable your Agile Team with Continuous Delivery Pipelines
 
Qa test managed_code_varhol
Qa test managed_code_varholQa test managed_code_varhol
Qa test managed_code_varhol
 
Continuous Delivery & DevOps in the Enterprise
Continuous Delivery & DevOps in the EnterpriseContinuous Delivery & DevOps in the Enterprise
Continuous Delivery & DevOps in the Enterprise
 
Migration to Flows – Getting it Right!
Migration to Flows – Getting it Right!Migration to Flows – Getting it Right!
Migration to Flows – Getting it Right!
 
Creating a Comprehensive Social Media App Using Ionic and Phone Gap
Creating a Comprehensive Social Media App Using Ionic and Phone GapCreating a Comprehensive Social Media App Using Ionic and Phone Gap
Creating a Comprehensive Social Media App Using Ionic and Phone Gap
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development Management
 
Overview and Demonstration of Dimensions CM 14.2 (FUG presentation track 2)
Overview and Demonstration of Dimensions CM 14.2 (FUG presentation track 2)Overview and Demonstration of Dimensions CM 14.2 (FUG presentation track 2)
Overview and Demonstration of Dimensions CM 14.2 (FUG presentation track 2)
 
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
 

Viewers also liked

Evolução modelos de negócio na internet.
Evolução modelos de negócio na internet.Evolução modelos de negócio na internet.
Evolução modelos de negócio na internet.
Ricardo Pofis
 
Apresentaçao swing crash
Apresentaçao swing crashApresentaçao swing crash
Apresentaçao swing crashTiago Malheiros
 
Guerreiros Sensíveis 1
Guerreiros Sensíveis 1Guerreiros Sensíveis 1
Guerreiros Sensíveis 1
Paulo Xavier
 
Set n'match
Set n'matchSet n'match
Set n'match
Pedro Santos
 
O meu querido mês de agosto
O meu querido mês de agostoO meu querido mês de agosto
O meu querido mês de agostoClaudio Costa
 
EFConsulting Empresas Familiares 30 anos Cenfim
EFConsulting Empresas Familiares 30 anos Cenfim EFConsulting Empresas Familiares 30 anos Cenfim
EFConsulting Empresas Familiares 30 anos Cenfim
António Nogueira da Costa
 
[Brazil] guia internet_marketing (1)
[Brazil] guia internet_marketing (1)[Brazil] guia internet_marketing (1)
[Brazil] guia internet_marketing (1)
Ricardo Belchior
 
Talk TEDx Vila Real - "Encontrar a Psicologia Positiva nas histórias nos dias"
Talk TEDx Vila Real - "Encontrar a Psicologia Positiva nas histórias nos dias"Talk TEDx Vila Real - "Encontrar a Psicologia Positiva nas histórias nos dias"
Talk TEDx Vila Real - "Encontrar a Psicologia Positiva nas histórias nos dias"
Edite Amorim
 
Launching tech products
Launching tech productsLaunching tech products
Launching tech products
Sérgio Santos
 
Pensar Digital
Pensar DigitalPensar Digital
Pensar Digital
Rui Rocha Costa
 
Niiiws short
Niiiws short Niiiws short
Niiiws short
João Lopes Martins
 
Apresentação Grão Torrado
Apresentação Grão TorradoApresentação Grão Torrado
Apresentação Grão Torrado
Miguel Monteiro
 
Customer Development - Entrepreneurs Break
Customer Development - Entrepreneurs BreakCustomer Development - Entrepreneurs Break
Customer Development - Entrepreneurs Break
Pedro Oliveira
 
Como produzir um artigo de referencia para a wikipedia (manuel de sousa)
Como produzir um artigo de referencia para a wikipedia (manuel de sousa)Como produzir um artigo de referencia para a wikipedia (manuel de sousa)
Como produzir um artigo de referencia para a wikipedia (manuel de sousa)
Manuel de Sousa
 
Funding ideas in a globally connected world – a social approach
Funding ideas in a globally connected world – a social approachFunding ideas in a globally connected world – a social approach
Funding ideas in a globally connected world – a social approach
Tomé Duarte
 
EC-WEB: Validator and Preview for the JobPosting Data Model of Schema.org
EC-WEB: Validator and Preview for the JobPosting Data Model of Schema.orgEC-WEB: Validator and Preview for the JobPosting Data Model of Schema.org
EC-WEB: Validator and Preview for the JobPosting Data Model of Schema.org
Jindřich Mynarz
 
ShopAlikePT_March2016_PT_Presentation
ShopAlikePT_March2016_PT_PresentationShopAlikePT_March2016_PT_Presentation
ShopAlikePT_March2016_PT_PresentationPedro de Almeida
 
Meet-Beat Your Way To Sales Growth and Productivity Improvement
Meet-Beat Your Way To  Sales Growth and Productivity ImprovementMeet-Beat Your Way To  Sales Growth and Productivity Improvement
Meet-Beat Your Way To Sales Growth and Productivity Improvement
George Evans
 
Delivering presentations - dicas de apresentação (not!)
Delivering presentations - dicas de apresentação (not!)Delivering presentations - dicas de apresentação (not!)
Delivering presentations - dicas de apresentação (not!)
Pedro Moura
 

Viewers also liked (20)

Evolução modelos de negócio na internet.
Evolução modelos de negócio na internet.Evolução modelos de negócio na internet.
Evolução modelos de negócio na internet.
 
Apresentaçao swing crash
Apresentaçao swing crashApresentaçao swing crash
Apresentaçao swing crash
 
Guerreiros Sensíveis 1
Guerreiros Sensíveis 1Guerreiros Sensíveis 1
Guerreiros Sensíveis 1
 
Set n'match
Set n'matchSet n'match
Set n'match
 
O meu querido mês de agosto
O meu querido mês de agostoO meu querido mês de agosto
O meu querido mês de agosto
 
EFConsulting Empresas Familiares 30 anos Cenfim
EFConsulting Empresas Familiares 30 anos Cenfim EFConsulting Empresas Familiares 30 anos Cenfim
EFConsulting Empresas Familiares 30 anos Cenfim
 
[Brazil] guia internet_marketing (1)
[Brazil] guia internet_marketing (1)[Brazil] guia internet_marketing (1)
[Brazil] guia internet_marketing (1)
 
Talk TEDx Vila Real - "Encontrar a Psicologia Positiva nas histórias nos dias"
Talk TEDx Vila Real - "Encontrar a Psicologia Positiva nas histórias nos dias"Talk TEDx Vila Real - "Encontrar a Psicologia Positiva nas histórias nos dias"
Talk TEDx Vila Real - "Encontrar a Psicologia Positiva nas histórias nos dias"
 
Launching tech products
Launching tech productsLaunching tech products
Launching tech products
 
Pensar Digital
Pensar DigitalPensar Digital
Pensar Digital
 
Niiiws short
Niiiws short Niiiws short
Niiiws short
 
Apresentação Grão Torrado
Apresentação Grão TorradoApresentação Grão Torrado
Apresentação Grão Torrado
 
Customer Development - Entrepreneurs Break
Customer Development - Entrepreneurs BreakCustomer Development - Entrepreneurs Break
Customer Development - Entrepreneurs Break
 
Como produzir um artigo de referencia para a wikipedia (manuel de sousa)
Como produzir um artigo de referencia para a wikipedia (manuel de sousa)Como produzir um artigo de referencia para a wikipedia (manuel de sousa)
Como produzir um artigo de referencia para a wikipedia (manuel de sousa)
 
Funding ideas in a globally connected world – a social approach
Funding ideas in a globally connected world – a social approachFunding ideas in a globally connected world – a social approach
Funding ideas in a globally connected world – a social approach
 
EC-WEB: Validator and Preview for the JobPosting Data Model of Schema.org
EC-WEB: Validator and Preview for the JobPosting Data Model of Schema.orgEC-WEB: Validator and Preview for the JobPosting Data Model of Schema.org
EC-WEB: Validator and Preview for the JobPosting Data Model of Schema.org
 
ShopAlikePT_March2016_PT_Presentation
ShopAlikePT_March2016_PT_PresentationShopAlikePT_March2016_PT_Presentation
ShopAlikePT_March2016_PT_Presentation
 
Meet-Beat Your Way To Sales Growth and Productivity Improvement
Meet-Beat Your Way To  Sales Growth and Productivity ImprovementMeet-Beat Your Way To  Sales Growth and Productivity Improvement
Meet-Beat Your Way To Sales Growth and Productivity Improvement
 
Delivering presentations - dicas de apresentação (not!)
Delivering presentations - dicas de apresentação (not!)Delivering presentations - dicas de apresentação (not!)
Delivering presentations - dicas de apresentação (not!)
 
Regulamento poupecomjamie
Regulamento poupecomjamieRegulamento poupecomjamie
Regulamento poupecomjamie
 

Similar to Scheduled releases @ Commit Porto 2016

Dev ops for mobile apps at microsoft teams
Dev ops for mobile apps at microsoft teamsDev ops for mobile apps at microsoft teams
Dev ops for mobile apps at microsoft teams
Mahesh Arali
 
Change management in hybrid landscapes
Change management in hybrid landscapesChange management in hybrid landscapes
Change management in hybrid landscapes
Chris Kernaghan
 
Continuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneContinuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at Dashlane
Dashlane
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.com
Aviran Mordo
 
MyHeritage - QA Automations in a Continuous Deployment environment
MyHeritage -  QA Automations in a Continuous Deployment environmentMyHeritage -  QA Automations in a Continuous Deployment environment
MyHeritage - QA Automations in a Continuous Deployment environment
MatanGoren
 
Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017
Chris Kernaghan
 
Continuous Delivery for Open Source Java projects
Continuous Delivery for Open Source Java projectsContinuous Delivery for Open Source Java projects
Continuous Delivery for Open Source Java projects
Tricode (part of Dept)
 
DevOps Days Ohio
DevOps Days OhioDevOps Days Ohio
DevOps Days Ohio
Kelly Looney
 
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyGartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Kelly Looney
 
MyHeritage - End 2 End testing Infra
MyHeritage - End 2 End testing InfraMyHeritage - End 2 End testing Infra
MyHeritage - End 2 End testing Infra
MatanGoren
 
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CDDevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps_Fest
 
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
DevConFu
 
Day 1.pptx
Day 1.pptxDay 1.pptx
Day 1.pptx
AshokAgarwal57
 
Lean Startup with WebObjects
Lean Startup with WebObjectsLean Startup with WebObjects
Lean Startup with WebObjects
WO Community
 
2016 09-dev opsjourney-devopsdaysoslo
2016 09-dev opsjourney-devopsdaysoslo2016 09-dev opsjourney-devopsdaysoslo
2016 09-dev opsjourney-devopsdaysoslo
Jon Arild Tørresdal
 
CI/CD for mobile at HERE
CI/CD for mobile at HERECI/CD for mobile at HERE
CI/CD for mobile at HERE
Stefan Verhoeff
 
Neotys PAC - Ian Molyneaux
Neotys PAC - Ian MolyneauxNeotys PAC - Ian Molyneaux
Neotys PAC - Ian Molyneaux
Neotys_Partner
 
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill Ayers
SPC Adriatics
 
Automated Testing – Web, Mobile, Desktop - Challenges and Successes
Automated Testing – Web, Mobile, Desktop - Challenges and SuccessesAutomated Testing – Web, Mobile, Desktop - Challenges and Successes
Automated Testing – Web, Mobile, Desktop - Challenges and Successes
Ted Drake
 

Similar to Scheduled releases @ Commit Porto 2016 (20)

Dev ops for mobile apps at microsoft teams
Dev ops for mobile apps at microsoft teamsDev ops for mobile apps at microsoft teams
Dev ops for mobile apps at microsoft teams
 
Change management in hybrid landscapes
Change management in hybrid landscapesChange management in hybrid landscapes
Change management in hybrid landscapes
 
Continuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneContinuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at Dashlane
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.com
 
MyHeritage - QA Automations in a Continuous Deployment environment
MyHeritage -  QA Automations in a Continuous Deployment environmentMyHeritage -  QA Automations in a Continuous Deployment environment
MyHeritage - QA Automations in a Continuous Deployment environment
 
Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017
 
CD
CDCD
CD
 
Continuous Delivery for Open Source Java projects
Continuous Delivery for Open Source Java projectsContinuous Delivery for Open Source Java projects
Continuous Delivery for Open Source Java projects
 
DevOps Days Ohio
DevOps Days OhioDevOps Days Ohio
DevOps Days Ohio
 
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyGartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
 
MyHeritage - End 2 End testing Infra
MyHeritage - End 2 End testing InfraMyHeritage - End 2 End testing Infra
MyHeritage - End 2 End testing Infra
 
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CDDevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
 
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
 
Day 1.pptx
Day 1.pptxDay 1.pptx
Day 1.pptx
 
Lean Startup with WebObjects
Lean Startup with WebObjectsLean Startup with WebObjects
Lean Startup with WebObjects
 
2016 09-dev opsjourney-devopsdaysoslo
2016 09-dev opsjourney-devopsdaysoslo2016 09-dev opsjourney-devopsdaysoslo
2016 09-dev opsjourney-devopsdaysoslo
 
CI/CD for mobile at HERE
CI/CD for mobile at HERECI/CD for mobile at HERE
CI/CD for mobile at HERE
 
Neotys PAC - Ian Molyneaux
Neotys PAC - Ian MolyneauxNeotys PAC - Ian Molyneaux
Neotys PAC - Ian Molyneaux
 
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill Ayers
 
Automated Testing – Web, Mobile, Desktop - Challenges and Successes
Automated Testing – Web, Mobile, Desktop - Challenges and SuccessesAutomated Testing – Web, Mobile, Desktop - Challenges and Successes
Automated Testing – Web, Mobile, Desktop - Challenges and Successes
 

Recently uploaded

openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 

Recently uploaded (20)

openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 

Scheduled releases @ Commit Porto 2016

Editor's Notes

  1. I’m a software engineer who has been building iOS apps since 2010. I also graduated at this school and I’m very pleased to be here today speaking to you all.
  2. I don’t know how many of you have heard of GetYourGuide before Commit. GetYourGuide is a marketplace for tours and activities. We sell tours but we are not a tour operator!
  3. Simpler is maybe to put you all in an hypothetical situation: consider you are in Porto for a conference and you have your Sunday free to get to know the city (pause). In this case you can check getyourguide.com and find the typical bus tour around the city, a wine tasting experience or a relaxing tour in Douro river from where you can enjoy the gorgeous views of both Porto and Gaia river shores. For any activity you can read user reviews and book on the go, from your phone, and pay with Paypal or credit card. Our app also helps you find your way to your booked activities and act as your ticket!
  4. GetYourGuide is a startup in the travel industry that has built an online marketplace for tours and activities that can be booked in advance. Largest online catalog for tours [platform to sell activities / more than 26k activities in N countries / 14 languages / user markets: Europe / UK / Australia / USA / Asia / Latin America]
  5. We have engineering offices in Berlin and Zurich. Our small apps team, has 4 front-end engineers, 2 per platform, and a back-end engineer, alongside a product manager and a designer.
  6. This talk is going to share our experience as a small team working on a tight release schedule for native apps in the travel industry. I’m not here today to show a recipe for success.
  7. Apps crash easier than webpages
  8. Not your regular front-end developer
  9. Last 14 days
  10. We at GetYourGuide aim to build our products around experiments and hypotheses.
  11. Hard to acquire users to get data
  12. Release process was overlooked because it didn’t happen so often
  13. Big teams like Facebook are doing this for some years now (many engineers working on the same app) If you have a big team and want to understand how this impacts you, there is a nice blog post from Facebook from 2012 and a very nice talk from a Spotify iOS Engineer from UIKonf 2015. They go into more detail on the benefits this brings on bigger teams.
  14. 3 months ago we decided we need to change something. As an experiment, we decided to impose a hard deadline on all of us. Every two weeks we’d be releasing an update for the app with whatever is ready to be released. <why defining a constraint on the release time?> From there it was easy to identify some things that would help us achieve that: we traded our quality checkpoints for feature toggles; some of our processes needed to happen more often, like localisation, automated testing and test builds; copywriting and translating release notes was now a bigger burden and we didn’t need it.
  15. 3 months ago we decided we need to change something. As an experiment, we decided to impose a hard deadline on all of us. Every two weeks we’d be releasing an update for the app with whatever is ready to be released. <why defining a constraint on the release time?> From there it was easy to identify some things that would help us achieve that: we traded our quality checkpoints for feature toggles; some of our processes needed to happen more often, like localisation, automated testing and test builds; copywriting and translating release notes was now a bigger burden and we didn’t need it.
  16. 3 months ago we decided we need to change something. As an experiment, we decided to impose a hard deadline on all of us. Every two weeks we’d be releasing an update for the app with whatever is ready to be released. <why defining a constraint on the release time?> From there it was easy to identify some things that would help us achieve that: we traded our quality checkpoints for feature toggles; some of our processes needed to happen more often, like localisation, automated testing and test builds; copywriting and translating release notes was now a bigger burden and we didn’t need it.
  17. We found we were actually moving towards a continuous delivery setup. I won’t cover much about CD as João has already covered much of the topics that provide you with the right context. I’ll just highlight what I believe is relevant for our use case. We had some CI in place with commits and pull requests to master triggering some automated builds; We had a deployment pipeline with HockeyApp and TestFlight, this one for iOS; We had user acceptance tests both automated and manual; We needed to do it faster and more reliably. We moved to Fastlane to streamline the release process. We started using Match to simplify signing.
  18. Started as a list of scraping tools that interacted with Apple Developer dashboard Now has a very comprehensive list of tools for shipping stuff
  19. Again, we are a small team. We believe the benefits would be an order of magnitude greater if we had double the size.