SlideShare a Scribd company logo
1 of 80
FROM
C.I. TO CD & DEVOPS
CONTINUOUS DELIVERY
OVERVIEW
Luca Minudel
LUCA MINUDEL
DID CONTINUOUS DELIVERY AT:
WORKS @
SESSION’S LINKS TWITTER @SMHARTERLTD
CD’S BUSINESS VALUE
PROPOSITION
Business side of CD
3
SIEMENS S62
Used in Italy from 1962 to 1980, 18 years
WHY
CONTINUOUS DELIVERY?
6
RAI
WHY CONTINUOUS DELIVERY?
1) REDUCE RISK
Build the right thing, build it right – Avoid expensive mistakes
UNRELEASED CHANGES = RISK
1 1
2
1
2
3
4
1
2
3
Value
Release
Time
1 2 3 4
1
1
2
1
2
3
RELEASED CHANGES = VALUE
RELEASED TO
1. ANYONE, OR
2. EARLY ADOPTERS,
3. REQUESTORS OF THE
FEATURE,
4. INTERNAL USERS
RAI
WHY CONTINUOUS DELIVERY?
1) OVERCOME THE ‘90% DONE’
SYNDROME
Done and done
1
Validated learning over
working software (over
comprehensive documentation)
Kent Beck
RAI
WHY CONTINUOUS DELIVERY?
2) ALIGNMENT BETWEEN IT -
BUSINESS - MARKET
Play ball together
FAST FREQUENT
COMUNICATION
Sharing the same context
RAI
WHY CONTINUOUS DELIVERY?
3) INNOVATE FASTER
One step ahead
RAI
WHY CONTINUOUS DELIVERY?
1)+3) FASTER AND SAFER
TOGETHER
Have your cake and eat it too
IMPLEMENTING CD:
PREREQUISITES &
QUICK SELF-ASSESSMENT
IT side of CD
PREREQUISITES TO CD
Iterative software development & Continuous Integration
from Adaptive Leadership by Jim Highsmith
ITERATIVE DEVELOPMENT
Use with care.
ITERATIVE DEVELOPMENT
from ThoughtWorks
CONTINUOUS
INTEGRATION
Is a software development practice where members
of a team integrate their work frequently, usually
each person integrates at least daily, leading to
multiple integrations per day.
Martin Fowler
CONTINUOUS
INTEGRATION
Is a software development practice where members
of a team integrate their work frequently, usually
each person integrates at least daily, leading to
multiple integrations per day.
Each integration is verified by an automated build
including tests to detect integration errors as
quickly as possible.
Martin Fowler
C.I. IMPLIES => TRUNK BASED DEVELOPMENT
All development is done on the mainline (also known as
the head or trunk) of the source-code repository.
All the developers commit the code to the mainline at least
once per day.
Developers commit only potentially releasable code using
practices like latent-code patterns, feature toggles, and
branch by abstraction.
Every new release is built from the mainline.
C.I. IMPLIES => TRUNK BASED DEVELOPMENT
Merge
Merge
Trunk
NO FEATURE BRANCHING
C.I. IMPLIES => TRUNK BASED DEVELOPMENT
Trunk
2 2
3
4
2
3
1 1 1 1
4
5
2
3
1
2
1
3
2
1 1
4
3
2
C.I. IMPLIES => TRUNK BASED DEVELOPMENT
Merge
Merge
Trunk
2 2
3
4
2
3
1 1 1 1
4
5
2
3
1
2
1
3
2
1 1
4
3
2
1 4
3
2
1
4
5
2 3
C.I. IMPLIES => TRUNK BASED DEVELOPMENT
Trunk
1 2 3 4 5
1
1
3 42
4 52 1 3 2 4 3
WHAT IS CONTINUOUS
DELIVERY?
Definitions
CONTINUOUS DELIVERY
COLLABORAT.
PEOPLE
SKILLS
PRACTICES
TOOLS
Continuous Delivery is
a software development discipline where
you build software in such a way that
the software can be
released to production at any time
- Martin Fowler.
Continuous Delivery aims to
reduce the cost, time, and risk
of delivering incremental
changes to users
- Jez Humble.
ARE YOU DOING CONTINUOUS
DELIVERY?
THE CD WORKING GROUP AT THOUGHTWORKS SAYS
You are doing CD when:
①your software is deployable throughout its lifecycle
②your team prioritizes keeping the software deployable over working
on new features
THE CD WORKING GROUP AT THOUGHTWORKS SAYS
You are doing CD when:
①your software is deployable throughout its lifecycle
②your team prioritizes keeping the software deployable over working
on new features
③anybody can get fast, automated feedback on the production
readiness of their systems whenever somebody makes a change to
them
THE CD WORKING GROUP AT THOUGHTWORKS SAYS
You are doing CD when:
①your software is deployable throughout its lifecycle
②your team prioritizes keeping the software deployable over working
on new features
③anybody can get fast, automated feedback on the production
readiness of their systems whenever somebody makes a change to
them
④you can perform push-button deployments of any version of the
software to any environment on demand.
CD WAR STORIES
Case studies with numbers
SAP
65K employees, 30K database tables
BEFORE: 2010
•  Business frustrated
• 6-12 months from idea to production
• Prod. Error => S**t-storm & late nights
• Monthly production releases
AFTER: 2012
•  Business happy
• 1 week from idea to production
• Prod. Error => less then 1min rollback
• Two production releases per week, 8x
increase!!!
HP LASERJET
FIRMWARE TEAM Between 400-800 developers, 10+MLOC
BEFORE: 2008
•  Only 5% of time available for
creating/supporting new features
• A code branch for each LaserJet model, manual
integration & testing
• Max two releases per year
AFTER: 2011
•  40% of time available creating or supporting
new features, 8x increase!!!
• One main branch for all products, automated
integration & testing
• 10-15 candidate releases per day
HP LASERJET
FIRMWARE TEAM
IMPLEMENTING CD:
STRATEGIES, TIPS, COMMON
MISTAKES
How to
Skills &
Practices
Automation
& Tools
Architecture
& Design
GREEN FIELD – 3/6 MONTHS
• BUILD AUTOMATION
• DEPLOY AUTOMATION
• REMEDIATION AUT.
• TEST AUTOMATION
• INFRASTRUCTURE
• MONITORING
• CONFIGURABILITY FOR
MULTIPLE ENVIRONMENTS
• TESTABILITY
• HOT DEPLOYABILITY
• REMEDIABILITY
• TRUNK BASED DEV.
Automation
& Tools
Architecture
& Design
BROWN FIELD - INITIAL 3/6 MONTHS - LOW HANGING FRUIT
• BUILD AUTOMATION
• DEPLOY AUTOMATION
• BASIC REMEDIATION
AUTOMATION
• INFRASTRUCTURE
• CONFIGURABILITY FOR
MULTIPLE ENVIRONMENTS
BROWN FIELD – 1/2 YEARS BASED ON SIZE – TO THE FINISH LINE
Skills &
Practices
Automation
& Tools
Architecture
& Design
• FULL REMEDIATION
AUTOMATION
• TEST AUTOMATION
• MONITORING
• TESTABILITY
• HOT DEPLOYABILITY
• REMEDIABILITY
• TRUNK BASED DEV.
Automation
& Tools
Architecture
& Design
BROWN FIELD - INITIAL 3/6 MONTHS - LOW HANGING FRUIT
• BUILD AUTOMATION
• DEPLOY AUTOMATION
• BASIC REMEDIATION
AUTOMATION
• INFRASTRUCTURE
• CONFIGURABILITY FOR
MULTIPLE ENVIRONMENTS
ON HIRING DEVOPS
Hey HR, creating a separate role for DevOps misses the point
DEVOPS DEFINITION
A term coined by Patrick Debois
To encourage people to think about software development and software
support in a holistic way, as opposed to two separate activities.
DEVOPS DEFINITION
Development Operations
DEVOPS DEFINITION
Development Operations
DEVOPS DEFINITION
Development OperationsDevOps
DEVOPS ANTI-PATTERN
SELECTING CD TOOLS
Individuals and interactions over processes and tools
TOOLS FOR CONTINUOUS DELIVERY
■ Package management: RPM, WiX, Wise, …
■ Infrastructure management: Puppet, Chef, …
■ CD server: Go , …
■ Dependencies management: …
■ Binaries repository: …
■ …
■ …
If there is any rule
to selecting tools to support
software delivery and support,
it is to assume that:
any tools chosen may need to
be changed in the future
- Kief Morris.
WWW.GO.CD OPEN SOURCE - FREE DOWNLOAD
ON CD & AGILE
Agile Manifesto
AGILE MANIFESTO
Principle #1
Our highest priority is to satisfy the customer
through early and continuous delivery
of valuable software.
ON CD & LEAN?
Lean principles
LEAN SOFTWARE DEVELOPMENT
Principle #5
Deliver as fast as possible.
TECHNICAL PRACTICES
OVERVIEW
To get it right
MAIN CD
PRINCIPLES & PRACTICES
How to?
Create a
repeatable,
reliable way
to release software
Everybody
is responsible
for the delivery process
Automate almost everything
AUTOMATE ALMOST EVERYTHING
 The build
 Database changes
 Deployment to test/staging/production environments
 Tests
 Remediation plans
 Monitoring
 Infrastructure as code
THE DEPLOYMENT PIPELINE IS:
1) A Model of your process for getting software from version
control into the hands of your users.
2) An Implementation that automates each stage of the
process your software goes through after every change,
from check-in to release – and it may also contain few
manual stages such as approvals.
3) A Visualisation in real-time of the status of software
code-base after every change, for all stages from
check-in to release.
THE DEPLOYMENT PIPELINE
THE DEPLOYMENT PIPELINE
BACKLOG
PLANNING
MEETING
CODE &
COMMIT
BUILD
UNIT
TESTS
INTEGRATION,
ACCEPTANCE,
…
TESTS
MANUAL
APPROVAL
CODE
CHANGE
READY TO
GO LIVE
ANATOMY OF A BASIC PIPELINE
AUTOMATE TESTS
AUTOMATE REMEDIATION PLANS
AUTOMATE INFRASTRUCTURE
If someone threw a server out of the window,
how long would it take to recreate it?
CONCLUSIONS
To get it right
LET’S FINISH FROM THE
START:
WHY CONTINUOUS DELIVERY?
We cannot always decide
when/where change will come.
But we can decide where each
change will take us…
…as long as we move
faster
than the change
WHAT IS CONTINUOUS
DELIVERY? AGAIN
Do me a sketch!
CONTINUOUS DELIVERY
BEFORE
CONTINUOUS DELIVERY
AFTER
CONTINUOUS DELIVERY OVERVIEW
THANK YOU !
WAR STORIES, BOOKS, & SLIDES
WILL BE ON TWITTER @SmHarterLTD
LOOKING FOR A
- CD ASSESSMENT
- CD TRAINING
EMAIL ME AT:
LUCA.MINUDEL @ SMHARTER.COM

More Related Content

What's hot

Understanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliveryUnderstanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliverySwapnil Jain
 
CI/CD Best Practices for Your DevOps Journey
CI/CD Best  Practices for Your DevOps JourneyCI/CD Best  Practices for Your DevOps Journey
CI/CD Best Practices for Your DevOps JourneyDevOps.com
 
The Challenges & Pitfalls of Database Continuous Delivery
The Challenges & Pitfalls of Database Continuous DeliveryThe Challenges & Pitfalls of Database Continuous Delivery
The Challenges & Pitfalls of Database Continuous DeliveryPerforce
 
Dev ops is more than CI+CD tools
Dev ops is more than CI+CD toolsDev ops is more than CI+CD tools
Dev ops is more than CI+CD toolsSudipta Lahiri
 
Webinar: Demonstrating Business Value for DevOps & Continuous Delivery
Webinar: Demonstrating Business Value for DevOps & Continuous DeliveryWebinar: Demonstrating Business Value for DevOps & Continuous Delivery
Webinar: Demonstrating Business Value for DevOps & Continuous DeliveryXebiaLabs
 
Continuous Testing in DevOps
Continuous Testing in DevOpsContinuous Testing in DevOps
Continuous Testing in DevOpsTechWell
 
The business case for devops
The business case for devopsThe business case for devops
The business case for devopsMatthew Skelton
 
Spark 2013 Presentation of making the enterprise agile
Spark 2013 Presentation of making the enterprise agileSpark 2013 Presentation of making the enterprise agile
Spark 2013 Presentation of making the enterprise agilegbgruver
 
DevOps overview 2019-04-13 Nelkinda April Meetup
DevOps overview  2019-04-13 Nelkinda April MeetupDevOps overview  2019-04-13 Nelkinda April Meetup
DevOps overview 2019-04-13 Nelkinda April MeetupShweta Sadawarte
 
Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.Kris Buytaert
 
¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io
¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io
¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.ioSoftware Guru
 
DevOps in 5 minutes
DevOps in 5 minutesDevOps in 5 minutes
DevOps in 5 minutesJolyon Brown
 
What is DevOps
What is DevOpsWhat is DevOps
What is DevOpsspajus
 

What's hot (20)

Understanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous DeliveryUnderstanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous Delivery
 
CI/CD Best Practices for Your DevOps Journey
CI/CD Best  Practices for Your DevOps JourneyCI/CD Best  Practices for Your DevOps Journey
CI/CD Best Practices for Your DevOps Journey
 
Bn1006 demo ppt devops
Bn1006 demo ppt devopsBn1006 demo ppt devops
Bn1006 demo ppt devops
 
The Challenges & Pitfalls of Database Continuous Delivery
The Challenges & Pitfalls of Database Continuous DeliveryThe Challenges & Pitfalls of Database Continuous Delivery
The Challenges & Pitfalls of Database Continuous Delivery
 
Dev ops is more than CI+CD tools
Dev ops is more than CI+CD toolsDev ops is more than CI+CD tools
Dev ops is more than CI+CD tools
 
Webinar: Demonstrating Business Value for DevOps & Continuous Delivery
Webinar: Demonstrating Business Value for DevOps & Continuous DeliveryWebinar: Demonstrating Business Value for DevOps & Continuous Delivery
Webinar: Demonstrating Business Value for DevOps & Continuous Delivery
 
A True Story of Why QA Loves DevOps
A True Story of Why QA Loves DevOpsA True Story of Why QA Loves DevOps
A True Story of Why QA Loves DevOps
 
Continuous Testing in DevOps
Continuous Testing in DevOpsContinuous Testing in DevOps
Continuous Testing in DevOps
 
Automation CICD
Automation CICDAutomation CICD
Automation CICD
 
The business case for devops
The business case for devopsThe business case for devops
The business case for devops
 
An introduction to DevOps
An introduction to DevOpsAn introduction to DevOps
An introduction to DevOps
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Spark 2013 Presentation of making the enterprise agile
Spark 2013 Presentation of making the enterprise agileSpark 2013 Presentation of making the enterprise agile
Spark 2013 Presentation of making the enterprise agile
 
DevOps overview 2019-04-13 Nelkinda April Meetup
DevOps overview  2019-04-13 Nelkinda April MeetupDevOps overview  2019-04-13 Nelkinda April Meetup
DevOps overview 2019-04-13 Nelkinda April Meetup
 
Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.
 
¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io
¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io
¿Qué es DevOps y por qué es importante en el Ciclo de Software? por michelada.io
 
DevOps in 5 minutes
DevOps in 5 minutesDevOps in 5 minutes
DevOps in 5 minutes
 
What is DevOps
What is DevOpsWhat is DevOps
What is DevOps
 
Introduction to devops
Introduction to devopsIntroduction to devops
Introduction to devops
 

Similar to From Continuous Integration to Continuous Delivery and DevOps

Integrating Black Duck into your Agile DevOps Environment
Integrating Black Duck into your Agile DevOps EnvironmentIntegrating Black Duck into your Agile DevOps Environment
Integrating Black Duck into your Agile DevOps EnvironmentBlack Duck by Synopsys
 
Continuous Deployment To The Cloud
Continuous Deployment To The CloudContinuous Deployment To The Cloud
Continuous Deployment To The CloudMarcin Grzejszczak
 
Harman deepak v - agile on steriod - dev ops led transformation
Harman  deepak v - agile on steriod - dev ops led transformationHarman  deepak v - agile on steriod - dev ops led transformation
Harman deepak v - agile on steriod - dev ops led transformationXebia India
 
Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...
Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...
Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...Marcin Grzejszczak
 
Agile Project Management in a Waterfall World: Managing Sprints with Predicti...
Agile Project Management in a Waterfall World: Managing Sprints with Predicti...Agile Project Management in a Waterfall World: Managing Sprints with Predicti...
Agile Project Management in a Waterfall World: Managing Sprints with Predicti...John Carter
 
From 0 to DevOps: Lessons Learned Moving from On-Prem to Cloud Native
From 0 to DevOps: Lessons Learned Moving from On-Prem to Cloud NativeFrom 0 to DevOps: Lessons Learned Moving from On-Prem to Cloud Native
From 0 to DevOps: Lessons Learned Moving from On-Prem to Cloud NativeKlaus Enzenhofer
 
How to Operate Kubernetes CI/CD Pipelines at Scale
How to Operate Kubernetes CI/CD Pipelines at ScaleHow to Operate Kubernetes CI/CD Pipelines at Scale
How to Operate Kubernetes CI/CD Pipelines at ScaleDevOps.com
 
Continuous, continuous, continuous
Continuous, continuous, continuousContinuous, continuous, continuous
Continuous, continuous, continuousMichele Orselli
 
Lean Software Development & Kanban
Lean Software Development & KanbanLean Software Development & Kanban
Lean Software Development & KanbanRishi Chaddha
 
Docker Meetup at Docker HQ: Docker Cloud
Docker Meetup at Docker HQ: Docker CloudDocker Meetup at Docker HQ: Docker Cloud
Docker Meetup at Docker HQ: Docker CloudDocker, Inc.
 
DevOps - Understanding Core Concepts
DevOps - Understanding Core ConceptsDevOps - Understanding Core Concepts
DevOps - Understanding Core ConceptsNitin Bhide
 
ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENT
ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENTROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENT
ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENTIndium Software
 
DevOps Handbook: Experiments in Accelerating Delivery
DevOps Handbook: Experiments in Accelerating DeliveryDevOps Handbook: Experiments in Accelerating Delivery
DevOps Handbook: Experiments in Accelerating DeliveryJim Grafmeyer
 
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 FailureIBM UrbanCode Products
 
Introduction to continuous delivery
Introduction to continuous deliveryIntroduction to continuous delivery
Introduction to continuous deliveryOlympicSoftware
 
The Continuous delivery value - Funaro
The Continuous delivery value - FunaroThe Continuous delivery value - Funaro
The Continuous delivery value - FunaroCodemotion
 
The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014David Funaro
 
Flusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous DeliveryFlusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous DeliveryJoost van der Griendt
 
Technology and Digital Platform | 2019 partner summit
Technology and Digital Platform | 2019 partner summitTechnology and Digital Platform | 2019 partner summit
Technology and Digital Platform | 2019 partner summitAndrew Kumar
 

Similar to From Continuous Integration to Continuous Delivery and DevOps (20)

Integrating Black Duck into your Agile DevOps Environment
Integrating Black Duck into your Agile DevOps EnvironmentIntegrating Black Duck into your Agile DevOps Environment
Integrating Black Duck into your Agile DevOps Environment
 
Continuous Deployment To The Cloud
Continuous Deployment To The CloudContinuous Deployment To The Cloud
Continuous Deployment To The Cloud
 
Harman deepak v - agile on steriod - dev ops led transformation
Harman  deepak v - agile on steriod - dev ops led transformationHarman  deepak v - agile on steriod - dev ops led transformation
Harman deepak v - agile on steriod - dev ops led transformation
 
Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...
Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...
Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...
 
Agile Project Management in a Waterfall World: Managing Sprints with Predicti...
Agile Project Management in a Waterfall World: Managing Sprints with Predicti...Agile Project Management in a Waterfall World: Managing Sprints with Predicti...
Agile Project Management in a Waterfall World: Managing Sprints with Predicti...
 
From 0 to DevOps: Lessons Learned Moving from On-Prem to Cloud Native
From 0 to DevOps: Lessons Learned Moving from On-Prem to Cloud NativeFrom 0 to DevOps: Lessons Learned Moving from On-Prem to Cloud Native
From 0 to DevOps: Lessons Learned Moving from On-Prem to Cloud Native
 
How to Operate Kubernetes CI/CD Pipelines at Scale
How to Operate Kubernetes CI/CD Pipelines at ScaleHow to Operate Kubernetes CI/CD Pipelines at Scale
How to Operate Kubernetes CI/CD Pipelines at Scale
 
Continuous, continuous, continuous
Continuous, continuous, continuousContinuous, continuous, continuous
Continuous, continuous, continuous
 
Lean Software Development & Kanban
Lean Software Development & KanbanLean Software Development & Kanban
Lean Software Development & Kanban
 
Docker Meetup at Docker HQ: Docker Cloud
Docker Meetup at Docker HQ: Docker CloudDocker Meetup at Docker HQ: Docker Cloud
Docker Meetup at Docker HQ: Docker Cloud
 
DevOps - Understanding Core Concepts
DevOps - Understanding Core ConceptsDevOps - Understanding Core Concepts
DevOps - Understanding Core Concepts
 
ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENT
ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENTROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENT
ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENT
 
DevOps Handbook: Experiments in Accelerating Delivery
DevOps Handbook: Experiments in Accelerating DeliveryDevOps Handbook: Experiments in Accelerating Delivery
DevOps Handbook: Experiments in Accelerating Delivery
 
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
 
Introduction to continuous delivery
Introduction to continuous deliveryIntroduction to continuous delivery
Introduction to continuous delivery
 
The Continuous delivery value - Funaro
The Continuous delivery value - FunaroThe Continuous delivery value - Funaro
The Continuous delivery value - Funaro
 
The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014
 
DevOps and Cloud
DevOps and CloudDevOps and Cloud
DevOps and Cloud
 
Flusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous DeliveryFlusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous Delivery
 
Technology and Digital Platform | 2019 partner summit
Technology and Digital Platform | 2019 partner summitTechnology and Digital Platform | 2019 partner summit
Technology and Digital Platform | 2019 partner summit
 

More from Luca Minudel

It takes two to tango - why tech and business succeed or fail together v4.1 b...
It takes two to tango - why tech and business succeed or fail together v4.1 b...It takes two to tango - why tech and business succeed or fail together v4.1 b...
It takes two to tango - why tech and business succeed or fail together v4.1 b...Luca Minudel
 
Scrum master self-assessment kit v3.2
Scrum master self-assessment kit v3.2Scrum master self-assessment kit v3.2
Scrum master self-assessment kit v3.2Luca Minudel
 
Project management in the age of accelerating change - IT/Tech specific
Project management in the age of accelerating change - IT/Tech specificProject management in the age of accelerating change - IT/Tech specific
Project management in the age of accelerating change - IT/Tech specificLuca Minudel
 
Project management in the age of accelerating change - general non IT specific
Project management in the age of accelerating change - general non IT specificProject management in the age of accelerating change - general non IT specific
Project management in the age of accelerating change - general non IT specificLuca Minudel
 
Scrum master self assessment v2.7
Scrum master self assessment v2.7Scrum master self assessment v2.7
Scrum master self assessment v2.7Luca Minudel
 
Agility - definition and curricula
Agility - definition and curriculaAgility - definition and curricula
Agility - definition and curriculaLuca Minudel
 
Agile Delivery Manager self-assessment radar
Agile Delivery Manager self-assessment radarAgile Delivery Manager self-assessment radar
Agile Delivery Manager self-assessment radarLuca Minudel
 
CTO self-assessment radar
CTO self-assessment radarCTO self-assessment radar
CTO self-assessment radarLuca Minudel
 
Reflections on Kent Beck's 3x Explore, Expand, and Extract
Reflections on Kent Beck's 3x Explore, Expand, and ExtractReflections on Kent Beck's 3x Explore, Expand, and Extract
Reflections on Kent Beck's 3x Explore, Expand, and ExtractLuca Minudel
 
New Lean-Agile Coach Self-Assessment - detailed descriptions v3
New Lean-Agile Coach Self-Assessment - detailed descriptions v3New Lean-Agile Coach Self-Assessment - detailed descriptions v3
New Lean-Agile Coach Self-Assessment - detailed descriptions v3Luca Minudel
 
Draft your next training course with ideas from Training from the Back of the...
Draft your next training course with ideas from Training from the Back of the...Draft your next training course with ideas from Training from the Back of the...
Draft your next training course with ideas from Training from the Back of the...Luca Minudel
 
New Lean-Agile Coach self-assessment - levels description v3.2
New Lean-Agile Coach self-assessment - levels description v3.2New Lean-Agile Coach self-assessment - levels description v3.2
New Lean-Agile Coach self-assessment - levels description v3.2Luca Minudel
 
Pratica avanzata del refactoring (2004)
Pratica avanzata del refactoring (2004)Pratica avanzata del refactoring (2004)
Pratica avanzata del refactoring (2004)Luca Minudel
 
New Lean-Agile Coach self-assessment radars v3.2
New Lean-Agile Coach self-assessment radars v3.2New Lean-Agile Coach self-assessment radars v3.2
New Lean-Agile Coach self-assessment radars v3.2Luca Minudel
 
AgileDay 2006 - Essere agili nel diventare agili
AgileDay 2006 - Essere agili nel diventare agiliAgileDay 2006 - Essere agili nel diventare agili
AgileDay 2006 - Essere agili nel diventare agiliLuca Minudel
 
Architettura del software un approccio Agile, Web-cast Microsoft 2006
Architettura del software un approccio Agile, Web-cast Microsoft 2006Architettura del software un approccio Agile, Web-cast Microsoft 2006
Architettura del software un approccio Agile, Web-cast Microsoft 2006Luca Minudel
 
Agility: The scientific definition of how to be(come) Agile
Agility: The scientific definition of how to be(come) AgileAgility: The scientific definition of how to be(come) Agile
Agility: The scientific definition of how to be(come) AgileLuca Minudel
 
Lightning talk: Active Agility, the magic ingredient of Lean and Agile
Lightning talk: Active Agility, the magic ingredient of Lean and AgileLightning talk: Active Agility, the magic ingredient of Lean and Agile
Lightning talk: Active Agility, the magic ingredient of Lean and AgileLuca Minudel
 
Software development in Formula One: challenges, complexity and struggle for ...
Software development in Formula One: challenges, complexity and struggle for ...Software development in Formula One: challenges, complexity and struggle for ...
Software development in Formula One: challenges, complexity and struggle for ...Luca Minudel
 
Refactoring legacy code driven by tests - ENG
Refactoring legacy code driven by tests - ENGRefactoring legacy code driven by tests - ENG
Refactoring legacy code driven by tests - ENGLuca Minudel
 

More from Luca Minudel (20)

It takes two to tango - why tech and business succeed or fail together v4.1 b...
It takes two to tango - why tech and business succeed or fail together v4.1 b...It takes two to tango - why tech and business succeed or fail together v4.1 b...
It takes two to tango - why tech and business succeed or fail together v4.1 b...
 
Scrum master self-assessment kit v3.2
Scrum master self-assessment kit v3.2Scrum master self-assessment kit v3.2
Scrum master self-assessment kit v3.2
 
Project management in the age of accelerating change - IT/Tech specific
Project management in the age of accelerating change - IT/Tech specificProject management in the age of accelerating change - IT/Tech specific
Project management in the age of accelerating change - IT/Tech specific
 
Project management in the age of accelerating change - general non IT specific
Project management in the age of accelerating change - general non IT specificProject management in the age of accelerating change - general non IT specific
Project management in the age of accelerating change - general non IT specific
 
Scrum master self assessment v2.7
Scrum master self assessment v2.7Scrum master self assessment v2.7
Scrum master self assessment v2.7
 
Agility - definition and curricula
Agility - definition and curriculaAgility - definition and curricula
Agility - definition and curricula
 
Agile Delivery Manager self-assessment radar
Agile Delivery Manager self-assessment radarAgile Delivery Manager self-assessment radar
Agile Delivery Manager self-assessment radar
 
CTO self-assessment radar
CTO self-assessment radarCTO self-assessment radar
CTO self-assessment radar
 
Reflections on Kent Beck's 3x Explore, Expand, and Extract
Reflections on Kent Beck's 3x Explore, Expand, and ExtractReflections on Kent Beck's 3x Explore, Expand, and Extract
Reflections on Kent Beck's 3x Explore, Expand, and Extract
 
New Lean-Agile Coach Self-Assessment - detailed descriptions v3
New Lean-Agile Coach Self-Assessment - detailed descriptions v3New Lean-Agile Coach Self-Assessment - detailed descriptions v3
New Lean-Agile Coach Self-Assessment - detailed descriptions v3
 
Draft your next training course with ideas from Training from the Back of the...
Draft your next training course with ideas from Training from the Back of the...Draft your next training course with ideas from Training from the Back of the...
Draft your next training course with ideas from Training from the Back of the...
 
New Lean-Agile Coach self-assessment - levels description v3.2
New Lean-Agile Coach self-assessment - levels description v3.2New Lean-Agile Coach self-assessment - levels description v3.2
New Lean-Agile Coach self-assessment - levels description v3.2
 
Pratica avanzata del refactoring (2004)
Pratica avanzata del refactoring (2004)Pratica avanzata del refactoring (2004)
Pratica avanzata del refactoring (2004)
 
New Lean-Agile Coach self-assessment radars v3.2
New Lean-Agile Coach self-assessment radars v3.2New Lean-Agile Coach self-assessment radars v3.2
New Lean-Agile Coach self-assessment radars v3.2
 
AgileDay 2006 - Essere agili nel diventare agili
AgileDay 2006 - Essere agili nel diventare agiliAgileDay 2006 - Essere agili nel diventare agili
AgileDay 2006 - Essere agili nel diventare agili
 
Architettura del software un approccio Agile, Web-cast Microsoft 2006
Architettura del software un approccio Agile, Web-cast Microsoft 2006Architettura del software un approccio Agile, Web-cast Microsoft 2006
Architettura del software un approccio Agile, Web-cast Microsoft 2006
 
Agility: The scientific definition of how to be(come) Agile
Agility: The scientific definition of how to be(come) AgileAgility: The scientific definition of how to be(come) Agile
Agility: The scientific definition of how to be(come) Agile
 
Lightning talk: Active Agility, the magic ingredient of Lean and Agile
Lightning talk: Active Agility, the magic ingredient of Lean and AgileLightning talk: Active Agility, the magic ingredient of Lean and Agile
Lightning talk: Active Agility, the magic ingredient of Lean and Agile
 
Software development in Formula One: challenges, complexity and struggle for ...
Software development in Formula One: challenges, complexity and struggle for ...Software development in Formula One: challenges, complexity and struggle for ...
Software development in Formula One: challenges, complexity and struggle for ...
 
Refactoring legacy code driven by tests - ENG
Refactoring legacy code driven by tests - ENGRefactoring legacy code driven by tests - ENG
Refactoring legacy code driven by tests - ENG
 

Recently uploaded

Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 

Recently uploaded (20)

Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 

From Continuous Integration to Continuous Delivery and DevOps

Editor's Notes

  1. Speech notes -------------------------------- Used for 20 years The only major upgrade I know of was a new color. industry trend of shortening products’ life cycles, moving from years and months to weeks and days. This phone was in use for 20 years in Italy. From the 60’. The only major upgrade I know of was a new color. My smartphone is 18 months old, I receive apps updates almost every day, I already updated firmware twice, and 2 new models has been presented since I bought it. The Industry is constantly shortening products’ life cycles. CD enables IT to lead this trend, release cycles are moving from years and months to weeks and days or even hours. Extra notes: Industry trend of shortening products’ life cycles, more and more teams and organizations release-cycles are moving from years and months to weeks and days.
  2. Speech notes -------------------------------- Main question here is: is CD beneficial to your business? How? I’ll share answer I found in my experience. I encourage you to find your own answers for your specific context.
  3. Speech notes -------------------------------- A vintage test card of Italy's public broadcasting company:RAI From the name, RAI, the initials of the 3 main benefits I observed:
  4. Speech notes -------------------------------- - from risky painful releases to predictable, safe and regular events => a release become a non-event - marketing events decoupled by tech releases, without risks of failure CD turns risky painful releases to production into predictable, safe and regular events or non events. from a technical point of view, they can still be marketing events but without risks and anxiety. Thanks to early and frequent releases, it is possible to see if the organization is building the right thing in the right way
  5. - More Features implemented over time - No value created until delivery For all this time we don’t know if features are what user wanted, if they solve user’s problem, or if there is a tech problem we keep going without knowing it, until we release
  6. Speech notes -------------------------------- - Every feature is released early and it create value - Problems are detected early, when it is easier and cheaper to fix them. - The consequences of a mistake are limited by the small scope and size of each incremental release For Anyone => preferred option Early adopters Requestor of the feature Internal users
  7. Speech notes -------------------------------- Remaining 10% get almost never completed problems discovered only late during integration or hardening release to production followed by weeks of expensive bug-fixing and firefighting With CD instead real progress becomes - Visible - Tangible Have you ever be accountable for the outcome of a project? If so you probably experienced the ‘90% done’ syndrome, when the gant chart reach the 90% progress and then the remaining 10% get almost never completed. It usually happens when deadlines loom, all certainties about the real progress of a project disappear. Some other times significant problems are discovered only late into the integration or hardening phase. §Other times it is the release to production that becomes a lengthy and painful experience, followed by weeks of bug-fixing and firefighting. With CD instead the real progress of the release becomes Visible Tangible in every moment
  8. Speech notes -------------------------------- For Anyone => preferred option Early adopters Requestor of the feature Internal users
  9. Speech notes -------------------------------- Many companies I visited in EU and US told me about misalignment they experience between IT and the business. Sometime IT and the business were blaming each other.
  10. Speech notes -------------------------------- Sometime even between different department inside IT there’s misalignment. Look at this picture
  11. Speech notes -------------------------------- - reduces the distance between business – customers/market => a checkpoint at every release, many chances to steer - Support mutual understanding business – IT => software dev become tangible when released => closer collaboration around each “feature” implemented CD spurs closer communication, mutual understanding, synchronization and cooperation between business and IT, and between all roles and departments involved in the project. CD also reduces the distance between the business and the customers. Furthermore, CD closes the gap between market, business, and IT.
  12. Speech notes -------------------------------- Life before Google maps, explorers like Cock or Magellano or Colombo Nowadays exploring new markets, new technologies, new domains and applications increase organization’s responsiveness: it reduces the time required to react to new circumstances. Before Google maps people could get lost and large parts of this planet were unknowns. There were explorers like Cock or Magellano or Colombo that planned the expeditions to cross the edge of the known and discover new places. Nowadays we are still - Exploring new markets - Experiment new technologies - Discovering new domains and applications CD support this exploration, make it easier and faster CD can increase organization’s responsiveness: it reduces the time required to react to new circumstances.
  13. Speech notes -------------------------------- When I joined Ferrari F1 racing team to help advancing the adoption of Lean and Agile practices, we have been asked to go faster and safer. You don’t want a bug to compromise the result of a race or the championship. It seems a paradox. Actually CD helped here.
  14. Speech notes -------------------------------- CD resolve the tension between ITops and Prod/SW Dev When IT Ops wins, When Prod Dev wins, Instead collaboration that increasing the throughput + stabilizing production systems, increasing innovation + predictability This is another apparent paradox. On the right: IT operations aims to keep the production systems up and running in a stable way. On the left: Product development aims to release new, live features to stay ahead of the competition. These two goals have traditionally been seen as conflicting, like in a zero-sum game. When Prod Dev wins, devs throws releases over the wall and IT Ops release them and pray and sometime start with firefighting. When IT Ops wins, organization implement governance standards as SOX, PCI DSS, ITIL, COBIL in a very bureaucratic way that slow down new releases and development CD instead has the paradoxical effect of increasing the throughput of new features and stabilizing production systems, increasing innovation and predictability together at the same time. Extra notes: Pressure to change ○  pressure to innovate (i.e. stay ahead of competitors); ○  technical novelty and variety in the technologies used for the project; ○  uncertainty (e.g. from the domain, the market, the users, the partners, the suppliers) Need for stability ○  interruption or disruption of services provided cause significant loss of money; ○  services provided are life-critical CD also helps with the compliance to standards such as SOX, PCI DSS, ITIL, and COBIT. And in many cases, problems with external policies are due to implementations of an interpretation of a policy, while there are other, lightweight ways to achieve the policy goals that actually produce better outcomes.
  15. Let’s look at implementing cd, starting with prerequisites, and checking how much cd are we already doing
  16. Speech notes -------------------------------- - Let’s start with prerequisites to CD! After a public workshop a CTO told me he recognized many of the problems I described during the day and that solutions proposed made lot of sense to him. He also told that the IT dep was not ready to adopt those advanced practices so he asked where they could start to prepare for CD?
  17. Speech notes -------------------------------- 2 prereqs Each build on top of the other, Iterative dev and CI Jim Highsmith, one of the 2 authors of the Agile Manifesto that work in TW (the other is Fowler) suggest this progression: Start with iterative development Add CI Add CD Extra notes:
  18. Speech notes -------------------------------- At every iteration a new feature is created, an existing feature is improved/evolved, ready to be released experimented first in the 1930 in the 1990 its use became common. In 2000 US Department of Defense states a clear preference for Iterative development. Nowadays Waterfall and its evolutions and extensions such as V-Model are considered obsolete. And just-do-it approaches inadequate for teams bigger then 2
  19. Speech notes -------------------------------- - incremental vs evolutionary (better) - After evolutionary and iterations shorter than 1 week => flow-pull systems such as Kanban
  20. - After CI : Deploy & Test automation - That Includes architecture improvements to support automatic configuration for multiple environments (test, staging, prod) Design to make code testable Architecture to Enable hot deploys Automate remediation plans
  21. Mentioned 1st time 1991 (by Grady Booch) 1st article on CI in 2000, focus on devs integrating, not on tool Here definition from MF
  22. Build and automated tests run and return a report in 5-15mins
  23. Speech notes -------------------------------- Can skip
  24. Merge in mainline are so frequent that branches are rare exceptions. Features not finished are hidden from the front-end (with feature toggles), and back-end code is tested for not breaking existing functionalities (latent code, branch by abstraction).
  25. When devs works on different branches
  26. Each branch accumulates overtime lot of potentially conflicting or interfering changes
  27. - Only when devs start the merge war, conflicts and interferences are spot, - resolving merge conflicts is painful and time-consuming, when not impossible
  28. With frequent merges on the mainline, conflicts are less likely, and very easy to fix with a quick chat Interferences are spot immediately what they are cheaper to fix
  29. Speech notes -------------------------------- After the Whys we can talk about the whats. What is CD than ?
  30. Speech notes -------------------------------- CD has 3 fundamental ingredients. People/social ingredient is the most underestimated and misunderstood ingredient.
  31. - Def by Martin Fowler - Can you release in production at any time during the sprint/iteration ?
  32. Def by Jez Humble, the guy how wrote the book. notice this business point of view
  33. Speech notes -------------------------------- - Let’s do a quick self-assessment (a proper assessment take between 1 and 3, but this can give us a general idea of there your team/org stands)
  34. Speech notes -------------------------------- 1 – from the first to the last iteration of your release, anytime during any iteration 2 – Let’s make an example, I’m pushing a feature that needs a new db table: db change script and update to the remediation plan
  35. Speech notes -------------------------------- - typically in 5 to 15 minutes you get a report with the results - When you do manual QA and it takes days you cannot get this fast feedback
  36. Speech notes -------------------------------- - Anyone can do it (QA, Bus stakeholder, PO/PM), it’s completely automatic, no need for manual steps - even with db changes, configuration changes, etc.
  37. 1-2 weeks for QA => Less than 1 day for QA
  38. they improved the productivity of developers by 2-3x, Like in the consumer printer market, it was incredibly competitive, where new and innovative offerings were showing up nearly every month. Their problem was that the firmware group was having tremendous difficulty keeping up with the demand for new, innovative features,
  39. - Simplification reduced planning effort from 20% to 5%, one of the biggest saving Build cycle time: 1 week -> 3 hours (10-15 builds per day)
  40. Green field product release
  41. - Things easy to achieve by a small group of people, and everyone benefit from them after they are done - Basic remediation plan = only for backward compatible changes
  42. - Changes that involve anyone (i.e. keep existing tests working when changing a feature, create remediation plan also for backward incompatible changes)
  43. Speech notes -------------------------------- Do companies need to hire specifically for DevOps? Extra notes:
  44. Speech notes -------------------------------- DevOps doesn't require particular roles; in fact, many believe that creating a separate role for DevOps misses the point that developers and operations people should share ownership of the software, end to end. DevOps extends collaboration to include infrastructure, release management, support, security, and other roles in IT operations. Extra notes:
  45. Speech notes -------------------------------- This is the traditional divide between devs and IT Ops Different skillset, language, bosses
  46. Speech notes -------------------------------- Solution: A IT Ops joining dev team since the beginning of a new request to add requirements related to deployment automation and support A dev joining IT Ops team to help automate the release and to help with support They rotate, build a common language and mutual understanding and so collaboration
  47. Speech notes -------------------------------- This misses the point Moves devs and IT Ops even more far away
  48. Speech notes -------------------------------- Companies often ask for advises on picking the right tool
  49. Speech notes -------------------------------- This is an example of different types of tools and some tools I’ll give you soon a reference with a complete list of tool Extra notes:
  50. Speech notes -------------------------------- Kief Morris, author of Infrastructure as code book
  51. Speech notes -------------------------------- A successful product will grow – maybe tool will be changed Good separation of responsibility between tool and script/automation you create A successful product will grow over time and so will the related code-base. The implementation of CD will thus have to evolve too. In order to support this growth easily, a CD tool should implement the pipeline concept as a native first-class concept. It should be cross-platform compatible to support a large variety of technologies. And it should be able to distribute the build tasks across many computers, as in a build-grid, to support increased workload. It should support scripting to enable refactoring and support VCS. And finally it should follow a clear separation of concerns to enable a proper integration of different tools and to allow easy replacement of tools over time when needed. Extra notes:
  52. Speech notes -------------------------------- Companies that are transitioning to Agile and Lean ask what’s the relation with CD and Agile and Lean, are they compatible? They support each other
  53. Can skip
  54. Speech notes -------------------------------- Let’s have an overview of the main principles and practices
  55. Speech notes -------------------------------- All remaining principles derive from this main principle. The same for bug fixes, new features, new products, or emergencies This main principle incorporates the whole idea of CD: create a repeatable, reliable way to release software.
  56. Speech notes -------------------------------- Everybody Devs, IT Ops, Marketing, etc. is responsible for making sure the software constantly and increasingly generates business value. Have the sw fulfill the real needs of the users keeping the software functioning well in production Extra notes: All the people involved throughout the value stream of the product, from concept to cash, should share this common goal and be evaluated as a team against this common goal. This is essential to creating an environment where communication and collaboration patterns required to succeed are possible and likely to happen.
  57. Speech notes -------------------------------- The key idea is to automate the recovery after a bad release into production. When a new version of an application is released into production but starts to malfunction or users report a showstopper bug, different techniques can help to remedy the problem. Challenge All the cases where there are 2 moving parts Data bases double challenge because the size of the data Decouple the deploy of the moving parts for example with Rollbacks and forward-compatible interim versions. Extra notes:
  58. Can skip
  59. Speech notes -------------------------------- Test/stage envs equal to prod Safely replace prod servers/infra Easy support for many nodes Automate the creation of test/prod environments Networking (DNS, etc) Web/mail servers Etc Infrastructure code. The goal of infrastructure automation and infrastructure as code is to have environments that are always in a well-known state and to avoid unnecessary variations that can invalidate the result of the tests or be a source of bugs in production that are very hard to reproduce. And it become quick and easy to add or replace a server and to create a test environment that is as similar as possible to the prod one. Extra notes: Infrastructure automation is intended to automatically create from scratch every test and production environment, from the operating system to the installation and configuration of the required software and services (networking, DNS, Web server, email server, etc.), and to automatically apply all the configurations expected for the environment.
  60. Speech notes -------------------------------- Extra notes: