SlideShare uma empresa Scribd logo
1 de 59
Baixar para ler offline
PATTERNS & ANTIPATTERNS
FOR (CONTINUOUS) DELIVERY
Jose Luis Soria Teruel
jlsoria@plainconcepts.com - @jlsoriat

Barcelona, November 9th 2013
Our highest priority is to satisfy the customer
through early and continuous delivery of
valuable software.
Principles behind the Agile Manifesto
How long would it take your
organization to deploy a
change that involves just one
single line of code?
Do you do this on a
repeatable, reliable basis?
Mary & Tom Poppendieck
Implementing Lean Software Development
Done means "released". This implies
ownership of a project right up until it’s in the
hands of the user, and working properly.
There’s none of this "I’ve checked in my code
so it’s done as far as I’m concerned".
James Betteley
Just ship, baby.
Kent Beck, http://www.threeriversinstitute.org/JustShip.html
SOFTWARE
DELIVERY
MODELS
#1: No model, or random delivery.
#2: Let the operations guys figure out.
#3: Defined and collaborative approach.
DELIVERY PATTERNS & PRACTICES
Do you exclude from versioning
artifacts like databases,
configuration files, binaries,
documentation, tools or
environments?
That is, do you fail to effectively do the
following, for any needed version of these
artifacts?
Backup.
Get from history.
Undo changes.
Work with other people.
Audit and track changes.
Keep stable copies.
Etc.
Version
everything.
Do you manually perform any of these?
Building.
Packaging.
Deploying.
Testing.
Environment provisioning.
Or, do you make mistakes because of missing
steps, misunderstandings, boredom, etc.?
Do you waste time that could be employed in
building and delivering value?
Do you depend on specific people to get these
activities done?
Do accidents frequently happen in your
project?
Automate
everything.
Do you manually copy or change
configuration files to match each
target environment?
So, do you need to remember which
configuration files must be changed and what
the changes are?
Do you make mistakes or omissions when
doing these changes?
Are you exposing sensitive information about
the environments?
Tokenize
configurations.
Do you follow a complex
procedure for deployments, with
multiple steps involved?
In other words, do you spend a lot of time
and effort in each deployment?
Do you avoid testing some versions in some
environments because deployment is painful?
Use one-click deployments.
http://bit.ly/HNQJWo
ARIANNE 5 FLIGHT 501 EXPLOSION

In 1996, the Ariane 5 rocket was reusing
software from the Ariane 4. Ariane 5’s faster
engines exploited a bug that was not realized
before: the software tried to cram a 64-bit
number into a 16-bit space. 36.7 seconds into
its maiden launch, the self destruct safety
mechanism was activated.
http://en.wikipedia.org/wiki/Ariane_5#Notable_launches
SIBERIAN PIPELINE SABOTAGE
In 1982, CIA introduced a bug into the Soviet
gas pipeline system, that passed preliminary
inspection but made the system fail when in
operation. It led to the largest non-nuclear
explosion ever.
http://en.wikipedia.org/wiki/Siberian_pipeline_sabotage
Do you validate your application
only in development or testing
environments?
That is, do you lack information
about how your application will
behave in the production
environment?
Deploy to a copy
of production.
Do you follow different
procedures for deploying to
different environments?
… making your deployment
procedure is more vulnerable to
environment-specific issues?

Is that procedure poorly tested?
Deploy the same way to every
environment
Do you skip the preparation of
rollback mechanisms before a
deployment?
Or, if a deployment (or the deployed
version) fails, do you need to figure out
how to get the system running again?
Does that take a lot of time and effort?
Is the business losing lots of money
meanwhile?
Have always a rollback
mechanism in place.
Does anyone in your team make
manual changes to the
environments?
…resulting in frequently spoiled or
wasted environments?
Do you have to recreate or reconfigure
them so often?

Does it happen without even noticing,
until it’s too late?
Lock down

the environments.
Do you build binaries from the
same code several times during
the release process?
So, do you ship binaries that have not
been tested?
Do you introduce errors because of
different build sequences?

Do you waste time and resources
building the same thing again and again?
Build
only
once.
Do you fail to gather and
analyzing data about your
delivery process?
Or, do you lack a baseline that
you can use to support
improvement actions?
Measure the delivery process.
Do you consistently avoid painful
steps in your delivery process?
And are you leaving sensitive steps
for the last moment?
Do you fail to practice and master
critical aspects of the delivery
sequence?
http://bit.ly/70eM6U
Bring the pain forward
Do you lack the support of
operations people for defining
the delivery process and
artifacts?
That is, are you not collaborating
with the people that have some
of the key knowledge and
control?
Practice
DevOps!
Do you lack a defined,
repeatable, robust and fast
delivery process?
So, are you failing to deliver
effectively?
Build a release pipeline.
What about your own patterns & practices?
1. Think about some delivery
practice not covered in the
session.
2. Tweet it.
#bdc13 @jlsoriat
3. Benefit!
http://aka.ms/ReleasePipeline
Thanks! Any questions?
jlsoria@plainconcepts.com
@jlsoriat

http://geeks.ms/blogs/jlsoria
Get my e-book (for free): http://aka.ms/ReleasePipeline
Get the labs: http://aka.ms/ReleasePipeline-HOL
Get these slides: http://slidesha.re/1hVyKvt

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
JavaZone 2016 - The DevOps disaster
JavaZone 2016 - The DevOps disasterJavaZone 2016 - The DevOps disaster
JavaZone 2016 - The DevOps disaster
 
DevOps Utrecht - The DevOps Disaster
DevOps Utrecht - The DevOps DisasterDevOps Utrecht - The DevOps Disaster
DevOps Utrecht - The DevOps Disaster
 
Making Security Agile - Oleg Gryb
Making Security Agile - Oleg GrybMaking Security Agile - Oleg Gryb
Making Security Agile - Oleg Gryb
 
Implementing DevOps in a Regulated Environment - DJ Schleen
Implementing DevOps in a Regulated Environment - DJ SchleenImplementing DevOps in a Regulated Environment - DJ Schleen
Implementing DevOps in a Regulated Environment - DJ Schleen
 
Culture Hacker: How to Herd CATTs and Inspire Rebels to Change the World! - S...
Culture Hacker: How to Herd CATTs and Inspire Rebels to Change the World! - S...Culture Hacker: How to Herd CATTs and Inspire Rebels to Change the World! - S...
Culture Hacker: How to Herd CATTs and Inspire Rebels to Change the World! - S...
 
Ops Happens: DevOps Beyond Deployment - Damon Edwards
Ops Happens: DevOps Beyond Deployment - Damon EdwardsOps Happens: DevOps Beyond Deployment - Damon Edwards
Ops Happens: DevOps Beyond Deployment - Damon Edwards
 
Translating Tester-Speak Into Plain English: Simple Explanations for 8 Testin...
Translating Tester-Speak Into Plain English: Simple Explanations for 8 Testin...Translating Tester-Speak Into Plain English: Simple Explanations for 8 Testin...
Translating Tester-Speak Into Plain English: Simple Explanations for 8 Testin...
 
The Container Shame Spiral
The Container Shame SpiralThe Container Shame Spiral
The Container Shame Spiral
 
Devops
DevopsDevops
Devops
 
The Devops Handbook
The Devops HandbookThe Devops Handbook
The Devops Handbook
 
Devops at SlideShare: Talk at Devopsdays Bangalore 2011
Devops at SlideShare: Talk at Devopsdays Bangalore 2011Devops at SlideShare: Talk at Devopsdays Bangalore 2011
Devops at SlideShare: Talk at Devopsdays Bangalore 2011
 
Introduction to devops 2016
Introduction to devops 2016Introduction to devops 2016
Introduction to devops 2016
 
Devops
DevopsDevops
Devops
 
8 Blind Spots Often Overlooked When Testing on Mobile
8 Blind Spots Often Overlooked When Testing on Mobile8 Blind Spots Often Overlooked When Testing on Mobile
8 Blind Spots Often Overlooked When Testing on Mobile
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
 
Building an Open Source AppSec Pipeline
Building an Open Source AppSec PipelineBuilding an Open Source AppSec Pipeline
Building an Open Source AppSec Pipeline
 
AppSec Pipelines and Event based Security
AppSec Pipelines and Event based SecurityAppSec Pipelines and Event based Security
AppSec Pipelines and Event based Security
 
Dev ops
Dev opsDev ops
Dev ops
 
The Coming Earthquake in IIS and SQL Configuration Management
The Coming Earthquake  in IIS and SQL Configuration ManagementThe Coming Earthquake  in IIS and SQL Configuration Management
The Coming Earthquake in IIS and SQL Configuration Management
 

Destaque

Destaque (7)

COBOLizer - Plain Concepts - Microsoft WE ALM partner summit 2011
COBOLizer - Plain Concepts - Microsoft WE ALM partner summit 2011COBOLizer - Plain Concepts - Microsoft WE ALM partner summit 2011
COBOLizer - Plain Concepts - Microsoft WE ALM partner summit 2011
 
Divas de la música
Divas de la músicaDivas de la música
Divas de la música
 
Agile Database Development - SDC2012
Agile Database Development - SDC2012Agile Database Development - SDC2012
Agile Database Development - SDC2012
 
Elioe.com - Barcamp Penang
Elioe.com - Barcamp PenangElioe.com - Barcamp Penang
Elioe.com - Barcamp Penang
 
Malaysia Combat Web Spam By Elioe Com
Malaysia Combat Web Spam By Elioe ComMalaysia Combat Web Spam By Elioe Com
Malaysia Combat Web Spam By Elioe Com
 
Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous...
Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous...Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous...
Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous...
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting Personal
 

Semelhante a Bcn devcon jose luis soria - patterns & antipatterns for delivery

Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
Stein Inge Morisbak
 

Semelhante a Bcn devcon jose luis soria - patterns & antipatterns for delivery (20)

Continuous delivery best practices and essential tools
Continuous delivery best practices and essential toolsContinuous delivery best practices and essential tools
Continuous delivery best practices and essential tools
 
Intro To Continuous Delivery
Intro To Continuous DeliveryIntro To Continuous Delivery
Intro To Continuous Delivery
 
DevOps Workshops Fall 2016
DevOps Workshops Fall 2016DevOps Workshops Fall 2016
DevOps Workshops Fall 2016
 
Continuous Delivery - the missing parts - Paul Stack
Continuous Delivery - the missing parts - Paul StackContinuous Delivery - the missing parts - Paul Stack
Continuous Delivery - the missing parts - Paul Stack
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
ROOTS2011 Continuous Delivery
ROOTS2011 Continuous DeliveryROOTS2011 Continuous Delivery
ROOTS2011 Continuous Delivery
 
Continuous delivery
Continuous deliveryContinuous delivery
Continuous delivery
 
Continuous, continuous, continuous
Continuous, continuous, continuousContinuous, continuous, continuous
Continuous, continuous, continuous
 
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
 
8 Ways to Boost Your DevOps Efforts
8 Ways to Boost Your DevOps Efforts8 Ways to Boost Your DevOps Efforts
8 Ways to Boost Your DevOps Efforts
 
DevOps - Continuous Integration, Continuous Delivery - let's talk
DevOps - Continuous Integration, Continuous Delivery - let's talkDevOps - Continuous Integration, Continuous Delivery - let's talk
DevOps - Continuous Integration, Continuous Delivery - let's talk
 
DevOps for the Discouraged
DevOps for the Discouraged DevOps for the Discouraged
DevOps for the Discouraged
 
WinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOps
WinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOpsWinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOps
WinOps Conf 2016 - Matteo Emili - Development and QA Dilemmas in DevOps
 
Cloud Academy Webinar: Recipe for DevOps Success: Capital One Style
Cloud Academy Webinar: Recipe for DevOps Success: Capital One StyleCloud Academy Webinar: Recipe for DevOps Success: Capital One Style
Cloud Academy Webinar: Recipe for DevOps Success: Capital One Style
 
From Duke of DevOps to Queen of Chaos - Api days 2018
From Duke of DevOps to Queen of Chaos - Api days 2018From Duke of DevOps to Queen of Chaos - Api days 2018
From Duke of DevOps to Queen of Chaos - Api days 2018
 
Top Challenges Faced During DevOps Implementation and How to Overcome Them
Top Challenges Faced During DevOps Implementation and How to Overcome ThemTop Challenges Faced During DevOps Implementation and How to Overcome Them
Top Challenges Faced During DevOps Implementation and How to Overcome Them
 
Shift Happens - Rapidly Rolling Forward During Production Failure
Shift Happens - Rapidly Rolling Forward During Production FailureShift Happens - Rapidly Rolling Forward During Production Failure
Shift Happens - Rapidly Rolling Forward During Production Failure
 
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeConfoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
 
30 days or less: New Features to Production
30 days or less: New Features to Production30 days or less: New Features to Production
30 days or less: New Features to Production
 

Mais de Jose Luis Soria

Mais de Jose Luis Soria (20)

Project Portfolio Management with Kanban in an international company
Project Portfolio Management with Kanban in an international companyProject Portfolio Management with Kanban in an international company
Project Portfolio Management with Kanban in an international company
 
Lean Kanban at Ria - Lean Kanban Southern Europe 2015
Lean Kanban at Ria - Lean Kanban Southern Europe 2015Lean Kanban at Ria - Lean Kanban Southern Europe 2015
Lean Kanban at Ria - Lean Kanban Southern Europe 2015
 
Things to do with the time you’ll save thanks to VSO
Things to do with the time you’ll save thanks to VSO Things to do with the time you’ll save thanks to VSO
Things to do with the time you’ll save thanks to VSO
 
Jose Luis Soria - Codemotion 2014 - Designing a release pipeline
Jose Luis Soria - Codemotion 2014 - Designing a release pipelineJose Luis Soria - Codemotion 2014 - Designing a release pipeline
Jose Luis Soria - Codemotion 2014 - Designing a release pipeline
 
Jose Luis Soria - XP2014 - Designing a Release Pipeline
Jose Luis Soria - XP2014 - Designing a Release PipelineJose Luis Soria - XP2014 - Designing a Release Pipeline
Jose Luis Soria - XP2014 - Designing a Release Pipeline
 
Jose Luis Soria - Microsoft Plataforma Empresarial 2014 - ALM como factor dif...
Jose Luis Soria - Microsoft Plataforma Empresarial 2014 - ALM como factor dif...Jose Luis Soria - Microsoft Plataforma Empresarial 2014 - ALM como factor dif...
Jose Luis Soria - Microsoft Plataforma Empresarial 2014 - ALM como factor dif...
 
Proyectos ágiles con Team Foundation Server - COITT
Proyectos ágiles con Team Foundation Server - COITTProyectos ágiles con Team Foundation Server - COITT
Proyectos ágiles con Team Foundation Server - COITT
 
ALM Tour 2013 - Responderá mi aplicación en el mundo real?
ALM Tour 2013 - Responderá mi aplicación en el mundo real?ALM Tour 2013 - Responderá mi aplicación en el mundo real?
ALM Tour 2013 - Responderá mi aplicación en el mundo real?
 
ALM Tour 2013 - Proyectos bajo control - asegurando la entrega de valor
ALM Tour 2013 - Proyectos bajo control - asegurando la entrega de valorALM Tour 2013 - Proyectos bajo control - asegurando la entrega de valor
ALM Tour 2013 - Proyectos bajo control - asegurando la entrega de valor
 
ALM Tour 2013 - Entregar a tiempo y sin errores
ALM Tour 2013 - Entregar a tiempo y sin erroresALM Tour 2013 - Entregar a tiempo y sin errores
ALM Tour 2013 - Entregar a tiempo y sin errores
 
Real World Agile Roadshow 2013 - Planificación y Arquitectura Ágil
Real World Agile Roadshow 2013 - Planificación y Arquitectura ÁgilReal World Agile Roadshow 2013 - Planificación y Arquitectura Ágil
Real World Agile Roadshow 2013 - Planificación y Arquitectura Ágil
 
ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS
ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFSALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS
ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS
 
Roadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis Soria
Roadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis SoriaRoadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis Soria
Roadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis Soria
 
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOpsJose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
 
Visual Studio Tour Plain Concepts - ALM para Windows 8
Visual Studio Tour Plain Concepts - ALM para Windows 8Visual Studio Tour Plain Concepts - ALM para Windows 8
Visual Studio Tour Plain Concepts - ALM para Windows 8
 
Jose Luis Soria - CAS2012 - Cargo cult Agile training & coaching
Jose Luis Soria - CAS2012 - Cargo cult Agile training & coachingJose Luis Soria - CAS2012 - Cargo cult Agile training & coaching
Jose Luis Soria - CAS2012 - Cargo cult Agile training & coaching
 
Cargo Cult Agile training & coaching
Cargo Cult Agile training & coachingCargo Cult Agile training & coaching
Cargo Cult Agile training & coaching
 
Destino la Nube 2012 - ALM para Azure
Destino la Nube 2012 - ALM para AzureDestino la Nube 2012 - ALM para Azure
Destino la Nube 2012 - ALM para Azure
 
SecondNug Febrero 2012 - Automatización de despliegues
SecondNug Febrero 2012 - Automatización de desplieguesSecondNug Febrero 2012 - Automatización de despliegues
SecondNug Febrero 2012 - Automatización de despliegues
 
12 Horas Visual Studio - Gestion de código y librerías compartidas con TFS y ...
12 Horas Visual Studio - Gestion de código y librerías compartidas con TFS y ...12 Horas Visual Studio - Gestion de código y librerías compartidas con TFS y ...
12 Horas Visual Studio - Gestion de código y librerías compartidas con TFS y ...
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
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
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 

Bcn devcon jose luis soria - patterns & antipatterns for delivery

  • 1. PATTERNS & ANTIPATTERNS FOR (CONTINUOUS) DELIVERY Jose Luis Soria Teruel jlsoria@plainconcepts.com - @jlsoriat Barcelona, November 9th 2013
  • 2. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Principles behind the Agile Manifesto
  • 3. How long would it take your organization to deploy a change that involves just one single line of code? Do you do this on a repeatable, reliable basis? Mary & Tom Poppendieck Implementing Lean Software Development
  • 4. Done means "released". This implies ownership of a project right up until it’s in the hands of the user, and working properly. There’s none of this "I’ve checked in my code so it’s done as far as I’m concerned". James Betteley
  • 5. Just ship, baby. Kent Beck, http://www.threeriversinstitute.org/JustShip.html
  • 7. #1: No model, or random delivery.
  • 8. #2: Let the operations guys figure out.
  • 9. #3: Defined and collaborative approach.
  • 10. DELIVERY PATTERNS & PRACTICES
  • 11. Do you exclude from versioning artifacts like databases, configuration files, binaries, documentation, tools or environments?
  • 12. That is, do you fail to effectively do the following, for any needed version of these artifacts? Backup. Get from history. Undo changes. Work with other people. Audit and track changes. Keep stable copies. Etc.
  • 14. Do you manually perform any of these? Building. Packaging. Deploying. Testing. Environment provisioning.
  • 15. Or, do you make mistakes because of missing steps, misunderstandings, boredom, etc.? Do you waste time that could be employed in building and delivering value? Do you depend on specific people to get these activities done? Do accidents frequently happen in your project?
  • 17. Do you manually copy or change configuration files to match each target environment?
  • 18. So, do you need to remember which configuration files must be changed and what the changes are? Do you make mistakes or omissions when doing these changes? Are you exposing sensitive information about the environments?
  • 20. Do you follow a complex procedure for deployments, with multiple steps involved?
  • 21. In other words, do you spend a lot of time and effort in each deployment? Do you avoid testing some versions in some environments because deployment is painful?
  • 24. ARIANNE 5 FLIGHT 501 EXPLOSION In 1996, the Ariane 5 rocket was reusing software from the Ariane 4. Ariane 5’s faster engines exploited a bug that was not realized before: the software tried to cram a 64-bit number into a 16-bit space. 36.7 seconds into its maiden launch, the self destruct safety mechanism was activated. http://en.wikipedia.org/wiki/Ariane_5#Notable_launches
  • 25. SIBERIAN PIPELINE SABOTAGE In 1982, CIA introduced a bug into the Soviet gas pipeline system, that passed preliminary inspection but made the system fail when in operation. It led to the largest non-nuclear explosion ever. http://en.wikipedia.org/wiki/Siberian_pipeline_sabotage
  • 26. Do you validate your application only in development or testing environments?
  • 27. That is, do you lack information about how your application will behave in the production environment?
  • 28. Deploy to a copy of production.
  • 29. Do you follow different procedures for deploying to different environments?
  • 30. … making your deployment procedure is more vulnerable to environment-specific issues? Is that procedure poorly tested?
  • 31. Deploy the same way to every environment
  • 32. Do you skip the preparation of rollback mechanisms before a deployment?
  • 33. Or, if a deployment (or the deployed version) fails, do you need to figure out how to get the system running again? Does that take a lot of time and effort? Is the business losing lots of money meanwhile?
  • 34. Have always a rollback mechanism in place.
  • 35. Does anyone in your team make manual changes to the environments?
  • 36. …resulting in frequently spoiled or wasted environments? Do you have to recreate or reconfigure them so often? Does it happen without even noticing, until it’s too late?
  • 37.
  • 39. Do you build binaries from the same code several times during the release process?
  • 40. So, do you ship binaries that have not been tested? Do you introduce errors because of different build sequences? Do you waste time and resources building the same thing again and again?
  • 42. Do you fail to gather and analyzing data about your delivery process?
  • 43. Or, do you lack a baseline that you can use to support improvement actions?
  • 45. Do you consistently avoid painful steps in your delivery process?
  • 46. And are you leaving sensitive steps for the last moment? Do you fail to practice and master critical aspects of the delivery sequence?
  • 48. Bring the pain forward
  • 49. Do you lack the support of operations people for defining the delivery process and artifacts?
  • 50. That is, are you not collaborating with the people that have some of the key knowledge and control?
  • 52. Do you lack a defined, repeatable, robust and fast delivery process?
  • 53. So, are you failing to deliver effectively?
  • 54. Build a release pipeline.
  • 55.
  • 56.
  • 57.
  • 58. What about your own patterns & practices? 1. Think about some delivery practice not covered in the session. 2. Tweet it. #bdc13 @jlsoriat 3. Benefit! http://aka.ms/ReleasePipeline
  • 59. Thanks! Any questions? jlsoria@plainconcepts.com @jlsoriat http://geeks.ms/blogs/jlsoria Get my e-book (for free): http://aka.ms/ReleasePipeline Get the labs: http://aka.ms/ReleasePipeline-HOL Get these slides: http://slidesha.re/1hVyKvt