SlideShare a Scribd company logo
1 of 2
Agile Musings by Jack Wendel
Agile maturity Includes Continuous Integration / Continuous Deployment (CI/CD)
Continuous Integration (CI) is an important part of agile. It involves automatically building
the code, running tests, performing code quality checks and generating metrics each
time a developer finishes writing a section of code and checks it in. If the code conforms
to the standards set, the build is “successful”. If the code does not conform in any area,
the build “fails”. The result of a developer “breaking the build” is that they must
immediately bring the code into compliance because no other developers can check in
code with a failed build in place. Implementation of CI results in a high quality code base
and elimination of “technical debt”.
Continuous Deployment (CD) is the next level of agile maturity. It involves automatically
pushing the code to a server once it successfully passes the CI process. Once this
process is in place, the need for a hardening sprint is eliminated.
Ideally, both Continuous Integration and Continuous Delivery are combined into what is
known as CI/CD. A big advantage of the CI/CD process is the immediate feedback
provided by the process. Automated reports are generated whenever a developer
finishes writing code and “checks it in”. A sample of a report is shown below:
One of the tenants of agile is to “fail fast and avoid technical debt”. The generated
reports, combined with historical data, allow teams to immediately identify issues with
their code. Forward thinking organizations track trends from these reports and look for
continuous improvement in each category with each sprint. Alarms can be set such that,
even though nothing is “broken”, the build will still fail because certain quality metrics are
not met or have dropped when compared to the last build report.
In conclusion, a properly implemented CI/CD process allows teams to proactively
monitor their development process and ensure that the end product is of the highest
quality.
Technical debt – code that becomes increasingly fragile and difficult to maintain due to
ongoing unresolved quality or technical issues. The result is that developers become
hesitant to make changes due to unintended consequences.

More Related Content

What's hot

Agile Application Lifecycle Management (ALM) with Inflectra
Agile Application Lifecycle Management (ALM) with InflectraAgile Application Lifecycle Management (ALM) with Inflectra
Agile Application Lifecycle Management (ALM) with InflectraAdam Sandman
 
Application Lifecycle Management with Visual Studio 2013
Application Lifecycle Management  with Visual Studio 2013Application Lifecycle Management  with Visual Studio 2013
Application Lifecycle Management with Visual Studio 2013Mahmoud Samara
 
Shift Left Mobile Application Testing
Shift Left Mobile Application TestingShift Left Mobile Application Testing
Shift Left Mobile Application TestingJosiah Renaudin
 
Agile Test Automation
Agile Test AutomationAgile Test Automation
Agile Test AutomationWerner Keil
 
Spira Admin 1: Introduction
Spira Admin 1: IntroductionSpira Admin 1: Introduction
Spira Admin 1: IntroductionInflectra
 
Rapise Overview Presentation (2019)
Rapise Overview Presentation (2019)Rapise Overview Presentation (2019)
Rapise Overview Presentation (2019)Inflectra
 
SpiraTest Overview Presentation (2021)
SpiraTest Overview Presentation (2021)SpiraTest Overview Presentation (2021)
SpiraTest Overview Presentation (2021)Inflectra
 
Application Lifecycle Management with Team Foundation Server
Application Lifecycle Management with Team Foundation ServerApplication Lifecycle Management with Team Foundation Server
Application Lifecycle Management with Team Foundation ServerJozua Velle
 
ALM iStack - Application Lifecycle Management using Linked Data
ALM iStack - Application Lifecycle Management using Linked Data ALM iStack - Application Lifecycle Management using Linked Data
ALM iStack - Application Lifecycle Management using Linked Data Nandana Mihindukulasooriya
 
Using JIRA Software for Issue Tracking
Using JIRA Software for Issue TrackingUsing JIRA Software for Issue Tracking
Using JIRA Software for Issue TrackingAnjali Rao
 
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...Inflectra
 
Inflectra Rapise Implementation Quick Start Package
Inflectra Rapise Implementation Quick Start PackageInflectra Rapise Implementation Quick Start Package
Inflectra Rapise Implementation Quick Start PackageInflectra
 
Webinar: “Mai sentito parlare di Continuous Delivery per il database? Ecco co...
Webinar: “Mai sentito parlare di Continuous Delivery per il database? Ecco co...Webinar: “Mai sentito parlare di Continuous Delivery per il database? Ecco co...
Webinar: “Mai sentito parlare di Continuous Delivery per il database? Ecco co...Emerasoft, solutions to collaborate
 
Digite - Release Management Training
Digite - Release Management TrainingDigite - Release Management Training
Digite - Release Management TrainingDigite, Inc.
 
JCNC13 Application Lifecycle Management
JCNC13 Application Lifecycle ManagementJCNC13 Application Lifecycle Management
JCNC13 Application Lifecycle ManagementAmbientia
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationAbhay Kumar
 
KronoDesk Overview Presentation (2021)
KronoDesk Overview Presentation (2021)KronoDesk Overview Presentation (2021)
KronoDesk Overview Presentation (2021)Inflectra
 
Don't Let Your Users be Your Testers - Lunch & Learn
Don't Let Your Users be Your Testers - Lunch & LearnDon't Let Your Users be Your Testers - Lunch & Learn
Don't Let Your Users be Your Testers - Lunch & LearnAdam Sandman
 
Software Defect Prevention via Continuous Inspection
Software Defect Prevention via Continuous InspectionSoftware Defect Prevention via Continuous Inspection
Software Defect Prevention via Continuous InspectionJosh Gough
 

What's hot (20)

Agile Application Lifecycle Management (ALM) with Inflectra
Agile Application Lifecycle Management (ALM) with InflectraAgile Application Lifecycle Management (ALM) with Inflectra
Agile Application Lifecycle Management (ALM) with Inflectra
 
Application Lifecycle Management with Visual Studio 2013
Application Lifecycle Management  with Visual Studio 2013Application Lifecycle Management  with Visual Studio 2013
Application Lifecycle Management with Visual Studio 2013
 
Shift Left Mobile Application Testing
Shift Left Mobile Application TestingShift Left Mobile Application Testing
Shift Left Mobile Application Testing
 
Agile Test Automation
Agile Test AutomationAgile Test Automation
Agile Test Automation
 
Spira Admin 1: Introduction
Spira Admin 1: IntroductionSpira Admin 1: Introduction
Spira Admin 1: Introduction
 
Rapise Overview Presentation (2019)
Rapise Overview Presentation (2019)Rapise Overview Presentation (2019)
Rapise Overview Presentation (2019)
 
Jira
JiraJira
Jira
 
SpiraTest Overview Presentation (2021)
SpiraTest Overview Presentation (2021)SpiraTest Overview Presentation (2021)
SpiraTest Overview Presentation (2021)
 
Application Lifecycle Management with Team Foundation Server
Application Lifecycle Management with Team Foundation ServerApplication Lifecycle Management with Team Foundation Server
Application Lifecycle Management with Team Foundation Server
 
ALM iStack - Application Lifecycle Management using Linked Data
ALM iStack - Application Lifecycle Management using Linked Data ALM iStack - Application Lifecycle Management using Linked Data
ALM iStack - Application Lifecycle Management using Linked Data
 
Using JIRA Software for Issue Tracking
Using JIRA Software for Issue TrackingUsing JIRA Software for Issue Tracking
Using JIRA Software for Issue Tracking
 
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
 
Inflectra Rapise Implementation Quick Start Package
Inflectra Rapise Implementation Quick Start PackageInflectra Rapise Implementation Quick Start Package
Inflectra Rapise Implementation Quick Start Package
 
Webinar: “Mai sentito parlare di Continuous Delivery per il database? Ecco co...
Webinar: “Mai sentito parlare di Continuous Delivery per il database? Ecco co...Webinar: “Mai sentito parlare di Continuous Delivery per il database? Ecco co...
Webinar: “Mai sentito parlare di Continuous Delivery per il database? Ecco co...
 
Digite - Release Management Training
Digite - Release Management TrainingDigite - Release Management Training
Digite - Release Management Training
 
JCNC13 Application Lifecycle Management
JCNC13 Application Lifecycle ManagementJCNC13 Application Lifecycle Management
JCNC13 Application Lifecycle Management
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
KronoDesk Overview Presentation (2021)
KronoDesk Overview Presentation (2021)KronoDesk Overview Presentation (2021)
KronoDesk Overview Presentation (2021)
 
Don't Let Your Users be Your Testers - Lunch & Learn
Don't Let Your Users be Your Testers - Lunch & LearnDon't Let Your Users be Your Testers - Lunch & Learn
Don't Let Your Users be Your Testers - Lunch & Learn
 
Software Defect Prevention via Continuous Inspection
Software Defect Prevention via Continuous InspectionSoftware Defect Prevention via Continuous Inspection
Software Defect Prevention via Continuous Inspection
 

Similar to Agile Musings on CI/CD

CI/CD Pipelines: Reliable Software Delivery
CI/CD Pipelines: Reliable Software Delivery CI/CD Pipelines: Reliable Software Delivery
CI/CD Pipelines: Reliable Software Delivery Bahaa Al Zubaidi
 
Efficient CI_CD in the Software Development Lifecycle.pdf
Efficient CI_CD in the Software Development Lifecycle.pdfEfficient CI_CD in the Software Development Lifecycle.pdf
Efficient CI_CD in the Software Development Lifecycle.pdfKeyX Technologies
 
CI, CD -Tools to integrate without manual intervention
CI, CD -Tools to integrate without manual interventionCI, CD -Tools to integrate without manual intervention
CI, CD -Tools to integrate without manual interventionajayrajaganeshkayala
 
Continuous Integration and Continuous Testing (CI/CT)
Continuous Integration and Continuous Testing (CI/CT)Continuous Integration and Continuous Testing (CI/CT)
Continuous Integration and Continuous Testing (CI/CT)priyanka rajput
 
Continuous Integration and Continuous Testing (CI/CT)
Continuous Integration and Continuous Testing (CI/CT)Continuous Integration and Continuous Testing (CI/CT)
Continuous Integration and Continuous Testing (CI/CT)archijain931
 
Test Automation Strategies in a Continuous Delivery Ecosystem
Test Automation Strategies in a Continuous Delivery EcosystemTest Automation Strategies in a Continuous Delivery Ecosystem
Test Automation Strategies in a Continuous Delivery EcosystemCognizant
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationwebomates
 
Delivering Quality Software with Continuous Integration
Delivering Quality Software with Continuous IntegrationDelivering Quality Software with Continuous Integration
Delivering Quality Software with Continuous IntegrationAspire Systems
 
How To Ensure Quality With Automation
How To Ensure Quality With AutomationHow To Ensure Quality With Automation
How To Ensure Quality With AutomationMindbowser Inc
 
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValueDevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValueRapidValue
 
Flight East 2018 Presentation–Continuous Integration––An Overview
Flight East 2018 Presentation–Continuous Integration––An OverviewFlight East 2018 Presentation–Continuous Integration––An Overview
Flight East 2018 Presentation–Continuous Integration––An OverviewSynopsys Software Integrity Group
 
CI/CD Overview
CI/CD OverviewCI/CD Overview
CI/CD OverviewAn Nguyen
 
Path To Continuous Test Automation Using CICD Pipeline.pdf
Path To Continuous Test Automation Using CICD Pipeline.pdfPath To Continuous Test Automation Using CICD Pipeline.pdf
Path To Continuous Test Automation Using CICD Pipeline.pdfpCloudy
 
What is Continuous Integration and Continuous Delivery
What is Continuous Integration and Continuous Delivery What is Continuous Integration and Continuous Delivery
What is Continuous Integration and Continuous Delivery Sarah Elson
 
Way to Agile from Tradition - Agile Way
Way to Agile from Tradition - Agile WayWay to Agile from Tradition - Agile Way
Way to Agile from Tradition - Agile WayRamadevi Lakshmanan
 
Introducing Continuous Integration Using Vsts
Introducing Continuous Integration Using VstsIntroducing Continuous Integration Using Vsts
Introducing Continuous Integration Using VstsMohamed Samy
 

Similar to Agile Musings on CI/CD (20)

DevOps: Age Of CI/CD
DevOps: Age Of CI/CDDevOps: Age Of CI/CD
DevOps: Age Of CI/CD
 
CI/CD Pipelines: Reliable Software Delivery
CI/CD Pipelines: Reliable Software Delivery CI/CD Pipelines: Reliable Software Delivery
CI/CD Pipelines: Reliable Software Delivery
 
Efficient CI_CD in the Software Development Lifecycle.pdf
Efficient CI_CD in the Software Development Lifecycle.pdfEfficient CI_CD in the Software Development Lifecycle.pdf
Efficient CI_CD in the Software Development Lifecycle.pdf
 
Automation CICD
Automation CICDAutomation CICD
Automation CICD
 
CI, CD -Tools to integrate without manual intervention
CI, CD -Tools to integrate without manual interventionCI, CD -Tools to integrate without manual intervention
CI, CD -Tools to integrate without manual intervention
 
Continuous Integration and Continuous Testing (CI/CT)
Continuous Integration and Continuous Testing (CI/CT)Continuous Integration and Continuous Testing (CI/CT)
Continuous Integration and Continuous Testing (CI/CT)
 
Continuous Integration and Continuous Testing (CI/CT)
Continuous Integration and Continuous Testing (CI/CT)Continuous Integration and Continuous Testing (CI/CT)
Continuous Integration and Continuous Testing (CI/CT)
 
Test Automation Strategies in a Continuous Delivery Ecosystem
Test Automation Strategies in a Continuous Delivery EcosystemTest Automation Strategies in a Continuous Delivery Ecosystem
Test Automation Strategies in a Continuous Delivery Ecosystem
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Delivering Quality Software with Continuous Integration
Delivering Quality Software with Continuous IntegrationDelivering Quality Software with Continuous Integration
Delivering Quality Software with Continuous Integration
 
How To Ensure Quality With Automation
How To Ensure Quality With AutomationHow To Ensure Quality With Automation
How To Ensure Quality With Automation
 
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValueDevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
 
Continuous Integration vs Continuous Delivery vs Continuous Deployment
Continuous Integration vs Continuous Delivery vs Continuous Deployment Continuous Integration vs Continuous Delivery vs Continuous Deployment
Continuous Integration vs Continuous Delivery vs Continuous Deployment
 
Flight East 2018 Presentation–Continuous Integration––An Overview
Flight East 2018 Presentation–Continuous Integration––An OverviewFlight East 2018 Presentation–Continuous Integration––An Overview
Flight East 2018 Presentation–Continuous Integration––An Overview
 
CI/CD Overview
CI/CD OverviewCI/CD Overview
CI/CD Overview
 
Path To Continuous Test Automation Using CICD Pipeline.pdf
Path To Continuous Test Automation Using CICD Pipeline.pdfPath To Continuous Test Automation Using CICD Pipeline.pdf
Path To Continuous Test Automation Using CICD Pipeline.pdf
 
What is Continuous Integration and Continuous Delivery
What is Continuous Integration and Continuous Delivery What is Continuous Integration and Continuous Delivery
What is Continuous Integration and Continuous Delivery
 
Enter the Team City
Enter the Team CityEnter the Team City
Enter the Team City
 
Way to Agile from Tradition - Agile Way
Way to Agile from Tradition - Agile WayWay to Agile from Tradition - Agile Way
Way to Agile from Tradition - Agile Way
 
Introducing Continuous Integration Using Vsts
Introducing Continuous Integration Using VstsIntroducing Continuous Integration Using Vsts
Introducing Continuous Integration Using Vsts
 

Agile Musings on CI/CD

  • 1. Agile Musings by Jack Wendel Agile maturity Includes Continuous Integration / Continuous Deployment (CI/CD) Continuous Integration (CI) is an important part of agile. It involves automatically building the code, running tests, performing code quality checks and generating metrics each time a developer finishes writing a section of code and checks it in. If the code conforms to the standards set, the build is “successful”. If the code does not conform in any area, the build “fails”. The result of a developer “breaking the build” is that they must immediately bring the code into compliance because no other developers can check in code with a failed build in place. Implementation of CI results in a high quality code base and elimination of “technical debt”. Continuous Deployment (CD) is the next level of agile maturity. It involves automatically pushing the code to a server once it successfully passes the CI process. Once this process is in place, the need for a hardening sprint is eliminated. Ideally, both Continuous Integration and Continuous Delivery are combined into what is known as CI/CD. A big advantage of the CI/CD process is the immediate feedback provided by the process. Automated reports are generated whenever a developer finishes writing code and “checks it in”. A sample of a report is shown below: One of the tenants of agile is to “fail fast and avoid technical debt”. The generated reports, combined with historical data, allow teams to immediately identify issues with their code. Forward thinking organizations track trends from these reports and look for continuous improvement in each category with each sprint. Alarms can be set such that,
  • 2. even though nothing is “broken”, the build will still fail because certain quality metrics are not met or have dropped when compared to the last build report. In conclusion, a properly implemented CI/CD process allows teams to proactively monitor their development process and ensure that the end product is of the highest quality. Technical debt – code that becomes increasingly fragile and difficult to maintain due to ongoing unresolved quality or technical issues. The result is that developers become hesitant to make changes due to unintended consequences.