SlideShare a Scribd company logo
1 of 42
Download to read offline
Continuous Integration,
Delivery and Deployment
Eero Laukkanen
T-76.5613 - Software Testing and Quality Assurance P
20.11.2015
System Integration
In engineering, system integration is defined as the process of
bringing together the component subsystems and ensuring that
the subsystems function together as a system.
https://en.wikipedia.org/wiki/System_integration
23/11/15
2
Software Integration
•  System Integration
•  Change Integration: Merging
23/11/15
3
Possible integration conflict!
Integration Conflicts
•  Merge Conflicts
•  Detected by version control software
•  Semantic Conflicts
•  Detected by compiler, tests and code review
http://martinfowler.com/bliki/SemanticConflict.html
23/11/15
4
Regression Testing
The purpose of regression testing is to ensure that changes have
not introduced new faults.
Experience has shown that as software is changed, emergence of
new faults and/or re-emergence of old faults is quite common.
https://en.wikipedia.org/wiki/Regression_testing
23/11/15
5
History of Software Integration and
Regression Testing
•  Prehistory: Big Bang Integration
•  1996: Daily Build and Smoke Test (Steve McConnell)
•  2000: XP and Continuous Integration (Kent Beck)
•  2006: Continuous Integration (Martin Fowler)
•  2009: Continuous Deployment (Timothy Fitz)
•  2010: Continuous Delivery (Jez Humble & David Farley)
•  2012: Experiment System (Holmström Olsson et al.)
23/11/15
6
Big Bang Integration
•  System Integration
•  Develop subsystems independently, integrate when ready
•  Change Integration
•  Develop changes in branches, merge when ready
23/11/15
7
Big Bang Integration
“We entered a huge depressing warehouse stacked full with cubes.
I was told that this project had been in development for a couple of
years and was currently integrating, and had been integrating for
several months.
My guide told me that nobody really knew how long it would take to
finish integrating.
From this I learned a common story of software projects: integration
is a long and unpredictable process.”
http://www.martinfowler.com/articles/continuousIntegration.html
23/11/15
8
Big Bang Integration
•  Development is simple, because nothing is changing
•  Integration is complex and takes unpredictable time
23/11/15
9
23/11/15
10
1996: Daily Build and Smoke Test
•  Build and smoke test the whole software system daily
•  Fix broken builds
•  “Integrate… usually once every few days”
McConnell, S., 1996. Daily build and smoke test. IEEE software 143–144.
23/11/15
11
Daily Build and Smoke Test
23/11/15
12
time
code
developed
verified
Big Bang Daily
•  Minimizes integration and low quality risk
•  Easier defect diagnosis
•  Improved morale
risk
Daily Build and Smoke Test
•  Context of large systems
•  Tests allowed to take multiple hours
•  Timed builds
•  Smoke tests evolve when the system evolves
•  Dedicated roles take care of the build
23/11/15
13
Daily Build and Smoke Test
“The smoke test should be thorough enough that if the build
passes, you can assume that it is stable enough to be tested more
thoroughly.”
“The standard needs to set a quality level that’s strict enough to keep
showstopper defects out but lenient enough to disregard trivial
defects, an undue attention to which could paralyze progress.”
23/11/15
14
2000: Extreme Programming
•  Holistic software development
methodology
•  Continuous Integration, one of the many
practices
Beck, K., 2000. Extreme programming explained: embrace change. Addison-Wesley
Professional.
23/11/15
15
Extreme Programming and Continuous
Integration
“No code sits unintegrated for more than a couple of hours.”
“At the end of every development episode, the code is integrated and
all the tests must run at 100%.”
“You need a reasonably complete test suite that runs in a few
minutes.”
23/11/15
16
Continuous Integration
23/11/15
17
Develop
(a couple of hours)
Integration & Testing
(a few minutes)
Fix broken build
pass
fail
2006: Continuous Integration Extended
•  Single source repository
•  Integration machine
•  Fix broken builds immediately
•  Keep the build fast (10 minutes)
•  Test in a clone of the production environment
•  Automate deployment
http://www.martinfowler.com/articles/continuousIntegration.html
23/11/15
18
2009: Continuous Deployment
“The high level of our process is dead simple: Continuously
integrate (commit early and often). On commit automatically run all
tests. If the tests pass deploy to the cluster. If the deploy succeeds,
repeat.”
http://timothyfitz.com/2009/02/08/continuous-deployment/
http://timothyfitz.com/2009/02/10/continuous-deployment-at-imvu-doing-the-impossible-fifty-times-a-day/
23/11/15
19
Continuous Deployment
“So what magic happens in our test suite that allows us to skip
having a manual Quality Assurance step in our deploy process?
The magic is in the scope, scale and thoroughness. It’s a thousand
test files and counting. 4.4 machine hours of automated tests to be
exact.”
“Great test coverage is not enough. Continuous Deployment requires
much more than that. Continuous Deployment means running all
your tests, all the time. That means tests must be reliable.”
23/11/15
20
Continuous Deployment
•  Context of cloud systems
•  Problems in production will always happen
•  How to mitigate the problems?
•  Smaller releases have smaller scope and are easier to debug
•  Automated deployments allow fast fixing
•  Deploy to a subset of users first to mitigate problem scope
•  Production can be monitored and reverted automatically
23/11/15
21
Continuous Deployment
23/11/15
22
developed
verified
released
Frequent
verification
time
code
Frequent
release
risk
•  Minimizes release risk
•  Easier defect diagnosis
•  Improved morale
2010: Continuous Delivery
•  Every change should be releasable…
•  ...but not necessarily released
automatically
•  Allows human verification
Humble, J., Farley, D., 2010. Continuous Delivery: Reliable Software Releases through
Build, Test, and Deployment Automation. Addison-Wesley Professional.
23/11/15
23
Continuous Delivery
23/11/15
24
Deployment Pipeline
Continuous Delivery
23/11/15
25
Continuous Delivery
You’re doing continuous delivery 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 any time somebody makes a change to
them
•  You can perform push-button deployments of any version of the
software to any environment on demand
http://martinfowler.com/bliki/ContinuousDelivery.html
23/11/15
26
2012: Experiment System
23/11/15
27
Traditional
Development
Agile R&D
Organization
Continuous
Integration
Continuous
Deployment
R&D as an
Experiment
System
Olsson, H.H., Alahyari, H., Bosch, J., 2012. Climbing the “Stairway to Heaven” – A Multiple-Case Study
Exploring Barriers in the Transition from Agile Development Towards Continuous Deployment of Software, in:
Proceedings of the 2012 38th Euromicro Conference on Software Engineering and Advanced Applications.
Washington, DC, USA, pp. 392–399.
Experiment System
“actual deployment of software functionality is seen as a way of
experimenting and testing what the customer needs”
•  Beyond regression testing and integration
•  Avoid software bloat
23/11/15
28
Delivery Activities
23/11/15
29
Develop ReleaseIntegrate QA
Waterfall
23/11/15
30
Develop ReleaseIntegrate QA
Continuous Integration
23/11/15
31
Develop + Integrate ReleaseQA
Continuous Delivery
23/11/15
32
Develop + Integrate + QA Release
Continuous Deployment
23/11/15
33
Develop + Integrate + QA + Release
Practitioner surveys
•  2015 State of DevOps Report
•  ~5000 respondents
•  2013 Continuous Delivery: A Maturity
Assessment Model
•  ~300 respondents
https://puppetlabs.com/2015-devops-report
http://info.thoughtworks.com/Continuous-Delivery-Maturity-Model.html
23/11/15
34
Survey: deployment frequency
23/11/15
35
Survey: deployment lead time
23/11/15
36
Survey: practices
23/11/15
37
http://info.thoughtworks.com/Continuous-Delivery-Maturity-Model.html
Survey: barriers
23/11/15
38
http://info.thoughtworks.com/Continuous-Delivery-Maturity-Model.html
Problems when adopting continuous
delivery
•  Build design
•  Complex build, inflexible build
•  Product design
•  Modularization, internal dependencies, database schema changes, unsuitable architecture
•  Integration
•  Large commits, broken build, merge conflicts, work blockage, long-running branches…
•  Testing
•  Ambiguous test result, flaky tests, untestable code, time-consuming testing, UI testing…
•  Release
•  Customer data preservation, documentation, feature discovery, marketing, more deployed bugs
•  Human & Organization
•  Lack of discipline, more pressure, lack of motivation, lack of experience, team coordination…
•  Resources
•  Effort, insufficient hardware resources, network latencies
Laukkanen, E., Itkonen, J., Lassenius, C., 2015. Problems, Causes and Solutions When Adopting Continuous Delivery - A Systematic
Literature Review. Manuscript in preparation.
23/11/15
39
Problems are connected
23/11/15
40
Laukkanen, E., Itkonen, J., Lassenius, C., 2015. Problems, Causes and Solutions When Adopting Continuous Delivery - A Systematic
Literature Review. Manuscript in preparation.
What to consider
•  Value of fast release cycle
•  Competitive market
•  Product ambiguity
•  Cost of fast release cycle
•  Competences, legacy code, infrastructure, maintenance
•  How often can you release
•  Cost of release
•  How long can quality assurance take
•  Cost of production bugs
23/11/15
41
Thanks!eero.laukkanen@aalto.fi

More Related Content

What's hot

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
 
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
 
Continuous Deployment To The Cloud @DevoxxPL 2017
Continuous Deployment To The Cloud @DevoxxPL 2017 Continuous Deployment To The Cloud @DevoxxPL 2017
Continuous Deployment To The Cloud @DevoxxPL 2017 Marcin Grzejszczak
 
Metrics driven dev ops 2017
Metrics driven dev ops 2017Metrics driven dev ops 2017
Metrics driven dev ops 2017Jerry Tan
 
Transforming Organizations with CI/CD
Transforming Organizations with CI/CDTransforming Organizations with CI/CD
Transforming Organizations with CI/CDCprime
 
DevOps by the Numbers - How to Approach the Measurement and Metrics of Your C...
DevOps by the Numbers - How to Approach the Measurement and Metrics of Your C...DevOps by the Numbers - How to Approach the Measurement and Metrics of Your C...
DevOps by the Numbers - How to Approach the Measurement and Metrics of Your C...XebiaLabs
 
My Dad Won't Buy Me DevOps
My Dad Won't Buy Me DevOpsMy Dad Won't Buy Me DevOps
My Dad Won't Buy Me DevOpsXebiaLabs
 
Flusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous DeliveryFlusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous DeliveryJoost van der Griendt
 
DevOps in 5 minutes
DevOps in 5 minutesDevOps in 5 minutes
DevOps in 5 minutesJolyon Brown
 
Agile Strategies for Traditional Software Development Teams
Agile Strategies for Traditional Software Development TeamsAgile Strategies for Traditional Software Development Teams
Agile Strategies for Traditional Software Development TeamsTechWell
 
DevOps MythBusters
DevOps MythBustersDevOps MythBusters
DevOps MythBustersXebiaLabs
 
The business case for devops
The business case for devopsThe business case for devops
The business case for devopsMatthew Skelton
 
Is Your DevOps Ready to Scale?
Is Your DevOps Ready to Scale?Is Your DevOps Ready to Scale?
Is Your DevOps Ready to Scale?XebiaLabs
 
Ralph Jocham, effective agile - Scaled Scrum at Swiss Postal Services | Agile...
Ralph Jocham, effective agile - Scaled Scrum at Swiss Postal Services | Agile...Ralph Jocham, effective agile - Scaled Scrum at Swiss Postal Services | Agile...
Ralph Jocham, effective agile - Scaled Scrum at Swiss Postal Services | Agile...Agile Greece
 
Diving Deeper into DevOps Deployments
Diving Deeper into DevOps DeploymentsDiving Deeper into DevOps Deployments
Diving Deeper into DevOps DeploymentsJules Pierre-Louis
 
Continuous Delivery at Oracle Database Insights
Continuous Delivery at Oracle Database InsightsContinuous Delivery at Oracle Database Insights
Continuous Delivery at Oracle Database InsightsMichael Medin
 
DevOps Deep Dive Webinar: Building a business case for agile and devops
DevOps Deep Dive Webinar: Building a business case for agile and devopsDevOps Deep Dive Webinar: Building a business case for agile and devops
DevOps Deep Dive Webinar: Building a business case for agile and devopsBasis Technologies
 

What's hot (20)

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
 
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
 
Bn1006 demo ppt devops
Bn1006 demo ppt devopsBn1006 demo ppt devops
Bn1006 demo ppt devops
 
Continuous Deployment To The Cloud @DevoxxPL 2017
Continuous Deployment To The Cloud @DevoxxPL 2017 Continuous Deployment To The Cloud @DevoxxPL 2017
Continuous Deployment To The Cloud @DevoxxPL 2017
 
Metrics driven dev ops 2017
Metrics driven dev ops 2017Metrics driven dev ops 2017
Metrics driven dev ops 2017
 
Transforming Organizations with CI/CD
Transforming Organizations with CI/CDTransforming Organizations with CI/CD
Transforming Organizations with CI/CD
 
Cd syd
Cd sydCd syd
Cd syd
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
DevOps by the Numbers - How to Approach the Measurement and Metrics of Your C...
DevOps by the Numbers - How to Approach the Measurement and Metrics of Your C...DevOps by the Numbers - How to Approach the Measurement and Metrics of Your C...
DevOps by the Numbers - How to Approach the Measurement and Metrics of Your C...
 
My Dad Won't Buy Me DevOps
My Dad Won't Buy Me DevOpsMy Dad Won't Buy Me DevOps
My Dad Won't Buy Me DevOps
 
Flusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous DeliveryFlusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous Delivery
 
DevOps in 5 minutes
DevOps in 5 minutesDevOps in 5 minutes
DevOps in 5 minutes
 
Agile Strategies for Traditional Software Development Teams
Agile Strategies for Traditional Software Development TeamsAgile Strategies for Traditional Software Development Teams
Agile Strategies for Traditional Software Development Teams
 
DevOps MythBusters
DevOps MythBustersDevOps MythBusters
DevOps MythBusters
 
The business case for devops
The business case for devopsThe business case for devops
The business case for devops
 
Is Your DevOps Ready to Scale?
Is Your DevOps Ready to Scale?Is Your DevOps Ready to Scale?
Is Your DevOps Ready to Scale?
 
Ralph Jocham, effective agile - Scaled Scrum at Swiss Postal Services | Agile...
Ralph Jocham, effective agile - Scaled Scrum at Swiss Postal Services | Agile...Ralph Jocham, effective agile - Scaled Scrum at Swiss Postal Services | Agile...
Ralph Jocham, effective agile - Scaled Scrum at Swiss Postal Services | Agile...
 
Diving Deeper into DevOps Deployments
Diving Deeper into DevOps DeploymentsDiving Deeper into DevOps Deployments
Diving Deeper into DevOps Deployments
 
Continuous Delivery at Oracle Database Insights
Continuous Delivery at Oracle Database InsightsContinuous Delivery at Oracle Database Insights
Continuous Delivery at Oracle Database Insights
 
DevOps Deep Dive Webinar: Building a business case for agile and devops
DevOps Deep Dive Webinar: Building a business case for agile and devopsDevOps Deep Dive Webinar: Building a business case for agile and devops
DevOps Deep Dive Webinar: Building a business case for agile and devops
 

Viewers also liked

Who will test your tests?
Who will test your tests?Who will test your tests?
Who will test your tests?Yahya Poonawala
 
Overcoming the fear of deployments
Overcoming the fear of deploymentsOvercoming the fear of deployments
Overcoming the fear of deploymentsAndrei Tognolo
 
Pull requests and testers can be friends
Pull requests and testers can be friendsPull requests and testers can be friends
Pull requests and testers can be friendsAlan Parkinson
 
Continuous Visual Integration - RailsConf 2016 - Mike Fotinakis - Percy.io
Continuous Visual Integration - RailsConf 2016 - Mike Fotinakis - Percy.ioContinuous Visual Integration - RailsConf 2016 - Mike Fotinakis - Percy.io
Continuous Visual Integration - RailsConf 2016 - Mike Fotinakis - Percy.ioMike Fotinakis
 
Entregas Contínuas com feature toggles
Entregas Contínuas com feature togglesEntregas Contínuas com feature toggles
Entregas Contínuas com feature togglessolon_aguiar
 
Refactoring for Software Design Smells - Tech Talk
Refactoring for Software Design Smells - Tech TalkRefactoring for Software Design Smells - Tech Talk
Refactoring for Software Design Smells - Tech TalkGanesh Samarthyam
 
Why we used Feature Branching
Why we used Feature BranchingWhy we used Feature Branching
Why we used Feature BranchingAlan Parkinson
 
Requirement and Test for Continuous Delivery - Customer in focus at Scania Co...
Requirement and Test for Continuous Delivery - Customer in focus at Scania Co...Requirement and Test for Continuous Delivery - Customer in focus at Scania Co...
Requirement and Test for Continuous Delivery - Customer in focus at Scania Co...Jonatan Mossberg
 
Trunk Based Development (CBSoft 2011)
Trunk Based Development (CBSoft 2011)Trunk Based Development (CBSoft 2011)
Trunk Based Development (CBSoft 2011)Wildtech
 
Feature Toggle Examples
Feature Toggle ExamplesFeature Toggle Examples
Feature Toggle ExamplesWildtech
 
Feature Flags Are Flawed: Let's Make Them Better
Feature Flags Are Flawed: Let's Make Them BetterFeature Flags Are Flawed: Let's Make Them Better
Feature Flags Are Flawed: Let's Make Them BetterStephen Young
 
Strategies in continuous delivery
Strategies in continuous deliveryStrategies in continuous delivery
Strategies in continuous deliveryAviran Mordo
 
Feature Flagging to Reduce Risk in Database Migrations
Feature Flagging to Reduce Risk in Database Migrations Feature Flagging to Reduce Risk in Database Migrations
Feature Flagging to Reduce Risk in Database Migrations LaunchDarkly
 
Feature flags to speed up & de risk development
Feature flags to speed up & de risk developmentFeature flags to speed up & de risk development
Feature flags to speed up & de risk developmentLaunchDarkly
 
Feature Toggle XP Conference 2016 Kalpana Gulati
Feature Toggle  XP Conference 2016 Kalpana GulatiFeature Toggle  XP Conference 2016 Kalpana Gulati
Feature Toggle XP Conference 2016 Kalpana GulatiXP Conference India
 
Multiple projects, different goals, one thing in common: the codebase!
Multiple projects, different goals, one thing in common: the codebase!Multiple projects, different goals, one thing in common: the codebase!
Multiple projects, different goals, one thing in common: the codebase!Carlos Lopes
 
Waffle: A feature switch/flag/toggle application for Django
Waffle: A feature switch/flag/toggle application for DjangoWaffle: A feature switch/flag/toggle application for Django
Waffle: A feature switch/flag/toggle application for Djangotobych
 
Merge hells - Feature Toggles to the rescue
Merge hells - Feature Toggles to the rescueMerge hells - Feature Toggles to the rescue
Merge hells - Feature Toggles to the rescueLeena N
 

Viewers also liked (20)

Who will test your tests?
Who will test your tests?Who will test your tests?
Who will test your tests?
 
Overcoming the fear of deployments
Overcoming the fear of deploymentsOvercoming the fear of deployments
Overcoming the fear of deployments
 
Pull requests and testers can be friends
Pull requests and testers can be friendsPull requests and testers can be friends
Pull requests and testers can be friends
 
Continuous Visual Integration - RailsConf 2016 - Mike Fotinakis - Percy.io
Continuous Visual Integration - RailsConf 2016 - Mike Fotinakis - Percy.ioContinuous Visual Integration - RailsConf 2016 - Mike Fotinakis - Percy.io
Continuous Visual Integration - RailsConf 2016 - Mike Fotinakis - Percy.io
 
Entregas Contínuas com feature toggles
Entregas Contínuas com feature togglesEntregas Contínuas com feature toggles
Entregas Contínuas com feature toggles
 
Refactoring for Software Design Smells - Tech Talk
Refactoring for Software Design Smells - Tech TalkRefactoring for Software Design Smells - Tech Talk
Refactoring for Software Design Smells - Tech Talk
 
Why we used Feature Branching
Why we used Feature BranchingWhy we used Feature Branching
Why we used Feature Branching
 
Requirement and Test for Continuous Delivery - Customer in focus at Scania Co...
Requirement and Test for Continuous Delivery - Customer in focus at Scania Co...Requirement and Test for Continuous Delivery - Customer in focus at Scania Co...
Requirement and Test for Continuous Delivery - Customer in focus at Scania Co...
 
Trunk Based Development (CBSoft 2011)
Trunk Based Development (CBSoft 2011)Trunk Based Development (CBSoft 2011)
Trunk Based Development (CBSoft 2011)
 
Feature Toggle Examples
Feature Toggle ExamplesFeature Toggle Examples
Feature Toggle Examples
 
Feature Flags Are Flawed: Let's Make Them Better
Feature Flags Are Flawed: Let's Make Them BetterFeature Flags Are Flawed: Let's Make Them Better
Feature Flags Are Flawed: Let's Make Them Better
 
Strategies in continuous delivery
Strategies in continuous deliveryStrategies in continuous delivery
Strategies in continuous delivery
 
Feature Toggles
Feature TogglesFeature Toggles
Feature Toggles
 
Feature Flagging to Reduce Risk in Database Migrations
Feature Flagging to Reduce Risk in Database Migrations Feature Flagging to Reduce Risk in Database Migrations
Feature Flagging to Reduce Risk in Database Migrations
 
Feature flags to speed up & de risk development
Feature flags to speed up & de risk developmentFeature flags to speed up & de risk development
Feature flags to speed up & de risk development
 
Test Automation
Test AutomationTest Automation
Test Automation
 
Feature Toggle XP Conference 2016 Kalpana Gulati
Feature Toggle  XP Conference 2016 Kalpana GulatiFeature Toggle  XP Conference 2016 Kalpana Gulati
Feature Toggle XP Conference 2016 Kalpana Gulati
 
Multiple projects, different goals, one thing in common: the codebase!
Multiple projects, different goals, one thing in common: the codebase!Multiple projects, different goals, one thing in common: the codebase!
Multiple projects, different goals, one thing in common: the codebase!
 
Waffle: A feature switch/flag/toggle application for Django
Waffle: A feature switch/flag/toggle application for DjangoWaffle: A feature switch/flag/toggle application for Django
Waffle: A feature switch/flag/toggle application for Django
 
Merge hells - Feature Toggles to the rescue
Merge hells - Feature Toggles to the rescueMerge hells - Feature Toggles to the rescue
Merge hells - Feature Toggles to the rescue
 

Similar to Continuous Integration, Delivery and Deployment

How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks Ulf Mattsson
 
Ncerc rlmca202 adm m3 ssm
Ncerc rlmca202  adm m3 ssmNcerc rlmca202  adm m3 ssm
Ncerc rlmca202 adm m3 ssmssmarar
 
Testing in the new age of DevOps
Testing in the new age of DevOpsTesting in the new age of DevOps
Testing in the new age of DevOpsMoataz Mahmoud
 
Freedom and Responsibility
Freedom and ResponsibilityFreedom and Responsibility
Freedom and ResponsibilityMike Ruangutai
 
Jenkins Continuous Delivery
Jenkins Continuous DeliveryJenkins Continuous Delivery
Jenkins Continuous DeliveryJadson Santos
 
Backend Master | 3.4.1 Deploy - Deploy Automation
Backend Master | 3.4.1 Deploy - Deploy AutomationBackend Master | 3.4.1 Deploy - Deploy Automation
Backend Master | 3.4.1 Deploy - Deploy AutomationKyunghun Jeon
 
AfterTest Madrid March 2016 - DevOps and Testing Introduction
AfterTest Madrid March 2016 - DevOps and Testing IntroductionAfterTest Madrid March 2016 - DevOps and Testing Introduction
AfterTest Madrid March 2016 - DevOps and Testing IntroductionPeter Marshall
 
Continuous integration testing fundamentals
Continuous integration testing fundamentalsContinuous integration testing fundamentals
Continuous integration testing fundamentalsCygnet Infotech
 
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.
 
An Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdfAn Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdfKMSSolutionsMarketin
 
How to build confidence in your release cycle
How to build confidence in your release cycleHow to build confidence in your release cycle
How to build confidence in your release cycleDiUS
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own wordsSUBHENDU KARMAKAR
 
Continuous Testing of Cloud Applications
Continuous Testing of Cloud ApplicationsContinuous Testing of Cloud Applications
Continuous Testing of Cloud ApplicationsTechWell
 
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
 

Similar to Continuous Integration, Delivery and Deployment (20)

How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks
 
Ncerc rlmca202 adm m3 ssm
Ncerc rlmca202  adm m3 ssmNcerc rlmca202  adm m3 ssm
Ncerc rlmca202 adm m3 ssm
 
Journey to the center of DevOps - v6
Journey to the center of DevOps - v6Journey to the center of DevOps - v6
Journey to the center of DevOps - v6
 
Testing in the new age of DevOps
Testing in the new age of DevOpsTesting in the new age of DevOps
Testing in the new age of DevOps
 
Freedom and Responsibility
Freedom and ResponsibilityFreedom and Responsibility
Freedom and Responsibility
 
Continuous Delivery Maturity Model
Continuous Delivery Maturity ModelContinuous Delivery Maturity Model
Continuous Delivery Maturity Model
 
Jenkins Continuous Delivery
Jenkins Continuous DeliveryJenkins Continuous Delivery
Jenkins Continuous Delivery
 
Continuous integration with Jenkins
Continuous integration with JenkinsContinuous integration with Jenkins
Continuous integration with Jenkins
 
Backend Master | 3.4.1 Deploy - Deploy Automation
Backend Master | 3.4.1 Deploy - Deploy AutomationBackend Master | 3.4.1 Deploy - Deploy Automation
Backend Master | 3.4.1 Deploy - Deploy Automation
 
Cloud Testing Research
Cloud Testing ResearchCloud Testing Research
Cloud Testing Research
 
AfterTest Madrid March 2016 - DevOps and Testing Introduction
AfterTest Madrid March 2016 - DevOps and Testing IntroductionAfterTest Madrid March 2016 - DevOps and Testing Introduction
AfterTest Madrid March 2016 - DevOps and Testing Introduction
 
Continuous integration testing fundamentals
Continuous integration testing fundamentalsContinuous integration testing fundamentals
Continuous integration testing fundamentals
 
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
 
An Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdfAn Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdf
 
Fundamentals of software testing
Fundamentals of software testingFundamentals of software testing
Fundamentals of software testing
 
How to build confidence in your release cycle
How to build confidence in your release cycleHow to build confidence in your release cycle
How to build confidence in your release cycle
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
 
Continuous Testing of Cloud Applications
Continuous Testing of Cloud ApplicationsContinuous Testing of Cloud Applications
Continuous Testing of Cloud Applications
 
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
 
Cloud for Agile Testing - Burak Koyuncu
Cloud for Agile Testing - Burak KoyuncuCloud for Agile Testing - Burak Koyuncu
Cloud for Agile Testing - Burak Koyuncu
 

More from Eero Laukkanen

Comparison of release engineering practices in a large mature company and a s...
Comparison of release engineering practices in a large mature company and a s...Comparison of release engineering practices in a large mature company and a s...
Comparison of release engineering practices in a large mature company and a s...Eero Laukkanen
 
Towards continuous delivery by reducing the feature freeze period: a case study
Towards continuous delivery by reducing the feature freeze period: a case studyTowards continuous delivery by reducing the feature freeze period: a case study
Towards continuous delivery by reducing the feature freeze period: a case studyEero Laukkanen
 
Practical usage of OPC UA information models
Practical usage of OPC UA information modelsPractical usage of OPC UA information models
Practical usage of OPC UA information modelsEero Laukkanen
 
Bottom-up Adoption of Continuous Delivery in a Stage-gate Managed Software Or...
Bottom-up Adoption of Continuous Delivery in a Stage-gate Managed Software Or...Bottom-up Adoption of Continuous Delivery in a Stage-gate Managed Software Or...
Bottom-up Adoption of Continuous Delivery in a Stage-gate Managed Software Or...Eero Laukkanen
 
Stakeholder Perceptions of the Adoption of Continuous Integration – A Case Study
Stakeholder Perceptions of the Adoption of Continuous Integration – A Case StudyStakeholder Perceptions of the Adoption of Continuous Integration – A Case Study
Stakeholder Perceptions of the Adoption of Continuous Integration – A Case StudyEero Laukkanen
 
Build waiting time in continuous integration
Build waiting time in continuous integrationBuild waiting time in continuous integration
Build waiting time in continuous integrationEero Laukkanen
 

More from Eero Laukkanen (6)

Comparison of release engineering practices in a large mature company and a s...
Comparison of release engineering practices in a large mature company and a s...Comparison of release engineering practices in a large mature company and a s...
Comparison of release engineering practices in a large mature company and a s...
 
Towards continuous delivery by reducing the feature freeze period: a case study
Towards continuous delivery by reducing the feature freeze period: a case studyTowards continuous delivery by reducing the feature freeze period: a case study
Towards continuous delivery by reducing the feature freeze period: a case study
 
Practical usage of OPC UA information models
Practical usage of OPC UA information modelsPractical usage of OPC UA information models
Practical usage of OPC UA information models
 
Bottom-up Adoption of Continuous Delivery in a Stage-gate Managed Software Or...
Bottom-up Adoption of Continuous Delivery in a Stage-gate Managed Software Or...Bottom-up Adoption of Continuous Delivery in a Stage-gate Managed Software Or...
Bottom-up Adoption of Continuous Delivery in a Stage-gate Managed Software Or...
 
Stakeholder Perceptions of the Adoption of Continuous Integration – A Case Study
Stakeholder Perceptions of the Adoption of Continuous Integration – A Case StudyStakeholder Perceptions of the Adoption of Continuous Integration – A Case Study
Stakeholder Perceptions of the Adoption of Continuous Integration – A Case Study
 
Build waiting time in continuous integration
Build waiting time in continuous integrationBuild waiting time in continuous integration
Build waiting time in continuous integration
 

Recently uploaded

Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991RKavithamani
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docxPoojaSen20
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 

Recently uploaded (20)

Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docx
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 

Continuous Integration, Delivery and Deployment

  • 1. Continuous Integration, Delivery and Deployment Eero Laukkanen T-76.5613 - Software Testing and Quality Assurance P 20.11.2015
  • 2. System Integration In engineering, system integration is defined as the process of bringing together the component subsystems and ensuring that the subsystems function together as a system. https://en.wikipedia.org/wiki/System_integration 23/11/15 2
  • 3. Software Integration •  System Integration •  Change Integration: Merging 23/11/15 3 Possible integration conflict!
  • 4. Integration Conflicts •  Merge Conflicts •  Detected by version control software •  Semantic Conflicts •  Detected by compiler, tests and code review http://martinfowler.com/bliki/SemanticConflict.html 23/11/15 4
  • 5. Regression Testing The purpose of regression testing is to ensure that changes have not introduced new faults. Experience has shown that as software is changed, emergence of new faults and/or re-emergence of old faults is quite common. https://en.wikipedia.org/wiki/Regression_testing 23/11/15 5
  • 6. History of Software Integration and Regression Testing •  Prehistory: Big Bang Integration •  1996: Daily Build and Smoke Test (Steve McConnell) •  2000: XP and Continuous Integration (Kent Beck) •  2006: Continuous Integration (Martin Fowler) •  2009: Continuous Deployment (Timothy Fitz) •  2010: Continuous Delivery (Jez Humble & David Farley) •  2012: Experiment System (Holmström Olsson et al.) 23/11/15 6
  • 7. Big Bang Integration •  System Integration •  Develop subsystems independently, integrate when ready •  Change Integration •  Develop changes in branches, merge when ready 23/11/15 7
  • 8. Big Bang Integration “We entered a huge depressing warehouse stacked full with cubes. I was told that this project had been in development for a couple of years and was currently integrating, and had been integrating for several months. My guide told me that nobody really knew how long it would take to finish integrating. From this I learned a common story of software projects: integration is a long and unpredictable process.” http://www.martinfowler.com/articles/continuousIntegration.html 23/11/15 8
  • 9. Big Bang Integration •  Development is simple, because nothing is changing •  Integration is complex and takes unpredictable time 23/11/15 9
  • 11. 1996: Daily Build and Smoke Test •  Build and smoke test the whole software system daily •  Fix broken builds •  “Integrate… usually once every few days” McConnell, S., 1996. Daily build and smoke test. IEEE software 143–144. 23/11/15 11
  • 12. Daily Build and Smoke Test 23/11/15 12 time code developed verified Big Bang Daily •  Minimizes integration and low quality risk •  Easier defect diagnosis •  Improved morale risk
  • 13. Daily Build and Smoke Test •  Context of large systems •  Tests allowed to take multiple hours •  Timed builds •  Smoke tests evolve when the system evolves •  Dedicated roles take care of the build 23/11/15 13
  • 14. Daily Build and Smoke Test “The smoke test should be thorough enough that if the build passes, you can assume that it is stable enough to be tested more thoroughly.” “The standard needs to set a quality level that’s strict enough to keep showstopper defects out but lenient enough to disregard trivial defects, an undue attention to which could paralyze progress.” 23/11/15 14
  • 15. 2000: Extreme Programming •  Holistic software development methodology •  Continuous Integration, one of the many practices Beck, K., 2000. Extreme programming explained: embrace change. Addison-Wesley Professional. 23/11/15 15
  • 16. Extreme Programming and Continuous Integration “No code sits unintegrated for more than a couple of hours.” “At the end of every development episode, the code is integrated and all the tests must run at 100%.” “You need a reasonably complete test suite that runs in a few minutes.” 23/11/15 16
  • 17. Continuous Integration 23/11/15 17 Develop (a couple of hours) Integration & Testing (a few minutes) Fix broken build pass fail
  • 18. 2006: Continuous Integration Extended •  Single source repository •  Integration machine •  Fix broken builds immediately •  Keep the build fast (10 minutes) •  Test in a clone of the production environment •  Automate deployment http://www.martinfowler.com/articles/continuousIntegration.html 23/11/15 18
  • 19. 2009: Continuous Deployment “The high level of our process is dead simple: Continuously integrate (commit early and often). On commit automatically run all tests. If the tests pass deploy to the cluster. If the deploy succeeds, repeat.” http://timothyfitz.com/2009/02/08/continuous-deployment/ http://timothyfitz.com/2009/02/10/continuous-deployment-at-imvu-doing-the-impossible-fifty-times-a-day/ 23/11/15 19
  • 20. Continuous Deployment “So what magic happens in our test suite that allows us to skip having a manual Quality Assurance step in our deploy process? The magic is in the scope, scale and thoroughness. It’s a thousand test files and counting. 4.4 machine hours of automated tests to be exact.” “Great test coverage is not enough. Continuous Deployment requires much more than that. Continuous Deployment means running all your tests, all the time. That means tests must be reliable.” 23/11/15 20
  • 21. Continuous Deployment •  Context of cloud systems •  Problems in production will always happen •  How to mitigate the problems? •  Smaller releases have smaller scope and are easier to debug •  Automated deployments allow fast fixing •  Deploy to a subset of users first to mitigate problem scope •  Production can be monitored and reverted automatically 23/11/15 21
  • 23. 2010: Continuous Delivery •  Every change should be releasable… •  ...but not necessarily released automatically •  Allows human verification Humble, J., Farley, D., 2010. Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Addison-Wesley Professional. 23/11/15 23
  • 26. Continuous Delivery You’re doing continuous delivery 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 any time somebody makes a change to them •  You can perform push-button deployments of any version of the software to any environment on demand http://martinfowler.com/bliki/ContinuousDelivery.html 23/11/15 26
  • 27. 2012: Experiment System 23/11/15 27 Traditional Development Agile R&D Organization Continuous Integration Continuous Deployment R&D as an Experiment System Olsson, H.H., Alahyari, H., Bosch, J., 2012. Climbing the “Stairway to Heaven” – A Multiple-Case Study Exploring Barriers in the Transition from Agile Development Towards Continuous Deployment of Software, in: Proceedings of the 2012 38th Euromicro Conference on Software Engineering and Advanced Applications. Washington, DC, USA, pp. 392–399.
  • 28. Experiment System “actual deployment of software functionality is seen as a way of experimenting and testing what the customer needs” •  Beyond regression testing and integration •  Avoid software bloat 23/11/15 28
  • 34. Practitioner surveys •  2015 State of DevOps Report •  ~5000 respondents •  2013 Continuous Delivery: A Maturity Assessment Model •  ~300 respondents https://puppetlabs.com/2015-devops-report http://info.thoughtworks.com/Continuous-Delivery-Maturity-Model.html 23/11/15 34
  • 36. Survey: deployment lead time 23/11/15 36
  • 39. Problems when adopting continuous delivery •  Build design •  Complex build, inflexible build •  Product design •  Modularization, internal dependencies, database schema changes, unsuitable architecture •  Integration •  Large commits, broken build, merge conflicts, work blockage, long-running branches… •  Testing •  Ambiguous test result, flaky tests, untestable code, time-consuming testing, UI testing… •  Release •  Customer data preservation, documentation, feature discovery, marketing, more deployed bugs •  Human & Organization •  Lack of discipline, more pressure, lack of motivation, lack of experience, team coordination… •  Resources •  Effort, insufficient hardware resources, network latencies Laukkanen, E., Itkonen, J., Lassenius, C., 2015. Problems, Causes and Solutions When Adopting Continuous Delivery - A Systematic Literature Review. Manuscript in preparation. 23/11/15 39
  • 40. Problems are connected 23/11/15 40 Laukkanen, E., Itkonen, J., Lassenius, C., 2015. Problems, Causes and Solutions When Adopting Continuous Delivery - A Systematic Literature Review. Manuscript in preparation.
  • 41. What to consider •  Value of fast release cycle •  Competitive market •  Product ambiguity •  Cost of fast release cycle •  Competences, legacy code, infrastructure, maintenance •  How often can you release •  Cost of release •  How long can quality assurance take •  Cost of production bugs 23/11/15 41