SlideShare a Scribd company logo
1 of 44
Download to read offline
continuous delivery 
@jezhumble 
10 september 2014
water- 
scrum-fall
s
what is continuous delivery? 
reduce the cost, time, and risk of 
delivering incremental changes to 
users while improving quality
production-ready software 
fast, automated feedback on the 
production readiness of your 
applications every time there is a change 
— to code, infrastructure, or 
configuration
continuous delivery 
architecture 
patterns and practices 
collaboration
ingredients 
configuration management 
continuous integration 
automated testing
Mainline Server 
Develop 
Build 
Build 
Local 
Workstation 
pull 
Build 
push 
✔ 
Done! 
© @martinfowler
Mainline Server 
Develop 
Everyone Commits To 
Build 
the Mainline Every Day 
Build 
Local 
Workstation 
pull 
Build 
push 
✔ 
Done! 
© @martinfowler
P1 P2 
B1 
B1 
G1 G2 
B1 
P1-2 
G1-2 
P4 
B2 
P5 
P3-4 
B2 
G3 G4 
G5 G6 
B2 
G3 
P3 
Professor Plum 
Mainline 
Reverend Green 
Feature Branching 
© @martinfowler
P1 P2 
B1 
B1 
G1 G2 
B1 
P1-2 
G1-2 
P4 
B2 
P5 
P3-4 
B2 
G3 G4 
G5 G6 
B2 
G3 
P3 
Professor Plum 
Mainline 
Reverend Green 
G1-6 
P1-5 
P1-5 
G1-6 
Feature Branching 
© @martinfowler
P1 P2 
B1 
B1 
G1 G2 
B1 
P1-2 
G1-2 
P4 
B2 
P5 
P3-4 
B2 
G3 G4 
G5 G6 
B2 
G3 
P3 
Professor Plum 
Mainline 
Reverend Green 
G1-6 
P1-5 
P1-5 
G1-6 
Feature Branching 
© @martinfowler
P1 P2 
B1 
B1 
G1 G2 
B1 
P1-2 
G1-2 
P4 
B2 
P5 
P3-4 
B2 
G3 G4 
G5 G6 
B2 
G3 
P3 
Professor Plum 
Mainline 
Reverend Green 
G1-6 
P1-5 
P1-5 
G1-6 
Feature Branching 
© @martinfowler
P1 
P1 P2 
P3 
P4 
P4 
P3 P4 P5 
G1 
P2 
G2 
G3 
G1 G2 G3 G4 
G5 G6 
B1 B2 
G1 
P1 
B1 
B1 
P1-2 
G2 
G2 
P3 
B2 
B2 
G3 
P3 
G3 
P4 P5 
P4-5 
G4 
G4 G5 G6 
P2 
Professor Plum 
Mainline 
Reverend Green 
Continuous Integration 
© @martinfowler
P1 P2 
B1 
Feature Branch 
G1 G2 
P1 
P1 P2 
P3 
P4 
B2 
P4 
P3-4 
B2 
P4 
P5 
P3 P4 P5 
G1 
P2 
G2 
G3 
G1 G2 G3 G4 
G5 G6 
B1 B2 
G1 
P1 
B1 
B1 
P1-2 
G2 
G2 
P3 
B2 
B2 
G3 
P3 
G3 
P4 P5 
P4-5 
G4 
G4 G5 G6 
P2 
Mainline 
Professor Plum 
Mainline 
Reverend Green 
B1 
B1 
P1-2 
G1-2 
G3 G4 
G5 G6 
B2 
G3 
P3 
Professor Plum 
Reverend Green 
G1-6 
P1-5 
P1-5 
G1-6 
Continuous Integration 
© @martinfowler
Feature Branch 
Continuous Integration 
© @martinfowler
Feature Branch 
Release Branch 
Experimental 
Branch 
© @martinfowler
Grand Prize Fight 
© @martinfowler
Feature Branching 
BAM 
Continuous Integration 
Big Scary 
Merge 
© @martinfowler
P1 P2 
B1 
Feature Branch 
G1 G2 
P1 
P1 P2 
P3 
P4 
B2 
P4 
P3-4 
B2 
P4 
P5 
P3 P4 P5 
G1 
P2 
G2 
G3 
G1 G2 G3 G4 
G5 G6 
B1 B2 
G1 
P1 
B1 
B1 
P1-2 
G2 
G2 
P3 
B2 
B2 
G3 
P3 
G3 
P4 P5 
P4-5 
G4 
G4 G5 G6 
P2 
Mainline 
Professor Plum 
Mainline 
Reverend Green 
B1 
B1 
P1-2 
G1-2 
G3 G4 
G5 G6 
B2 
G3 
P3 
Professor Plum 
Reverend Green 
G1-6 
P1-5 
P1-5 
G1-6 
Continuous Integration 
© @martinfowler
Feature Branching 
BAM 
Continuous Integration 
Big Scary 
Merge 
BIFF Untrusted 
Contributers 
© @martinfowler
Feature Branching 
BAM 
Continuous Integration 
Big Scary 
Merge 
BIFF Untrusted 
Contributers 
POW ! 
In-progress features 
© @martinfowler
Config File 
[featureToggles] 
wobblyFoobars: true 
flightyForkHandles: false 
some.jsp 
Feature Toggles 
<toggle name=wobblyFoobars> 
... various UI elements 
</toggle> 
forkHandle = (featureConfig.isOn(‘flightlyForkHandles)) ? 
new FlightyForkHander(aCandle) : 
new ForkHandler(aCandle) 
other.java 
© @martinfowler
Branch by Abstraction 
© @martinfowler
Application 
Library 
New! 
Library 
© @martinfowler
Application 
Library 
Interface implements 
New! 
Library 
© @martinfowler
Application 
Library 
Interface implements 
New! 
Library 
© @martinfowler
Application 
Library 
Interface implements 
New! 
Library 
© @martinfowler
Application 
Interface implements 
New! 
Library 
© @martinfowler
Feature Branching 
BAM 
No Refactoring 
Continuous Integration 
Big Scary 
Merge 
BIFF Untrusted 
Contributors 
POW ! 
In-progress features 
KA-POW! 
© @martinfowler
P1 P2 
B1 
Feature Branch 
G1 G2 
P1 
P1 P2 
P3 
P4 
B2 
P4 
P3-4 
B2 
P4 
P5 
P3 P4 P5 
G1 
P2 
G2 
G3 
G1 G2 G3 G4 
G5 G6 
B1 B2 
G1 
P1 
B1 
B1 
P1-2 
G2 
G2 
P3 
B2 
B2 
G3 
P3 
G3 
P4 P5 
P4-5 
G4 
G4 G5 G6 
P2 
Mainline 
Professor Plum 
Mainline 
Reverend Green 
B1 
B1 
P1-2 
G1-2 
G3 G4 
G5 G6 
B2 
G3 
P3 
Professor Plum 
Reverend Green 
G1-6 
P1-5 
P1-5 
G1-6 
Continuous Integration 
© @martinfowler
Feature Branching 
BAM 
Continuous Integration 
Big Scary 
Merge 
BIFF Untrusted 
Contributors 
POW ! 
No Refactoring 
KA-POW! 
In-progress features 
© @martinfowler
continuous integration 
Jason Leyba | http://www.infoq.com/presentations/google-test-automation
build quality in 
“Cease dependence on 
mass inspection to 
achieve quality. Improve 
the process and build 
quality into the product 
in the first place” 
! 
W. Edwards Deming
different kinds of testing 
Business facing 
Functional acceptance 
tests 
Showcases 
Usability testing 
Exploratory testing 
Unit tests 
Integration tests 
System tests 
Non-functional 
acceptance tests 
(performance, scaling, ...) 
Technology facing 
Critique project 
Support programming 
AUTOMATED 
AUTOMATED 
MANUAL 
MANUAL / AUTOMATED 
Diagram invented by Brian Marick
deployment pipeline 
an automated implementation of your 
system’s build, deploy, test, release process 
visibility 
feedback 
control
deployment pipeline 
Delivery team Version control Build & unit 
tests 
Automated 
acceptance tests 
User acceptance 
tests 
Release 
Check in 
Feedback 
Trigger 
Check in 
Trigger 
Feedback 
Trigger 
Check in 
Trigger 
Trigger 
Approval 
Approval 
Feedback 
Feedback 
Feedback 
Feedback
infrastructure as code
high performing IT is a competitive advantage 
“Firms with high-performing 
IT organizations were twice 
as likely to exceed their 
profitability, market share 
and productivity goals.” 
http://bit.ly/2014-devops-report
lead time 
“How long would it take your organization 
to deploy a change that involved just one 
single line of code? Do you do this on a 
repeatable, reliable basis?” 
Mary and Tom Poppendieck, Implementing Lean Software Development, p59.
time to restore service 
http://martinfowler.com/bliki/PhoenixServer.html
highest correlation with IT performance 
! 
• “Our app configurations are in a version control system” 
• “Our system configurations are in a version control system” 
• “Our app code is in a version control system” 
• “We get failure alerts from logging and monitoring systems” 
• “Developers merge their code into trunk daily” 
• “When development and operations teams interact, the outcome is 
generally win/win.” 
• “Developers break up large features into small, incremental changes.”
questions 
@jezhumble | jez@getchef.com 
http://continuousdelivery.com/ 
! 
© 2014 Chef, Inc. & ThoughtWorks, Inc.

More Related Content

What's hot

Jira Daten über Unternehmensgrenzen teilen – K15t Solution Forum 2018
Jira Daten über Unternehmensgrenzen teilen – K15t Solution Forum 2018Jira Daten über Unternehmensgrenzen teilen – K15t Solution Forum 2018
Jira Daten über Unternehmensgrenzen teilen – K15t Solution Forum 2018K15t
 
Continuous Delivery for Mature Code
Continuous Delivery for Mature CodeContinuous Delivery for Mature Code
Continuous Delivery for Mature CodeMelissa Benua
 
Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance TestingMairbek Khadikov
 
Orchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release PipelineOrchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release PipelineDevOps.com
 
Fun with Jenkins & Salesforce
Fun with Jenkins & SalesforceFun with Jenkins & Salesforce
Fun with Jenkins & SalesforceAbhinav Gupta
 
DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...
DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...
DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...Edureka!
 
Continuous Deployment To The Cloud
Continuous Deployment To The CloudContinuous Deployment To The Cloud
Continuous Deployment To The CloudMarcin Grzejszczak
 
Perforce - Under New Management by Konrad Litwin
Perforce - Under New Management by Konrad LitwinPerforce - Under New Management by Konrad Litwin
Perforce - Under New Management by Konrad LitwinPerforce
 
Best practices for implementing CI/CD on Salesforce
Best practices for implementing CI/CD on SalesforceBest practices for implementing CI/CD on Salesforce
Best practices for implementing CI/CD on SalesforceAIMDek Technologies
 
Metrics-driven Continuous Delivery
Metrics-driven Continuous DeliveryMetrics-driven Continuous Delivery
Metrics-driven Continuous DeliveryAndrew Phillips
 
Test Automation at the Speed of Agile: Making It Work Every Build
Test Automation at the Speed of Agile: Making It Work Every BuildTest Automation at the Speed of Agile: Making It Work Every Build
Test Automation at the Speed of Agile: Making It Work Every BuildTechWell
 
Git workflow step by step
Git workflow step by stepGit workflow step by step
Git workflow step by stepBinh Quan Duc
 
Continuous integration testing fundamentals
Continuous integration testing fundamentalsContinuous integration testing fundamentals
Continuous integration testing fundamentalsCygnet Infotech
 
Breaking the 2 Pizza Paradox with your Platform as an Application
Breaking the 2 Pizza Paradox with your Platform as an ApplicationBreaking the 2 Pizza Paradox with your Platform as an Application
Breaking the 2 Pizza Paradox with your Platform as an ApplicationMark Rendell
 
World-Class Test Automation: You Can Build It Too
World-Class Test Automation: You Can Build It TooWorld-Class Test Automation: You Can Build It Too
World-Class Test Automation: You Can Build It TooTechWell
 
5 Key Metrics to Release Better Software Faster
5 Key Metrics to Release Better Software Faster5 Key Metrics to Release Better Software Faster
5 Key Metrics to Release Better Software FasterDynatrace
 
Mastering Cross-Browser Test Automation With Cypress and Selenium
Mastering Cross-Browser Test Automation With Cypress and SeleniumMastering Cross-Browser Test Automation With Cypress and Selenium
Mastering Cross-Browser Test Automation With Cypress and SeleniumPerfecto by Perforce
 
Continuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour DallasContinuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour DallasVMware Tanzu
 
Salesforce CI/CD - A strategy for success
Salesforce CI/CD - A strategy for successSalesforce CI/CD - A strategy for success
Salesforce CI/CD - A strategy for successYassine ELQANDILI ☁
 
Managers, Future Proof Your Automation
Managers, Future Proof Your AutomationManagers, Future Proof Your Automation
Managers, Future Proof Your AutomationSauce Labs
 

What's hot (20)

Jira Daten über Unternehmensgrenzen teilen – K15t Solution Forum 2018
Jira Daten über Unternehmensgrenzen teilen – K15t Solution Forum 2018Jira Daten über Unternehmensgrenzen teilen – K15t Solution Forum 2018
Jira Daten über Unternehmensgrenzen teilen – K15t Solution Forum 2018
 
Continuous Delivery for Mature Code
Continuous Delivery for Mature CodeContinuous Delivery for Mature Code
Continuous Delivery for Mature Code
 
Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance Testing
 
Orchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release PipelineOrchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release Pipeline
 
Fun with Jenkins & Salesforce
Fun with Jenkins & SalesforceFun with Jenkins & Salesforce
Fun with Jenkins & Salesforce
 
DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...
DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...
DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...
 
Continuous Deployment To The Cloud
Continuous Deployment To The CloudContinuous Deployment To The Cloud
Continuous Deployment To The Cloud
 
Perforce - Under New Management by Konrad Litwin
Perforce - Under New Management by Konrad LitwinPerforce - Under New Management by Konrad Litwin
Perforce - Under New Management by Konrad Litwin
 
Best practices for implementing CI/CD on Salesforce
Best practices for implementing CI/CD on SalesforceBest practices for implementing CI/CD on Salesforce
Best practices for implementing CI/CD on Salesforce
 
Metrics-driven Continuous Delivery
Metrics-driven Continuous DeliveryMetrics-driven Continuous Delivery
Metrics-driven Continuous Delivery
 
Test Automation at the Speed of Agile: Making It Work Every Build
Test Automation at the Speed of Agile: Making It Work Every BuildTest Automation at the Speed of Agile: Making It Work Every Build
Test Automation at the Speed of Agile: Making It Work Every Build
 
Git workflow step by step
Git workflow step by stepGit workflow step by step
Git workflow step by step
 
Continuous integration testing fundamentals
Continuous integration testing fundamentalsContinuous integration testing fundamentals
Continuous integration testing fundamentals
 
Breaking the 2 Pizza Paradox with your Platform as an Application
Breaking the 2 Pizza Paradox with your Platform as an ApplicationBreaking the 2 Pizza Paradox with your Platform as an Application
Breaking the 2 Pizza Paradox with your Platform as an Application
 
World-Class Test Automation: You Can Build It Too
World-Class Test Automation: You Can Build It TooWorld-Class Test Automation: You Can Build It Too
World-Class Test Automation: You Can Build It Too
 
5 Key Metrics to Release Better Software Faster
5 Key Metrics to Release Better Software Faster5 Key Metrics to Release Better Software Faster
5 Key Metrics to Release Better Software Faster
 
Mastering Cross-Browser Test Automation With Cypress and Selenium
Mastering Cross-Browser Test Automation With Cypress and SeleniumMastering Cross-Browser Test Automation With Cypress and Selenium
Mastering Cross-Browser Test Automation With Cypress and Selenium
 
Continuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour DallasContinuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour Dallas
 
Salesforce CI/CD - A strategy for success
Salesforce CI/CD - A strategy for successSalesforce CI/CD - A strategy for success
Salesforce CI/CD - A strategy for success
 
Managers, Future Proof Your Automation
Managers, Future Proof Your AutomationManagers, Future Proof Your Automation
Managers, Future Proof Your Automation
 

Viewers also liked

Spelling Vocabulary Lesson #17
Spelling Vocabulary Lesson #17Spelling Vocabulary Lesson #17
Spelling Vocabulary Lesson #17la7th
 
Use of English exercises Upper Intermediate ESL
Use of English exercises Upper Intermediate ESLUse of English exercises Upper Intermediate ESL
Use of English exercises Upper Intermediate ESLMelissa Buendia
 
AS IF & AS THOUGH
AS IF & AS THOUGHAS IF & AS THOUGH
AS IF & AS THOUGHaugenthaler
 
Unit from Ready for FCE
Unit from Ready for FCE Unit from Ready for FCE
Unit from Ready for FCE Maria Mu
 
Continuous Deployment at Etsy: A Tale of Two Approaches
Continuous Deployment at Etsy: A Tale of Two ApproachesContinuous Deployment at Etsy: A Tale of Two Approaches
Continuous Deployment at Etsy: A Tale of Two ApproachesRoss Snyder
 
Startup life
Startup lifeStartup life
Startup lifeleonc
 
English Vocabulary
English VocabularyEnglish Vocabulary
English Vocabularym nagaRAJU
 
Principles and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at EtsyPrinciples and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at EtsyMike Brittain
 

Viewers also liked (9)

Spelling Vocabulary Lesson #17
Spelling Vocabulary Lesson #17Spelling Vocabulary Lesson #17
Spelling Vocabulary Lesson #17
 
Use of English exercises Upper Intermediate ESL
Use of English exercises Upper Intermediate ESLUse of English exercises Upper Intermediate ESL
Use of English exercises Upper Intermediate ESL
 
WORD FORMATION
WORD FORMATIONWORD FORMATION
WORD FORMATION
 
AS IF & AS THOUGH
AS IF & AS THOUGHAS IF & AS THOUGH
AS IF & AS THOUGH
 
Unit from Ready for FCE
Unit from Ready for FCE Unit from Ready for FCE
Unit from Ready for FCE
 
Continuous Deployment at Etsy: A Tale of Two Approaches
Continuous Deployment at Etsy: A Tale of Two ApproachesContinuous Deployment at Etsy: A Tale of Two Approaches
Continuous Deployment at Etsy: A Tale of Two Approaches
 
Startup life
Startup lifeStartup life
Startup life
 
English Vocabulary
English VocabularyEnglish Vocabulary
English Vocabulary
 
Principles and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at EtsyPrinciples and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at Etsy
 

Similar to What Continuous Delivery Means for Version Control

Building a Streaming Microservices Architecture - Data + AI Summit EU 2020
Building a Streaming Microservices Architecture - Data + AI Summit EU 2020Building a Streaming Microservices Architecture - Data + AI Summit EU 2020
Building a Streaming Microservices Architecture - Data + AI Summit EU 2020Databricks
 
How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16
How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16
How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16AppDynamics
 
How to Improve Performance Testing Using InfluxDB and Apache JMeter
How to Improve Performance Testing Using InfluxDB and Apache JMeterHow to Improve Performance Testing Using InfluxDB and Apache JMeter
How to Improve Performance Testing Using InfluxDB and Apache JMeterInfluxData
 
Infrastructure as Code for Network
Infrastructure as Code for NetworkInfrastructure as Code for Network
Infrastructure as Code for NetworkDamien Garros
 
Splunk conf2014 - Using Selenium and Splunk for Transaction Monitoring Insight
Splunk conf2014 - Using Selenium and Splunk for Transaction Monitoring InsightSplunk conf2014 - Using Selenium and Splunk for Transaction Monitoring Insight
Splunk conf2014 - Using Selenium and Splunk for Transaction Monitoring InsightSplunk
 
Building Evolvable Infrastructure
Building Evolvable InfrastructureBuilding Evolvable Infrastructure
Building Evolvable Infrastructurekiefdotcom
 
Part of the pipeline-why continuous testing is essential - velocity conf
Part of the pipeline-why continuous testing is essential - velocity confPart of the pipeline-why continuous testing is essential - velocity conf
Part of the pipeline-why continuous testing is essential - velocity confTapabrata Pal
 
Company presentation english 1 2015
Company presentation english 1 2015Company presentation english 1 2015
Company presentation english 1 2015Locanisag
 
SplDevOps: Making Splunk Development a Breeze With a Deep Dive on DevOps' Con...
SplDevOps: Making Splunk Development a Breeze With a Deep Dive on DevOps' Con...SplDevOps: Making Splunk Development a Breeze With a Deep Dive on DevOps' Con...
SplDevOps: Making Splunk Development a Breeze With a Deep Dive on DevOps' Con...Harry McLaren
 
Trunk based development
Trunk based developmentTrunk based development
Trunk based developmentgo_oh
 
REST API Security by Design with Azure Pipelines
REST API Security by Design with Azure PipelinesREST API Security by Design with Azure Pipelines
REST API Security by Design with Azure Pipelines42Crunch
 
Mule soft meetup_th_no1
Mule soft meetup_th_no1Mule soft meetup_th_no1
Mule soft meetup_th_no1WendyTey4
 
IBM Cognos Licensing Changes: What You Need to Know
IBM Cognos Licensing Changes: What You Need to KnowIBM Cognos Licensing Changes: What You Need to Know
IBM Cognos Licensing Changes: What You Need to KnowSenturus
 
Velocity 2014 Tool Chain Choices
Velocity 2014 Tool Chain ChoicesVelocity 2014 Tool Chain Choices
Velocity 2014 Tool Chain ChoicesMark Sigler
 
SAP TechEd 2018 OPP103 – An Introduction to DevOps
SAP TechEd 2018 OPP103 – An Introduction to DevOpsSAP TechEd 2018 OPP103 – An Introduction to DevOps
SAP TechEd 2018 OPP103 – An Introduction to DevOpsSAP Cloud Platform
 
2019 ibm io t exchange - meeting safety-related software audits
2019   ibm io t exchange - meeting safety-related software audits2019   ibm io t exchange - meeting safety-related software audits
2019 ibm io t exchange - meeting safety-related software auditsM Kevin McHugh
 
Enterprise Cloud with IBM & Chef (ChefConf 2013)
Enterprise Cloud with IBM & Chef (ChefConf 2013)Enterprise Cloud with IBM & Chef (ChefConf 2013)
Enterprise Cloud with IBM & Chef (ChefConf 2013)Michael Elder
 
3158 - Cloud Infrastructure & It Optimization - Application Performance Manag...
3158 - Cloud Infrastructure & It Optimization - Application Performance Manag...3158 - Cloud Infrastructure & It Optimization - Application Performance Manag...
3158 - Cloud Infrastructure & It Optimization - Application Performance Manag...Sandeep Chellingi
 
Mastering Mobile Test Automation with Appium
Mastering Mobile Test Automation with AppiumMastering Mobile Test Automation with Appium
Mastering Mobile Test Automation with AppiumPerfecto by Perforce
 

Similar to What Continuous Delivery Means for Version Control (20)

Building a Streaming Microservices Architecture - Data + AI Summit EU 2020
Building a Streaming Microservices Architecture - Data + AI Summit EU 2020Building a Streaming Microservices Architecture - Data + AI Summit EU 2020
Building a Streaming Microservices Architecture - Data + AI Summit EU 2020
 
How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16
How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16
How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16
 
How to Improve Performance Testing Using InfluxDB and Apache JMeter
How to Improve Performance Testing Using InfluxDB and Apache JMeterHow to Improve Performance Testing Using InfluxDB and Apache JMeter
How to Improve Performance Testing Using InfluxDB and Apache JMeter
 
Infrastructure as Code for Network
Infrastructure as Code for NetworkInfrastructure as Code for Network
Infrastructure as Code for Network
 
Splunk conf2014 - Using Selenium and Splunk for Transaction Monitoring Insight
Splunk conf2014 - Using Selenium and Splunk for Transaction Monitoring InsightSplunk conf2014 - Using Selenium and Splunk for Transaction Monitoring Insight
Splunk conf2014 - Using Selenium and Splunk for Transaction Monitoring Insight
 
Building Evolvable Infrastructure
Building Evolvable InfrastructureBuilding Evolvable Infrastructure
Building Evolvable Infrastructure
 
Part of the pipeline-why continuous testing is essential - velocity conf
Part of the pipeline-why continuous testing is essential - velocity confPart of the pipeline-why continuous testing is essential - velocity conf
Part of the pipeline-why continuous testing is essential - velocity conf
 
Company presentation english 1 2015
Company presentation english 1 2015Company presentation english 1 2015
Company presentation english 1 2015
 
SplDevOps: Making Splunk Development a Breeze With a Deep Dive on DevOps' Con...
SplDevOps: Making Splunk Development a Breeze With a Deep Dive on DevOps' Con...SplDevOps: Making Splunk Development a Breeze With a Deep Dive on DevOps' Con...
SplDevOps: Making Splunk Development a Breeze With a Deep Dive on DevOps' Con...
 
Trunk based development
Trunk based developmentTrunk based development
Trunk based development
 
REST API Security by Design with Azure Pipelines
REST API Security by Design with Azure PipelinesREST API Security by Design with Azure Pipelines
REST API Security by Design with Azure Pipelines
 
Mule soft meetup_th_no1
Mule soft meetup_th_no1Mule soft meetup_th_no1
Mule soft meetup_th_no1
 
IBM Cognos Licensing Changes: What You Need to Know
IBM Cognos Licensing Changes: What You Need to KnowIBM Cognos Licensing Changes: What You Need to Know
IBM Cognos Licensing Changes: What You Need to Know
 
Velocity 2014 Tool Chain Choices
Velocity 2014 Tool Chain ChoicesVelocity 2014 Tool Chain Choices
Velocity 2014 Tool Chain Choices
 
SAP TechEd 2018 OPP103 – An Introduction to DevOps
SAP TechEd 2018 OPP103 – An Introduction to DevOpsSAP TechEd 2018 OPP103 – An Introduction to DevOps
SAP TechEd 2018 OPP103 – An Introduction to DevOps
 
2019 ibm io t exchange - meeting safety-related software audits
2019   ibm io t exchange - meeting safety-related software audits2019   ibm io t exchange - meeting safety-related software audits
2019 ibm io t exchange - meeting safety-related software audits
 
Enterprise Cloud with IBM & Chef (ChefConf 2013)
Enterprise Cloud with IBM & Chef (ChefConf 2013)Enterprise Cloud with IBM & Chef (ChefConf 2013)
Enterprise Cloud with IBM & Chef (ChefConf 2013)
 
3158 - Cloud Infrastructure & It Optimization - Application Performance Manag...
3158 - Cloud Infrastructure & It Optimization - Application Performance Manag...3158 - Cloud Infrastructure & It Optimization - Application Performance Manag...
3158 - Cloud Infrastructure & It Optimization - Application Performance Manag...
 
Mastering Mobile Test Automation with Appium
Mastering Mobile Test Automation with AppiumMastering Mobile Test Automation with Appium
Mastering Mobile Test Automation with Appium
 
Apache Pulsar @Splunk
Apache Pulsar @SplunkApache Pulsar @Splunk
Apache Pulsar @Splunk
 

More from Perforce

How to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning NeedsHow to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning NeedsPerforce
 
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...Perforce
 
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Perforce
 
Understanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPsUnderstanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPsPerforce
 
Branching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development ProcessBranching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development ProcessPerforce
 
How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog Perforce
 
Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team Perforce
 
Shift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New WorkflowShift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New WorkflowPerforce
 
Hybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated WorldHybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated WorldPerforce
 
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterpriseBetter, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterprisePerforce
 
Easier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALMEasier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALMPerforce
 
How To Master Your Mega Backlog
How To Master Your Mega Backlog How To Master Your Mega Backlog
How To Master Your Mega Backlog Perforce
 
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...Perforce
 
How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure Perforce
 
Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2Perforce
 
Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?Perforce
 
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...Perforce
 
What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4Perforce
 
Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison Perforce
 
5 Ways to Accelerate Standards Compliance with Static Code Analysis
5 Ways to Accelerate Standards Compliance with Static Code Analysis 5 Ways to Accelerate Standards Compliance with Static Code Analysis
5 Ways to Accelerate Standards Compliance with Static Code Analysis Perforce
 

More from Perforce (20)

How to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning NeedsHow to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning Needs
 
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
 
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
 
Understanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPsUnderstanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPs
 
Branching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development ProcessBranching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development Process
 
How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog
 
Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team
 
Shift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New WorkflowShift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New Workflow
 
Hybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated WorldHybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated World
 
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterpriseBetter, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
 
Easier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALMEasier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALM
 
How To Master Your Mega Backlog
How To Master Your Mega Backlog How To Master Your Mega Backlog
How To Master Your Mega Backlog
 
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
 
How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure
 
Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2
 
Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?
 
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
 
What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4
 
Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison
 
5 Ways to Accelerate Standards Compliance with Static Code Analysis
5 Ways to Accelerate Standards Compliance with Static Code Analysis 5 Ways to Accelerate Standards Compliance with Static Code Analysis
5 Ways to Accelerate Standards Compliance with Static Code Analysis
 

Recently uploaded

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Recently uploaded (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

What Continuous Delivery Means for Version Control

  • 1. continuous delivery @jezhumble 10 september 2014
  • 3. s
  • 4. what is continuous delivery? reduce the cost, time, and risk of delivering incremental changes to users while improving quality
  • 5. production-ready software fast, automated feedback on the production readiness of your applications every time there is a change — to code, infrastructure, or configuration
  • 6. continuous delivery architecture patterns and practices collaboration
  • 7. ingredients configuration management continuous integration automated testing
  • 8. Mainline Server Develop Build Build Local Workstation pull Build push ✔ Done! © @martinfowler
  • 9. Mainline Server Develop Everyone Commits To Build the Mainline Every Day Build Local Workstation pull Build push ✔ Done! © @martinfowler
  • 10. P1 P2 B1 B1 G1 G2 B1 P1-2 G1-2 P4 B2 P5 P3-4 B2 G3 G4 G5 G6 B2 G3 P3 Professor Plum Mainline Reverend Green Feature Branching © @martinfowler
  • 11. P1 P2 B1 B1 G1 G2 B1 P1-2 G1-2 P4 B2 P5 P3-4 B2 G3 G4 G5 G6 B2 G3 P3 Professor Plum Mainline Reverend Green G1-6 P1-5 P1-5 G1-6 Feature Branching © @martinfowler
  • 12. P1 P2 B1 B1 G1 G2 B1 P1-2 G1-2 P4 B2 P5 P3-4 B2 G3 G4 G5 G6 B2 G3 P3 Professor Plum Mainline Reverend Green G1-6 P1-5 P1-5 G1-6 Feature Branching © @martinfowler
  • 13. P1 P2 B1 B1 G1 G2 B1 P1-2 G1-2 P4 B2 P5 P3-4 B2 G3 G4 G5 G6 B2 G3 P3 Professor Plum Mainline Reverend Green G1-6 P1-5 P1-5 G1-6 Feature Branching © @martinfowler
  • 14. P1 P1 P2 P3 P4 P4 P3 P4 P5 G1 P2 G2 G3 G1 G2 G3 G4 G5 G6 B1 B2 G1 P1 B1 B1 P1-2 G2 G2 P3 B2 B2 G3 P3 G3 P4 P5 P4-5 G4 G4 G5 G6 P2 Professor Plum Mainline Reverend Green Continuous Integration © @martinfowler
  • 15. P1 P2 B1 Feature Branch G1 G2 P1 P1 P2 P3 P4 B2 P4 P3-4 B2 P4 P5 P3 P4 P5 G1 P2 G2 G3 G1 G2 G3 G4 G5 G6 B1 B2 G1 P1 B1 B1 P1-2 G2 G2 P3 B2 B2 G3 P3 G3 P4 P5 P4-5 G4 G4 G5 G6 P2 Mainline Professor Plum Mainline Reverend Green B1 B1 P1-2 G1-2 G3 G4 G5 G6 B2 G3 P3 Professor Plum Reverend Green G1-6 P1-5 P1-5 G1-6 Continuous Integration © @martinfowler
  • 16. Feature Branch Continuous Integration © @martinfowler
  • 17. Feature Branch Release Branch Experimental Branch © @martinfowler
  • 18. Grand Prize Fight © @martinfowler
  • 19. Feature Branching BAM Continuous Integration Big Scary Merge © @martinfowler
  • 20. P1 P2 B1 Feature Branch G1 G2 P1 P1 P2 P3 P4 B2 P4 P3-4 B2 P4 P5 P3 P4 P5 G1 P2 G2 G3 G1 G2 G3 G4 G5 G6 B1 B2 G1 P1 B1 B1 P1-2 G2 G2 P3 B2 B2 G3 P3 G3 P4 P5 P4-5 G4 G4 G5 G6 P2 Mainline Professor Plum Mainline Reverend Green B1 B1 P1-2 G1-2 G3 G4 G5 G6 B2 G3 P3 Professor Plum Reverend Green G1-6 P1-5 P1-5 G1-6 Continuous Integration © @martinfowler
  • 21. Feature Branching BAM Continuous Integration Big Scary Merge BIFF Untrusted Contributers © @martinfowler
  • 22. Feature Branching BAM Continuous Integration Big Scary Merge BIFF Untrusted Contributers POW ! In-progress features © @martinfowler
  • 23. Config File [featureToggles] wobblyFoobars: true flightyForkHandles: false some.jsp Feature Toggles <toggle name=wobblyFoobars> ... various UI elements </toggle> forkHandle = (featureConfig.isOn(‘flightlyForkHandles)) ? new FlightyForkHander(aCandle) : new ForkHandler(aCandle) other.java © @martinfowler
  • 24. Branch by Abstraction © @martinfowler
  • 25. Application Library New! Library © @martinfowler
  • 26. Application Library Interface implements New! Library © @martinfowler
  • 27. Application Library Interface implements New! Library © @martinfowler
  • 28. Application Library Interface implements New! Library © @martinfowler
  • 29. Application Interface implements New! Library © @martinfowler
  • 30. Feature Branching BAM No Refactoring Continuous Integration Big Scary Merge BIFF Untrusted Contributors POW ! In-progress features KA-POW! © @martinfowler
  • 31. P1 P2 B1 Feature Branch G1 G2 P1 P1 P2 P3 P4 B2 P4 P3-4 B2 P4 P5 P3 P4 P5 G1 P2 G2 G3 G1 G2 G3 G4 G5 G6 B1 B2 G1 P1 B1 B1 P1-2 G2 G2 P3 B2 B2 G3 P3 G3 P4 P5 P4-5 G4 G4 G5 G6 P2 Mainline Professor Plum Mainline Reverend Green B1 B1 P1-2 G1-2 G3 G4 G5 G6 B2 G3 P3 Professor Plum Reverend Green G1-6 P1-5 P1-5 G1-6 Continuous Integration © @martinfowler
  • 32. Feature Branching BAM Continuous Integration Big Scary Merge BIFF Untrusted Contributors POW ! No Refactoring KA-POW! In-progress features © @martinfowler
  • 33. continuous integration Jason Leyba | http://www.infoq.com/presentations/google-test-automation
  • 34.
  • 35. build quality in “Cease dependence on mass inspection to achieve quality. Improve the process and build quality into the product in the first place” ! W. Edwards Deming
  • 36. different kinds of testing Business facing Functional acceptance tests Showcases Usability testing Exploratory testing Unit tests Integration tests System tests Non-functional acceptance tests (performance, scaling, ...) Technology facing Critique project Support programming AUTOMATED AUTOMATED MANUAL MANUAL / AUTOMATED Diagram invented by Brian Marick
  • 37. deployment pipeline an automated implementation of your system’s build, deploy, test, release process visibility feedback control
  • 38. deployment pipeline Delivery team Version control Build & unit tests Automated acceptance tests User acceptance tests Release Check in Feedback Trigger Check in Trigger Feedback Trigger Check in Trigger Trigger Approval Approval Feedback Feedback Feedback Feedback
  • 40. high performing IT is a competitive advantage “Firms with high-performing IT organizations were twice as likely to exceed their profitability, market share and productivity goals.” http://bit.ly/2014-devops-report
  • 41. lead time “How long would it take your organization to deploy a change that involved just one single line of code? Do you do this on a repeatable, reliable basis?” Mary and Tom Poppendieck, Implementing Lean Software Development, p59.
  • 42. time to restore service http://martinfowler.com/bliki/PhoenixServer.html
  • 43. highest correlation with IT performance ! • “Our app configurations are in a version control system” • “Our system configurations are in a version control system” • “Our app code is in a version control system” • “We get failure alerts from logging and monitoring systems” • “Developers merge their code into trunk daily” • “When development and operations teams interact, the outcome is generally win/win.” • “Developers break up large features into small, incremental changes.”
  • 44. questions @jezhumble | jez@getchef.com http://continuousdelivery.com/ ! © 2014 Chef, Inc. & ThoughtWorks, Inc.