SlideShare a Scribd company logo
Continuous Deployment
Declan Whelan
Shawn Button
through technical excellence
Continuous Deployment
Declan Whelan
Shawn Button
through technical excellence
Who We Are
Declan Whelan and Shawn Button
are developers and technical coaches.
Find us at www.leanintuit.com
Agenda
• What Continuous Deployment feels like.
• What is necessary for CD.
• What we often see as the missing pieces.
• Aiming for CD.
• Steps to CD success.
What Is Continuous Delivery
“Continuous delivery is a software
engineering approach in which teams
produce software in short cycles,
ensuring that the software can be
reliably released at any time.”
- Wikipedia
What Is Continuous Deployment
“Continuous deployment is
continuous delivery plus the code
always goes to production.”
- Us
Make Continuous Deployment Your Goal
If there’s one thing to take from this today, we hope it be this:
Make Continuous Deployment your goal.

Every time you are faced with a decision ask yourselves:
“Will this take us closer to Continuous Deployment?”
What is required for Continuous Deployment?
Version
Control
Build/Deploy
Pipelines
Infrastructure
as Code
Frequent,
safe code
updates
Separation of
rollout and
activation
Good
Observability
What is required for Continuous Deployment?
Version
Control
Build/Deploy
Pipelines
Infrastructure
as Code
Frequent,
safe code
updates
Separation of
rollout and
activation
Good
Observability
A Lot of DevOps Initiatives Focus on These
What is required for Continuous Deployment?
Version
Control
Build/Deploy
Pipelines
Infrastructure
as Code
Frequent,
safe code
updates
Separation of
rollout and
activation
Good
Observability
A Lot of DevOps Initiatives Focus on These
This is Ignored
“A Tool Will Solve Our Problem” - Developers, Always
Frequent, Safe, Small Code Updates
Requires changes to how we:
" Test
" Code
" Organize ourselves
" Plan and execute
" Learn
Continuous Deployment
monitor
operate
activate
rollout
build
commit
integration
test
unit
test
code
plan
dev ops
Let’s focus on the “dev” loop
build
end to
end test
integration
test
unit
test
code
plan
dev
Shift quality left
Move quality checks upstream
build
end to
end test
integration
test
unit
test
codeplan
Planning: 3 amigos story writing
Product owner / BA Developer Tester
hmmm … 

what edge cases

might there be?
hmmm … 

how I simplify this?
hmmm … 

how can I make

my customers

more awesome?
Story writing is a team effort
From User Story Mapping, by Jeff Patton (O’Reilly, 2014)
Smaller stories, limiting WIP
https://leankit.com//uploads/images/general/_large/WIPLimitsCauses.jpg
Code Quality
We see a lot of code from a lot of different contexts.
We consider most of the code we see to be of insufficient quality to be
safe in continuous deployment.
It might have been fine when we were releasing bi-monthly. We had
long manual integration and testing cycles. Not now.
What do we need?
A Tool!
Code Quality
Code Quality
You need a broad-based approach to improving code quality:
" Don’t trade quality for short-term delivery speed.
" Pair and mob
" Adopt Test-Driven Development
" Make time for refactoring, and re-design
" Foster team code standards and conventions
" Establish enterprise code standards
" Hold technical training and bring in technical coaches (shameless plug)
" Run coding/testing book/video clubs
" Hold hack-a-thons
" Foster diversity
" Do regular root-cause analysis of failures and bugs
" Use linters and static code analysis tools
" …
From https://nvie.com/posts/a-successful-git-branching-model/
Branches
Complicated branching
shenanigans slow you
down, without improving
safety.
Developers always push
to Master.
Which always goes into
production.
From https://www.semanticscholar.org/paper/Reviewer-recommendation-for-pull-requests-in-What-Yu-Wang/9b4df30d4019ad196ca0d5c34b8ef6ae5e5fc7ca
Code Reviews
Code Reviews
Code Reviews
Code reviews do improve safety, but slow you down.
" Developers can mob or pair instead:
" Problems are found and fixed immediately.
" Learning is vastly increased. Team members help each other
improve.
" The team develops a shared code style.
" etc.
" (If you can’t mob or pair yet, please STILL DO CODE REVIEWS)
Mobbing
Impediments to CD
" existing technical debt

" ineffective development practices

" hand-offs

" schedule pressure
Key Metrics
In the book Accelerate by Forsgren, et al., they describe four key
software delivery metrics:
" Lead time for changes
" Time from check-in to production

" Deployment frequency
" How often code is deployed to production

" Time to restore service
" Mean time to recover from failure (MTTR)

" Change failure rate
" How often changes require a fix or rollback
Step to CD success
" metrics: we suggest starting with deployment frequency

" empathy: focus on areas where team has passion or pain

" learning: while doing work and focused learning sessions
" have team identify and remove impediments
" start with managers or Scrum Masters helping
" over time teams own this

" small experiments: reflect and adjust
" keep asking “..will this take us closer to Continuous Deployment? ”
Improve Incrementally
“If an organization currently delivers to
production every 6 months, it is sadistic to
expect them to release in 2 weeks”
- paraphrased from Mary Poppendieck
Improve Incrementally - Experiments
Keep asking …
“Will this take us closer to
Continuous Deployment? ”
Continuous Deployment
Declan Whelan
Shawn Button
through technical excellence

More Related Content

What's hot

DrupalCon 2013 Making Support Fun & Profitable
DrupalCon 2013 Making Support Fun & ProfitableDrupalCon 2013 Making Support Fun & Profitable
DrupalCon 2013 Making Support Fun & Profitable
Promet Source
 
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanBehavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
QA or the Highway
 
Teaching Kids Programming
Teaching Kids ProgrammingTeaching Kids Programming
Teaching Kids Programming
Lynn Langit
 
ReleaseIQ's Next Gen Enterprise Devops Platform Webinar Slides
ReleaseIQ's  Next Gen Enterprise Devops Platform Webinar SlidesReleaseIQ's  Next Gen Enterprise Devops Platform Webinar Slides
ReleaseIQ's Next Gen Enterprise Devops Platform Webinar Slides
Wayne Greene
 
Scrum And The Enterprise
Scrum And The EnterpriseScrum And The Enterprise
Scrum And The Enterprise
James Peckham
 
Scrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful deliveryScrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful delivery
Naveen Kumar Singh
 
Continuous testing the new must have skill of tomorrow's tech leaders
Continuous testing  the new must have skill of tomorrow's tech leadersContinuous testing  the new must have skill of tomorrow's tech leaders
Continuous testing the new must have skill of tomorrow's tech leaders
Nadav Yeheskel - Looking for a Test/QA engineer
 
User Stories
User StoriesUser Stories
User Stories
James Peckham
 
Agile Software Development for Non-Developers
Agile Software Development for Non-DevelopersAgile Software Development for Non-Developers
Agile Software Development for Non-Developers
hamvocke
 
Trends in Agile Testing by Lisa Crispin
Trends in Agile Testing by Lisa CrispinTrends in Agile Testing by Lisa Crispin
Trends in Agile Testing by Lisa Crispin
Directi Group
 
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...
Ho Chi Minh City Software Testing Club
 
An Introduction to XP and Agile
An Introduction to XP and AgileAn Introduction to XP and Agile
An Introduction to XP and Agile
Jason Yip
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
Preetam Palwe
 
Is Test Planning a lost art in Agile? by Michelle Williams
Is Test Planning a lost art in Agile? by Michelle WilliamsIs Test Planning a lost art in Agile? by Michelle Williams
Is Test Planning a lost art in Agile? by Michelle Williams
QA or the Highway
 
Agile Technical Leadership
Agile Technical LeadershipAgile Technical Leadership
Agile Technical Leadership
Alexandru Bolboaca
 
Hey You Got Your TDD in my SQL DB by Jeff McKenzie
Hey You Got Your TDD in my SQL DB by Jeff McKenzieHey You Got Your TDD in my SQL DB by Jeff McKenzie
Hey You Got Your TDD in my SQL DB by Jeff McKenzie
QA or the Highway
 
Test-Driven Development
Test-Driven DevelopmentTest-Driven Development
Test-Driven Development
adrianmitev
 
ScrumOps - Scrum + Practical DevOps
ScrumOps - Scrum + Practical DevOpsScrumOps - Scrum + Practical DevOps
ScrumOps - Scrum + Practical DevOps
Naveen Kumar Singh
 
Outside-in Testing in Vue with Cypress
Outside-in Testing in Vue with CypressOutside-in Testing in Vue with Cypress
Outside-in Testing in Vue with Cypress
Josh Justice
 
Pair Programming Presentation
Pair Programming PresentationPair Programming Presentation
Pair Programming Presentation
ThoughtWorks
 

What's hot (20)

DrupalCon 2013 Making Support Fun & Profitable
DrupalCon 2013 Making Support Fun & ProfitableDrupalCon 2013 Making Support Fun & Profitable
DrupalCon 2013 Making Support Fun & Profitable
 
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanBehavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
 
Teaching Kids Programming
Teaching Kids ProgrammingTeaching Kids Programming
Teaching Kids Programming
 
ReleaseIQ's Next Gen Enterprise Devops Platform Webinar Slides
ReleaseIQ's  Next Gen Enterprise Devops Platform Webinar SlidesReleaseIQ's  Next Gen Enterprise Devops Platform Webinar Slides
ReleaseIQ's Next Gen Enterprise Devops Platform Webinar Slides
 
Scrum And The Enterprise
Scrum And The EnterpriseScrum And The Enterprise
Scrum And The Enterprise
 
Scrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful deliveryScrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful delivery
 
Continuous testing the new must have skill of tomorrow's tech leaders
Continuous testing  the new must have skill of tomorrow's tech leadersContinuous testing  the new must have skill of tomorrow's tech leaders
Continuous testing the new must have skill of tomorrow's tech leaders
 
User Stories
User StoriesUser Stories
User Stories
 
Agile Software Development for Non-Developers
Agile Software Development for Non-DevelopersAgile Software Development for Non-Developers
Agile Software Development for Non-Developers
 
Trends in Agile Testing by Lisa Crispin
Trends in Agile Testing by Lisa CrispinTrends in Agile Testing by Lisa Crispin
Trends in Agile Testing by Lisa Crispin
 
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...
 
An Introduction to XP and Agile
An Introduction to XP and AgileAn Introduction to XP and Agile
An Introduction to XP and Agile
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Is Test Planning a lost art in Agile? by Michelle Williams
Is Test Planning a lost art in Agile? by Michelle WilliamsIs Test Planning a lost art in Agile? by Michelle Williams
Is Test Planning a lost art in Agile? by Michelle Williams
 
Agile Technical Leadership
Agile Technical LeadershipAgile Technical Leadership
Agile Technical Leadership
 
Hey You Got Your TDD in my SQL DB by Jeff McKenzie
Hey You Got Your TDD in my SQL DB by Jeff McKenzieHey You Got Your TDD in my SQL DB by Jeff McKenzie
Hey You Got Your TDD in my SQL DB by Jeff McKenzie
 
Test-Driven Development
Test-Driven DevelopmentTest-Driven Development
Test-Driven Development
 
ScrumOps - Scrum + Practical DevOps
ScrumOps - Scrum + Practical DevOpsScrumOps - Scrum + Practical DevOps
ScrumOps - Scrum + Practical DevOps
 
Outside-in Testing in Vue with Cypress
Outside-in Testing in Vue with CypressOutside-in Testing in Vue with Cypress
Outside-in Testing in Vue with Cypress
 
Pair Programming Presentation
Pair Programming PresentationPair Programming Presentation
Pair Programming Presentation
 

Similar to Continuous Deployment Through Technical Excellence

Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project success
Adam Stephensen
 
Tester’s considerations when moving towards successful CI/CD
Tester’s considerations when moving towards successful CI/CDTester’s considerations when moving towards successful CI/CD
Tester’s considerations when moving towards successful CI/CD
Derk-Jan de Grood
 
How to run an Enterprise PHP Shop
How to run an Enterprise PHP ShopHow to run an Enterprise PHP Shop
How to run an Enterprise PHP Shop
Jim Plush
 
Continuous, continuous, continuous
Continuous, continuous, continuousContinuous, continuous, continuous
Continuous, continuous, continuous
Michele Orselli
 
Cyberland 2020 - Better software, faster: Principles of Continuous Delivery a...
Cyberland 2020 - Better software, faster: Principles of Continuous Delivery a...Cyberland 2020 - Better software, faster: Principles of Continuous Delivery a...
Cyberland 2020 - Better software, faster: Principles of Continuous Delivery a...
Bert Jan Schrijver
 
Visual studio 2010 alm keynote sgp
Visual studio 2010 alm keynote sgpVisual studio 2010 alm keynote sgp
Visual studio 2010 alm keynote sgp
Spiffy
 
TDC 2021 - Better software, faster: Principles of Continuous Delivery and DevOps
TDC 2021 - Better software, faster: Principles of Continuous Delivery and DevOpsTDC 2021 - Better software, faster: Principles of Continuous Delivery and DevOps
TDC 2021 - Better software, faster: Principles of Continuous Delivery and DevOps
Bert Jan Schrijver
 
AmsterdamJUG September 2019 - Better software, faster: Principles of Continuo...
AmsterdamJUG September 2019 - Better software, faster: Principles of Continuo...AmsterdamJUG September 2019 - Better software, faster: Principles of Continuo...
AmsterdamJUG September 2019 - Better software, faster: Principles of Continuo...
Bert Jan Schrijver
 
DevoxxUK 2019 - Better software, faster.
DevoxxUK 2019 - Better software, faster.DevoxxUK 2019 - Better software, faster.
DevoxxUK 2019 - Better software, faster.
Bert Jan Schrijver
 
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
Bert Jan Schrijver
 
Continuous Delivery (The newest)
Continuous Delivery (The newest)Continuous Delivery (The newest)
Continuous Delivery (The newest)
Eduards Sizovs
 
Pushing the Bottleneck: Predicting and Addressing the Next, Next Thing
Pushing the Bottleneck: Predicting and Addressing the Next, Next ThingPushing the Bottleneck: Predicting and Addressing the Next, Next Thing
Pushing the Bottleneck: Predicting and Addressing the Next, Next Thing
IBM UrbanCode Products
 
Devoxx Belgium 2019 - Better software, faster: Principles of Continuous Deliv...
Devoxx Belgium 2019 - Better software, faster: Principles of Continuous Deliv...Devoxx Belgium 2019 - Better software, faster: Principles of Continuous Deliv...
Devoxx Belgium 2019 - Better software, faster: Principles of Continuous Deliv...
Bert Jan Schrijver
 
The Journey to Continuous Delivery
The Journey to Continuous DeliveryThe Journey to Continuous Delivery
The Journey to Continuous Delivery
XPDays
 
Bn1006 demo ppt devops
Bn1006 demo ppt devopsBn1006 demo ppt devops
Bn1006 demo ppt devops
conline training
 
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...
Bert Jan Schrijver
 
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
Bert Jan Schrijver
 
Continuous Business: Jenkins User Conference 2015
Continuous Business: Jenkins User Conference 2015Continuous Business: Jenkins User Conference 2015
Continuous Business: Jenkins User Conference 2015
Jason Shawn
 
Boast the Potential of DevOps with CI CD
Boast the Potential of DevOps with CI CDBoast the Potential of DevOps with CI CD
Boast the Potential of DevOps with CI CD
Zoe Gilbert
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin Nakov
Svetlin Nakov
 

Similar to Continuous Deployment Through Technical Excellence (20)

Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project success
 
Tester’s considerations when moving towards successful CI/CD
Tester’s considerations when moving towards successful CI/CDTester’s considerations when moving towards successful CI/CD
Tester’s considerations when moving towards successful CI/CD
 
How to run an Enterprise PHP Shop
How to run an Enterprise PHP ShopHow to run an Enterprise PHP Shop
How to run an Enterprise PHP Shop
 
Continuous, continuous, continuous
Continuous, continuous, continuousContinuous, continuous, continuous
Continuous, continuous, continuous
 
Cyberland 2020 - Better software, faster: Principles of Continuous Delivery a...
Cyberland 2020 - Better software, faster: Principles of Continuous Delivery a...Cyberland 2020 - Better software, faster: Principles of Continuous Delivery a...
Cyberland 2020 - Better software, faster: Principles of Continuous Delivery a...
 
Visual studio 2010 alm keynote sgp
Visual studio 2010 alm keynote sgpVisual studio 2010 alm keynote sgp
Visual studio 2010 alm keynote sgp
 
TDC 2021 - Better software, faster: Principles of Continuous Delivery and DevOps
TDC 2021 - Better software, faster: Principles of Continuous Delivery and DevOpsTDC 2021 - Better software, faster: Principles of Continuous Delivery and DevOps
TDC 2021 - Better software, faster: Principles of Continuous Delivery and DevOps
 
AmsterdamJUG September 2019 - Better software, faster: Principles of Continuo...
AmsterdamJUG September 2019 - Better software, faster: Principles of Continuo...AmsterdamJUG September 2019 - Better software, faster: Principles of Continuo...
AmsterdamJUG September 2019 - Better software, faster: Principles of Continuo...
 
DevoxxUK 2019 - Better software, faster.
DevoxxUK 2019 - Better software, faster.DevoxxUK 2019 - Better software, faster.
DevoxxUK 2019 - Better software, faster.
 
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
 
Continuous Delivery (The newest)
Continuous Delivery (The newest)Continuous Delivery (The newest)
Continuous Delivery (The newest)
 
Pushing the Bottleneck: Predicting and Addressing the Next, Next Thing
Pushing the Bottleneck: Predicting and Addressing the Next, Next ThingPushing the Bottleneck: Predicting and Addressing the Next, Next Thing
Pushing the Bottleneck: Predicting and Addressing the Next, Next Thing
 
Devoxx Belgium 2019 - Better software, faster: Principles of Continuous Deliv...
Devoxx Belgium 2019 - Better software, faster: Principles of Continuous Deliv...Devoxx Belgium 2019 - Better software, faster: Principles of Continuous Deliv...
Devoxx Belgium 2019 - Better software, faster: Principles of Continuous Deliv...
 
The Journey to Continuous Delivery
The Journey to Continuous DeliveryThe Journey to Continuous Delivery
The Journey to Continuous Delivery
 
Bn1006 demo ppt devops
Bn1006 demo ppt devopsBn1006 demo ppt devops
Bn1006 demo ppt devops
 
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...
 
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
 
Continuous Business: Jenkins User Conference 2015
Continuous Business: Jenkins User Conference 2015Continuous Business: Jenkins User Conference 2015
Continuous Business: Jenkins User Conference 2015
 
Boast the Potential of DevOps with CI CD
Boast the Potential of DevOps with CI CDBoast the Potential of DevOps with CI CD
Boast the Potential of DevOps with CI CD
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin Nakov
 

More from Shawn Button

Fp for the oo programmer
Fp for the oo programmerFp for the oo programmer
Fp for the oo programmer
Shawn Button
 
Patterns of Evolutionary Architecture - Agile and Beyond 2018
Patterns of Evolutionary Architecture - Agile and Beyond 2018Patterns of Evolutionary Architecture - Agile and Beyond 2018
Patterns of Evolutionary Architecture - Agile and Beyond 2018
Shawn Button
 
Patterns of Evolutionary Architecture
Patterns of Evolutionary ArchitecturePatterns of Evolutionary Architecture
Patterns of Evolutionary Architecture
Shawn Button
 
The Science Of Troubleshooting
The Science Of TroubleshootingThe Science Of Troubleshooting
The Science Of Troubleshooting
Shawn Button
 
How To Be A Secret (change) Agent
How To Be A Secret (change) AgentHow To Be A Secret (change) Agent
How To Be A Secret (change) Agent
Shawn Button
 
How to be a secret change agent
How to be a secret change agentHow to be a secret change agent
How to be a secret change agent
Shawn Button
 
Sdec 13 winnipeg - want to empower your people- just begin! old-pp_version
Sdec 13   winnipeg - want to empower your people- just begin! old-pp_versionSdec 13   winnipeg - want to empower your people- just begin! old-pp_version
Sdec 13 winnipeg - want to empower your people- just begin! old-pp_version
Shawn Button
 

More from Shawn Button (7)

Fp for the oo programmer
Fp for the oo programmerFp for the oo programmer
Fp for the oo programmer
 
Patterns of Evolutionary Architecture - Agile and Beyond 2018
Patterns of Evolutionary Architecture - Agile and Beyond 2018Patterns of Evolutionary Architecture - Agile and Beyond 2018
Patterns of Evolutionary Architecture - Agile and Beyond 2018
 
Patterns of Evolutionary Architecture
Patterns of Evolutionary ArchitecturePatterns of Evolutionary Architecture
Patterns of Evolutionary Architecture
 
The Science Of Troubleshooting
The Science Of TroubleshootingThe Science Of Troubleshooting
The Science Of Troubleshooting
 
How To Be A Secret (change) Agent
How To Be A Secret (change) AgentHow To Be A Secret (change) Agent
How To Be A Secret (change) Agent
 
How to be a secret change agent
How to be a secret change agentHow to be a secret change agent
How to be a secret change agent
 
Sdec 13 winnipeg - want to empower your people- just begin! old-pp_version
Sdec 13   winnipeg - want to empower your people- just begin! old-pp_versionSdec 13   winnipeg - want to empower your people- just begin! old-pp_version
Sdec 13 winnipeg - want to empower your people- just begin! old-pp_version
 

Recently uploaded

Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
DanBrown980551
 
High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024
Vadym Kazulkin
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
christinelarrosa
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
DianaGray10
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
Safe Software
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
christinelarrosa
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
Mydbops
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
Alex Pruden
 

Recently uploaded (20)

Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
 
High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
 

Continuous Deployment Through Technical Excellence

  • 1. Continuous Deployment Declan Whelan Shawn Button through technical excellence
  • 2. Continuous Deployment Declan Whelan Shawn Button through technical excellence
  • 3. Who We Are Declan Whelan and Shawn Button are developers and technical coaches. Find us at www.leanintuit.com
  • 4. Agenda • What Continuous Deployment feels like. • What is necessary for CD. • What we often see as the missing pieces. • Aiming for CD. • Steps to CD success.
  • 5.
  • 6. What Is Continuous Delivery “Continuous delivery is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time.” - Wikipedia
  • 7. What Is Continuous Deployment “Continuous deployment is continuous delivery plus the code always goes to production.” - Us
  • 8. Make Continuous Deployment Your Goal If there’s one thing to take from this today, we hope it be this: Make Continuous Deployment your goal.
 Every time you are faced with a decision ask yourselves: “Will this take us closer to Continuous Deployment?”
  • 9. What is required for Continuous Deployment? Version Control Build/Deploy Pipelines Infrastructure as Code Frequent, safe code updates Separation of rollout and activation Good Observability
  • 10. What is required for Continuous Deployment? Version Control Build/Deploy Pipelines Infrastructure as Code Frequent, safe code updates Separation of rollout and activation Good Observability A Lot of DevOps Initiatives Focus on These
  • 11. What is required for Continuous Deployment? Version Control Build/Deploy Pipelines Infrastructure as Code Frequent, safe code updates Separation of rollout and activation Good Observability A Lot of DevOps Initiatives Focus on These This is Ignored
  • 12. “A Tool Will Solve Our Problem” - Developers, Always
  • 13. Frequent, Safe, Small Code Updates Requires changes to how we: " Test " Code " Organize ourselves " Plan and execute " Learn
  • 15. Let’s focus on the “dev” loop build end to end test integration test unit test code plan dev
  • 16. Shift quality left Move quality checks upstream build end to end test integration test unit test codeplan
  • 17.
  • 18. Planning: 3 amigos story writing Product owner / BA Developer Tester hmmm … 
 what edge cases
 might there be? hmmm … 
 how I simplify this? hmmm … 
 how can I make
 my customers
 more awesome?
  • 19. Story writing is a team effort From User Story Mapping, by Jeff Patton (O’Reilly, 2014)
  • 20. Smaller stories, limiting WIP https://leankit.com//uploads/images/general/_large/WIPLimitsCauses.jpg
  • 21. Code Quality We see a lot of code from a lot of different contexts. We consider most of the code we see to be of insufficient quality to be safe in continuous deployment. It might have been fine when we were releasing bi-monthly. We had long manual integration and testing cycles. Not now. What do we need? A Tool!
  • 23. Code Quality You need a broad-based approach to improving code quality: " Don’t trade quality for short-term delivery speed. " Pair and mob " Adopt Test-Driven Development " Make time for refactoring, and re-design " Foster team code standards and conventions " Establish enterprise code standards " Hold technical training and bring in technical coaches (shameless plug) " Run coding/testing book/video clubs " Hold hack-a-thons " Foster diversity " Do regular root-cause analysis of failures and bugs " Use linters and static code analysis tools " …
  • 24. From https://nvie.com/posts/a-successful-git-branching-model/ Branches Complicated branching shenanigans slow you down, without improving safety. Developers always push to Master. Which always goes into production.
  • 27. Code Reviews Code reviews do improve safety, but slow you down. " Developers can mob or pair instead: " Problems are found and fixed immediately. " Learning is vastly increased. Team members help each other improve. " The team develops a shared code style. " etc. " (If you can’t mob or pair yet, please STILL DO CODE REVIEWS)
  • 29. Impediments to CD " existing technical debt
 " ineffective development practices
 " hand-offs
 " schedule pressure
  • 30. Key Metrics In the book Accelerate by Forsgren, et al., they describe four key software delivery metrics: " Lead time for changes " Time from check-in to production
 " Deployment frequency " How often code is deployed to production
 " Time to restore service " Mean time to recover from failure (MTTR)
 " Change failure rate " How often changes require a fix or rollback
  • 31. Step to CD success " metrics: we suggest starting with deployment frequency
 " empathy: focus on areas where team has passion or pain
 " learning: while doing work and focused learning sessions " have team identify and remove impediments " start with managers or Scrum Masters helping " over time teams own this
 " small experiments: reflect and adjust " keep asking “..will this take us closer to Continuous Deployment? ”
  • 32. Improve Incrementally “If an organization currently delivers to production every 6 months, it is sadistic to expect them to release in 2 weeks” - paraphrased from Mary Poppendieck
  • 33. Improve Incrementally - Experiments
  • 34. Keep asking … “Will this take us closer to Continuous Deployment? ”
  • 35. Continuous Deployment Declan Whelan Shawn Button through technical excellence