SlideShare una empresa de Scribd logo
1 de 54
Descargar para leer sin conexión
> whoami> whoami
Addicted to technology
Reads manga
Star Wars fan
Struggles to play the guitar
@MikeChernev@MikeChernev
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
> whoami> whoami
Addicted to technology
Reads manga
Star Wars fan
Struggles to play the guitar
@MikeChernev@MikeChernev
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
AgendaAgenda
1. Perspective1. Perspective
2. define: beast2. define: beast
4. Taming the beast4. Taming the beast
3. Why not3. Why not slayslay it it
5. Lessons learnt5. Lessons learnt
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
> whois bol.com> whois bol.com
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
bol.com ~ 18 years agobol.com ~ 18 years ago
One applicationOne application
One DeploymentOne Deployment
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
bol.com ~ 10 years agobol.com ~ 10 years ago
4 weeks
Time
Release cycleRelease cycle
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
bol.com ~ 5 years agobol.com ~ 5 years ago
4 weeks
Time
Release cycleRelease cycle
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
bol.com ~ 2 years agobol.com ~ 2 years ago
4 weeks
Time
Release cycleRelease cycle
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
Stuck in the past
Stuck in the past
bol.com ~ 2 years agobol.com ~ 2 years ago
Time
Release cycleRelease cycle
2 weeks 2 weeks
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
AgendaAgenda
1. Perspective1. Perspective
2. define: beast2. define: beast
4. Taming the beast4. Taming the beast
3. Why not3. Why not slayslay it it
5. Lessons learnt5. Lessons learnt
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
define: beastdefine: beast
Large monolithLarge monolith
++
Legacy systemLegacy system
UnmanageableUnmanageable
++
==
BeastBeast
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
define: beastdefine: beast
> 900 commits> 900 commits
> 70 engineers> 70 engineers
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
Slow release cycle = Slow progressSlow release cycle = Slow progress
AgendaAgenda
1. Perspective1. Perspective
2. define: beast2. define: beast
4. Taming the beast4. Taming the beast
3. Why not3. Why not slayslay it it
5. Lessons learnt5. Lessons learnt
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
AgendaAgenda
1. Perspective1. Perspective
2. define: beast2. define: beast
4. Taming the beast4. Taming the beast
3. Why not3. Why not slayslay it it
5. Lessons learnt5. Lessons learnt
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
How to tame a beast?How to tame a beast?
Through being able to change it at a fast andThrough being able to change it at a fast and
stable pacestable pace
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
Continuous DeliveryContinuous Delivery
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
Continuous Delivery (CD)Continuous Delivery (CD)
“Continuous Delivery is a software development“Continuous Delivery is a software development
discipline where you build software in such a waydiscipline where you build software in such a way
that the software can be released to production atthat the software can be released to production at
any time.”any time.”[1][1]
Martin Fowler
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
Problems with CDProblems with CD
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
Problems with CDProblems with CD
"Problems, causes and solutions when adopting"Problems, causes and solutions when adopting
continuous delivery—A systematic literature review."continuous delivery—A systematic literature review."
Laukkanen, Eero, Juha Itkonen, and Casper Lassenius.Laukkanen, Eero, Juha Itkonen, and Casper Lassenius.
Information and Software Technology 82 (2017): 55-79.Information and Software Technology 82 (2017): 55-79. [2][2]
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
Problems with CDProblems with CD
"Problems, causes and solutions when adopting"Problems, causes and solutions when adopting
continuous delivery—A systematic literature review."continuous delivery—A systematic literature review."
Laukkanen, Eero, Juha Itkonen, and Casper Lassenius.Laukkanen, Eero, Juha Itkonen, and Casper Lassenius.
Information and Software Technology 82 (2017): 55-79.Information and Software Technology 82 (2017): 55-79. [2][2]
published February 2017
(2 months after we started)
Build design Complex build, inflexible build
System design System modularization, unsuitable architecture, internal dependencies, database
schema changes
Integration Large commits, merge conflicts, broken build, work blockage, long-running
branches, broken development flow, slow integration approval
Testing Ambiguous test result, flaky tests, time-consuming testing, hardware testing, multi-
platform testing, UI testing, untestable code, problematic deployment, complex
testing
Release Customer data preservation, documentation, feature discovery, marketing, more
deployed bugs, third party integration, users do not like updates, deployment downtime
Human and
organizational
Lack of discipline, lack of motivation, lack of experience, more pressure, changing
roles, team coordination, organizational structure
Resource Effort, insufficient hardware resources, network latencies
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
Problems with CDProblems with CD
 
Integration                                merge conflicts,                             work blockage, long-running
branches,
Testing                                              flaky tests, time-consuming testing,
                                                                                          problematic deployment,
 
Release                                                                                           feature discovery,
 
Human and
organizational
Lack of discipline, lack of motivation, lack of experience,
            team coordination, 
Build design Complex build, inflexible build
System design System modularization, unsuitable architecture, internal dependencies, database
schema changes
Integration Large commits,                                     broken build,
                      broken development flow, slow integration approval
Testing Ambiguous test result,                                                                               hardware testing, multi-
platform testing, UI testing, untestable code,                                                        complex
testing
Release Customer data preservation, documentation,                                        marketing, more
deployed bugs, third party integration, users do not like updates, deployment downtime
Human and
organizational
                                                                                                                          more pressure, changing
roles,                                           organizational structure
Resource Effort, insufficient hardware resources, network latencies
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
Problems with CDProblems with CD (for our application)(for our application)
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
Flaky Tests, Time-consuming testingFlaky Tests, Time-consuming testing
ProblemProblem
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
Flaky Tests, Time-consuming testingFlaky Tests, Time-consuming testing
SolutionSolution
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
Flaky Tests, Time-consuming testingFlaky Tests, Time-consuming testing
ResultResult
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
Lack of discipline, lack of motivation, lack of experienceLack of discipline, lack of motivation, lack of experience
ProblemProblem
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
Lack of discipline, lack of motivation, lack of experienceLack of discipline, lack of motivation, lack of experience
ProblemProblem
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
Lack of discipline, lack of motivation, lack of experienceLack of discipline, lack of motivation, lack of experience
SolutionSolution
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
Lack of discipline, lack of motivation, lack of experienceLack of discipline, lack of motivation, lack of experience
ResultResult
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
Long running branches, merge conflicts, work blockageLong running branches, merge conflicts, work blockage
ProblemProblem
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
Long running branches, merge conflicts, work blockageLong running branches, merge conflicts, work blockage
SolutionSolution
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
Long running branches, merge conflicts, work blockageLong running branches, merge conflicts, work blockage
ResultResult
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
Feature discovery, team coordination, problematic deploymentsFeature discovery, team coordination, problematic deployments
ProblemProblem
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
SolutionSolution
Feature discovery, team coordination, problematic deploymentsFeature discovery, team coordination, problematic deployments
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
ResultResult
Feature discovery, team coordination, problematic deploymentsFeature discovery, team coordination, problematic deployments
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
Lack of discipline, lack of motivation, lack of experienceLack of discipline, lack of motivation, lack of experience
ProblemProblem
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
ResultsResults
30 releases instead of 430 releases instead of 4
446 features realeased446 features realeased
TTL 4 days vs 1.5 weeksTTL 4 days vs 1.5 weeks
AgendaAgenda
1. Perspective1. Perspective
2. define: beast2. define: beast
4. Taming the beast4. Taming the beast
3. Why not3. Why not slayslay it it
4a. A look into the future4a. A look into the future
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
5. Lessons learnt5. Lessons learnt
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
What's next?What's next?
“The past is always tense,“The past is always tense,
the future perfect.”the future perfect.”
 Zadie Smith Zadie Smith
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
What's next?What's next?
[3] [4] [5]
"Rapid release       "Rapid release       
at massive scale"at massive scale"[3][3]
[4]
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
Feature togglesFeature toggles
““Feature Toggles       Feature Toggles       
(aka Feature Flags)(aka Feature Flags)””[6][6]
Martin Fowler
AgendaAgenda
1. Perspective1. Perspective
2. define: beast2. define: beast
4. Taming the beast4. Taming the beast
3. Why not3. Why not slayslay it it
5. Lessons learnt5. Lessons learnt
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
Stable and reliable tests suiteStable and reliable tests suite
Proper branching strategyProper branching strategy
Lessons learntLessons learnt
Visibility on your pipelineVisibility on your pipeline
Effective communicationEffective communication
Stable and reliable tests suiteStable and reliable tests suite
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
TeamTeam
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
Thank you!Thank you!
Questions?Questions?
@MikeChernevCodemotion Amsterdam 2018: Taming a beast
ReferencesReferences
[1] https://martinfowler.com/bliki/ContinuousDelivery.html
[2] https://doi.org/10.1016/j.infsof.2016.10.001
[3] https://code.facebook.com/posts/270314900139291/rapid-
release-at-massive-scale
[4] https://blog.launchdarkly.com/toggle-talk-with-josh-wills
[5] https://blogs.dropbox.com/tech/2017/03/introducing-
stormcrow
[6] https://martinfowler.com/articles/feature-toggles.html

Más contenido relacionado

Similar a Taming a beast - Bol.com's journey from deploying once a month to more then once a day - Mike Chernev - Codemotion Amsterdam 2018

Blunders in Test Automation
Blunders in Test AutomationBlunders in Test Automation
Blunders in Test AutomationTechWell
 
Leading Your DevOps Enterprise Journey
Leading Your DevOps Enterprise JourneyLeading Your DevOps Enterprise Journey
Leading Your DevOps Enterprise JourneyCA Technologies
 
Mindtrek 2015 - Tampere Finland
Mindtrek 2015 - Tampere Finland Mindtrek 2015 - Tampere Finland
Mindtrek 2015 - Tampere Finland Panos Fitsilis
 
“Responsible AI: Tools and Frameworks for Developing AI Solutions,” a Present...
“Responsible AI: Tools and Frameworks for Developing AI Solutions,” a Present...“Responsible AI: Tools and Frameworks for Developing AI Solutions,” a Present...
“Responsible AI: Tools and Frameworks for Developing AI Solutions,” a Present...Edge AI and Vision Alliance
 
BeaconsAI engr 245 lean launchpad stanford 2019
BeaconsAI engr 245 lean launchpad stanford 2019BeaconsAI engr 245 lean launchpad stanford 2019
BeaconsAI engr 245 lean launchpad stanford 2019Stanford University
 
I build the future - Agile 2014
I build the future - Agile 2014I build the future - Agile 2014
I build the future - Agile 2014Andrew Shafer
 
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...ACM Chicago
 
Intelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software EngineeringIntelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software EngineeringTao Xie
 
Machine Learning for Auditors
Machine Learning for AuditorsMachine Learning for Auditors
Machine Learning for AuditorsAndrew Clark
 
Practical Cyber: Lessons from 500,000 Miles of Security Evangelism
Practical Cyber: Lessons from 500,000 Miles of Security EvangelismPractical Cyber: Lessons from 500,000 Miles of Security Evangelism
Practical Cyber: Lessons from 500,000 Miles of Security EvangelismBen Johnson
 
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...Daniel Zivkovic
 
Surge engr 245 lean launchpad stanford 2020
Surge engr 245 lean launchpad stanford 2020Surge engr 245 lean launchpad stanford 2020
Surge engr 245 lean launchpad stanford 2020Stanford University
 
Software Craftsmanship - It's an Imperative
Software Craftsmanship - It's an ImperativeSoftware Craftsmanship - It's an Imperative
Software Craftsmanship - It's an ImperativeFadi Stephan
 
Fallacy of Fast
Fallacy of FastFallacy of Fast
Fallacy of FastFastly
 
Continuous Acceleration with a Software Supply Chain Approach
Continuous Acceleration with a Software Supply Chain ApproachContinuous Acceleration with a Software Supply Chain Approach
Continuous Acceleration with a Software Supply Chain ApproachSonatype
 
BSides London 2018 - Solving Threat Detection
BSides London 2018 - Solving Threat DetectionBSides London 2018 - Solving Threat Detection
BSides London 2018 - Solving Threat DetectionAlex Davies
 
Can we induce change with what we measure?
Can we induce change with what we measure?Can we induce change with what we measure?
Can we induce change with what we measure?Michaela Greiler
 
Adversary Driven Defense in the Real World
Adversary Driven Defense in the Real WorldAdversary Driven Defense in the Real World
Adversary Driven Defense in the Real WorldJames Wickett
 

Similar a Taming a beast - Bol.com's journey from deploying once a month to more then once a day - Mike Chernev - Codemotion Amsterdam 2018 (20)

Blunders in Test Automation
Blunders in Test AutomationBlunders in Test Automation
Blunders in Test Automation
 
Leading Your DevOps Enterprise Journey
Leading Your DevOps Enterprise JourneyLeading Your DevOps Enterprise Journey
Leading Your DevOps Enterprise Journey
 
Mindtrek 2015 - Tampere Finland
Mindtrek 2015 - Tampere Finland Mindtrek 2015 - Tampere Finland
Mindtrek 2015 - Tampere Finland
 
Lean Hunting
Lean HuntingLean Hunting
Lean Hunting
 
“Responsible AI: Tools and Frameworks for Developing AI Solutions,” a Present...
“Responsible AI: Tools and Frameworks for Developing AI Solutions,” a Present...“Responsible AI: Tools and Frameworks for Developing AI Solutions,” a Present...
“Responsible AI: Tools and Frameworks for Developing AI Solutions,” a Present...
 
BeaconsAI engr 245 lean launchpad stanford 2019
BeaconsAI engr 245 lean launchpad stanford 2019BeaconsAI engr 245 lean launchpad stanford 2019
BeaconsAI engr 245 lean launchpad stanford 2019
 
I build the future - Agile 2014
I build the future - Agile 2014I build the future - Agile 2014
I build the future - Agile 2014
 
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
 
Intelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software EngineeringIntelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software Engineering
 
Machine Learning for Auditors
Machine Learning for AuditorsMachine Learning for Auditors
Machine Learning for Auditors
 
Practical Cyber: Lessons from 500,000 Miles of Security Evangelism
Practical Cyber: Lessons from 500,000 Miles of Security EvangelismPractical Cyber: Lessons from 500,000 Miles of Security Evangelism
Practical Cyber: Lessons from 500,000 Miles of Security Evangelism
 
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
 
Surge engr 245 lean launchpad stanford 2020
Surge engr 245 lean launchpad stanford 2020Surge engr 245 lean launchpad stanford 2020
Surge engr 245 lean launchpad stanford 2020
 
Software Craftsmanship - It's an Imperative
Software Craftsmanship - It's an ImperativeSoftware Craftsmanship - It's an Imperative
Software Craftsmanship - It's an Imperative
 
Fallacy of Fast
Fallacy of FastFallacy of Fast
Fallacy of Fast
 
ODSC East 2018
ODSC East 2018ODSC East 2018
ODSC East 2018
 
Continuous Acceleration with a Software Supply Chain Approach
Continuous Acceleration with a Software Supply Chain ApproachContinuous Acceleration with a Software Supply Chain Approach
Continuous Acceleration with a Software Supply Chain Approach
 
BSides London 2018 - Solving Threat Detection
BSides London 2018 - Solving Threat DetectionBSides London 2018 - Solving Threat Detection
BSides London 2018 - Solving Threat Detection
 
Can we induce change with what we measure?
Can we induce change with what we measure?Can we induce change with what we measure?
Can we induce change with what we measure?
 
Adversary Driven Defense in the Real World
Adversary Driven Defense in the Real WorldAdversary Driven Defense in the Real World
Adversary Driven Defense in the Real World
 

Más de Codemotion

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaCodemotion
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserCodemotion
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
 

Más de Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 

Último

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 

Último (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Taming a beast - Bol.com's journey from deploying once a month to more then once a day - Mike Chernev - Codemotion Amsterdam 2018

  • 1.
  • 2. > whoami> whoami Addicted to technology Reads manga Star Wars fan Struggles to play the guitar @MikeChernev@MikeChernev @MikeChernevCodemotion Amsterdam 2018: Taming a beast
  • 3. > whoami> whoami Addicted to technology Reads manga Star Wars fan Struggles to play the guitar @MikeChernev@MikeChernev @MikeChernevCodemotion Amsterdam 2018: Taming a beast
  • 4.
  • 5. AgendaAgenda 1. Perspective1. Perspective 2. define: beast2. define: beast 4. Taming the beast4. Taming the beast 3. Why not3. Why not slayslay it it 5. Lessons learnt5. Lessons learnt @MikeChernevCodemotion Amsterdam 2018: Taming a beast
  • 6. > whois bol.com> whois bol.com @MikeChernevCodemotion Amsterdam 2018: Taming a beast
  • 7. bol.com ~ 18 years agobol.com ~ 18 years ago One applicationOne application One DeploymentOne Deployment @MikeChernevCodemotion Amsterdam 2018: Taming a beast
  • 8. bol.com ~ 10 years agobol.com ~ 10 years ago 4 weeks Time Release cycleRelease cycle @MikeChernevCodemotion Amsterdam 2018: Taming a beast
  • 9. bol.com ~ 5 years agobol.com ~ 5 years ago 4 weeks Time Release cycleRelease cycle @MikeChernevCodemotion Amsterdam 2018: Taming a beast
  • 10. bol.com ~ 2 years agobol.com ~ 2 years ago 4 weeks Time Release cycleRelease cycle @MikeChernevCodemotion Amsterdam 2018: Taming a beast
  • 11.
  • 12. Stuck in the past Stuck in the past
  • 13. bol.com ~ 2 years agobol.com ~ 2 years ago Time Release cycleRelease cycle 2 weeks 2 weeks @MikeChernevCodemotion Amsterdam 2018: Taming a beast
  • 14. AgendaAgenda 1. Perspective1. Perspective 2. define: beast2. define: beast 4. Taming the beast4. Taming the beast 3. Why not3. Why not slayslay it it 5. Lessons learnt5. Lessons learnt @MikeChernevCodemotion Amsterdam 2018: Taming a beast
  • 15. define: beastdefine: beast Large monolithLarge monolith ++ Legacy systemLegacy system UnmanageableUnmanageable ++ == BeastBeast @MikeChernevCodemotion Amsterdam 2018: Taming a beast
  • 16. define: beastdefine: beast > 900 commits> 900 commits > 70 engineers> 70 engineers @MikeChernevCodemotion Amsterdam 2018: Taming a beast
  • 17.
  • 18. Slow release cycle = Slow progressSlow release cycle = Slow progress
  • 19. AgendaAgenda 1. Perspective1. Perspective 2. define: beast2. define: beast 4. Taming the beast4. Taming the beast 3. Why not3. Why not slayslay it it 5. Lessons learnt5. Lessons learnt @MikeChernevCodemotion Amsterdam 2018: Taming a beast
  • 20. AgendaAgenda 1. Perspective1. Perspective 2. define: beast2. define: beast 4. Taming the beast4. Taming the beast 3. Why not3. Why not slayslay it it 5. Lessons learnt5. Lessons learnt @MikeChernevCodemotion Amsterdam 2018: Taming a beast
  • 21. How to tame a beast?How to tame a beast? Through being able to change it at a fast andThrough being able to change it at a fast and stable pacestable pace @MikeChernevCodemotion Amsterdam 2018: Taming a beast
  • 23. Continuous Delivery (CD)Continuous Delivery (CD) “Continuous Delivery is a software development“Continuous Delivery is a software development discipline where you build software in such a waydiscipline where you build software in such a way that the software can be released to production atthat the software can be released to production at any time.”any time.”[1][1] Martin Fowler @MikeChernevCodemotion Amsterdam 2018: Taming a beast
  • 24.
  • 25. @MikeChernevCodemotion Amsterdam 2018: Taming a beast Problems with CDProblems with CD
  • 26. @MikeChernevCodemotion Amsterdam 2018: Taming a beast Problems with CDProblems with CD "Problems, causes and solutions when adopting"Problems, causes and solutions when adopting continuous delivery—A systematic literature review."continuous delivery—A systematic literature review." Laukkanen, Eero, Juha Itkonen, and Casper Lassenius.Laukkanen, Eero, Juha Itkonen, and Casper Lassenius. Information and Software Technology 82 (2017): 55-79.Information and Software Technology 82 (2017): 55-79. [2][2]
  • 27. @MikeChernevCodemotion Amsterdam 2018: Taming a beast Problems with CDProblems with CD "Problems, causes and solutions when adopting"Problems, causes and solutions when adopting continuous delivery—A systematic literature review."continuous delivery—A systematic literature review." Laukkanen, Eero, Juha Itkonen, and Casper Lassenius.Laukkanen, Eero, Juha Itkonen, and Casper Lassenius. Information and Software Technology 82 (2017): 55-79.Information and Software Technology 82 (2017): 55-79. [2][2] published February 2017 (2 months after we started)
  • 28. Build design Complex build, inflexible build System design System modularization, unsuitable architecture, internal dependencies, database schema changes Integration Large commits, merge conflicts, broken build, work blockage, long-running branches, broken development flow, slow integration approval Testing Ambiguous test result, flaky tests, time-consuming testing, hardware testing, multi- platform testing, UI testing, untestable code, problematic deployment, complex testing Release Customer data preservation, documentation, feature discovery, marketing, more deployed bugs, third party integration, users do not like updates, deployment downtime Human and organizational Lack of discipline, lack of motivation, lack of experience, more pressure, changing roles, team coordination, organizational structure Resource Effort, insufficient hardware resources, network latencies @MikeChernevCodemotion Amsterdam 2018: Taming a beast Problems with CDProblems with CD
  • 29.   Integration                                merge conflicts,                             work blockage, long-running branches, Testing                                              flaky tests, time-consuming testing,                                                                                           problematic deployment,   Release                                                                                           feature discovery,   Human and organizational Lack of discipline, lack of motivation, lack of experience,             team coordination,  Build design Complex build, inflexible build System design System modularization, unsuitable architecture, internal dependencies, database schema changes Integration Large commits,                                     broken build,                       broken development flow, slow integration approval Testing Ambiguous test result,                                                                               hardware testing, multi- platform testing, UI testing, untestable code,                                                        complex testing Release Customer data preservation, documentation,                                        marketing, more deployed bugs, third party integration, users do not like updates, deployment downtime Human and organizational                                                                                                                           more pressure, changing roles,                                           organizational structure Resource Effort, insufficient hardware resources, network latencies @MikeChernevCodemotion Amsterdam 2018: Taming a beast Problems with CDProblems with CD (for our application)(for our application)
  • 30. @MikeChernevCodemotion Amsterdam 2018: Taming a beast Flaky Tests, Time-consuming testingFlaky Tests, Time-consuming testing ProblemProblem
  • 31. @MikeChernevCodemotion Amsterdam 2018: Taming a beast Flaky Tests, Time-consuming testingFlaky Tests, Time-consuming testing SolutionSolution
  • 32. @MikeChernevCodemotion Amsterdam 2018: Taming a beast Flaky Tests, Time-consuming testingFlaky Tests, Time-consuming testing ResultResult
  • 33. @MikeChernevCodemotion Amsterdam 2018: Taming a beast Lack of discipline, lack of motivation, lack of experienceLack of discipline, lack of motivation, lack of experience ProblemProblem
  • 34. @MikeChernevCodemotion Amsterdam 2018: Taming a beast Lack of discipline, lack of motivation, lack of experienceLack of discipline, lack of motivation, lack of experience ProblemProblem
  • 35. @MikeChernevCodemotion Amsterdam 2018: Taming a beast Lack of discipline, lack of motivation, lack of experienceLack of discipline, lack of motivation, lack of experience SolutionSolution
  • 36. @MikeChernevCodemotion Amsterdam 2018: Taming a beast Lack of discipline, lack of motivation, lack of experienceLack of discipline, lack of motivation, lack of experience ResultResult
  • 37. @MikeChernevCodemotion Amsterdam 2018: Taming a beast Long running branches, merge conflicts, work blockageLong running branches, merge conflicts, work blockage ProblemProblem
  • 38. @MikeChernevCodemotion Amsterdam 2018: Taming a beast Long running branches, merge conflicts, work blockageLong running branches, merge conflicts, work blockage SolutionSolution
  • 39. @MikeChernevCodemotion Amsterdam 2018: Taming a beast Long running branches, merge conflicts, work blockageLong running branches, merge conflicts, work blockage ResultResult
  • 40. @MikeChernevCodemotion Amsterdam 2018: Taming a beast Feature discovery, team coordination, problematic deploymentsFeature discovery, team coordination, problematic deployments ProblemProblem
  • 41. @MikeChernevCodemotion Amsterdam 2018: Taming a beast SolutionSolution Feature discovery, team coordination, problematic deploymentsFeature discovery, team coordination, problematic deployments
  • 42. @MikeChernevCodemotion Amsterdam 2018: Taming a beast ResultResult Feature discovery, team coordination, problematic deploymentsFeature discovery, team coordination, problematic deployments
  • 43.
  • 44. @MikeChernevCodemotion Amsterdam 2018: Taming a beast Lack of discipline, lack of motivation, lack of experienceLack of discipline, lack of motivation, lack of experience ProblemProblem
  • 45. @MikeChernevCodemotion Amsterdam 2018: Taming a beast ResultsResults 30 releases instead of 430 releases instead of 4 446 features realeased446 features realeased TTL 4 days vs 1.5 weeksTTL 4 days vs 1.5 weeks
  • 46. AgendaAgenda 1. Perspective1. Perspective 2. define: beast2. define: beast 4. Taming the beast4. Taming the beast 3. Why not3. Why not slayslay it it 4a. A look into the future4a. A look into the future @MikeChernevCodemotion Amsterdam 2018: Taming a beast 5. Lessons learnt5. Lessons learnt
  • 47. @MikeChernevCodemotion Amsterdam 2018: Taming a beast What's next?What's next? “The past is always tense,“The past is always tense, the future perfect.”the future perfect.”  Zadie Smith Zadie Smith
  • 48. @MikeChernevCodemotion Amsterdam 2018: Taming a beast What's next?What's next? [3] [4] [5] "Rapid release       "Rapid release        at massive scale"at massive scale"[3][3] [4]
  • 49. @MikeChernevCodemotion Amsterdam 2018: Taming a beast Feature togglesFeature toggles ““Feature Toggles       Feature Toggles        (aka Feature Flags)(aka Feature Flags)””[6][6] Martin Fowler
  • 50. AgendaAgenda 1. Perspective1. Perspective 2. define: beast2. define: beast 4. Taming the beast4. Taming the beast 3. Why not3. Why not slayslay it it 5. Lessons learnt5. Lessons learnt @MikeChernevCodemotion Amsterdam 2018: Taming a beast
  • 51. @MikeChernevCodemotion Amsterdam 2018: Taming a beast Stable and reliable tests suiteStable and reliable tests suite Proper branching strategyProper branching strategy Lessons learntLessons learnt Visibility on your pipelineVisibility on your pipeline Effective communicationEffective communication Stable and reliable tests suiteStable and reliable tests suite
  • 52. @MikeChernevCodemotion Amsterdam 2018: Taming a beast TeamTeam
  • 53. @MikeChernevCodemotion Amsterdam 2018: Taming a beast Thank you!Thank you! Questions?Questions?
  • 54. @MikeChernevCodemotion Amsterdam 2018: Taming a beast ReferencesReferences [1] https://martinfowler.com/bliki/ContinuousDelivery.html [2] https://doi.org/10.1016/j.infsof.2016.10.001 [3] https://code.facebook.com/posts/270314900139291/rapid- release-at-massive-scale [4] https://blog.launchdarkly.com/toggle-talk-with-josh-wills [5] https://blogs.dropbox.com/tech/2017/03/introducing- stormcrow [6] https://martinfowler.com/articles/feature-toggles.html