SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Teaching Kids Programming
Teaching Kids ProgrammingTeaching Kids Programming
Teaching Kids Programming
Lynn Langit
 
Scrum And The Enterprise
Scrum And The EnterpriseScrum And The Enterprise
Scrum And The Enterprise
James Peckham
 
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
 
Pair Programming Presentation
Pair Programming PresentationPair Programming Presentation
Pair Programming Presentation
ThoughtWorks
 

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

Semelhante a Continuous Deployment Through Technical Excellence

Visual studio 2010 alm keynote sgp
Visual studio 2010 alm keynote sgpVisual studio 2010 alm keynote sgp
Visual studio 2010 alm keynote sgp
Spiffy
 
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
 

Semelhante a 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
 

Mais de 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
 

Mais de 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
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Último (20)

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
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
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
 
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...
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
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...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

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