Skip to main content

Continuous Delivery

Continuous Delivery is a software development practice where software is always in a releasable state.  Teams produce software in short cycles, ensuring that the software can be reliably released at any time. By relying on automated testing and deployment, as well as ensuring collaboration and communication between development and operational teams (DevOps), the goal of building, testing, and releasing software faster and more frequently can be achieved. This approach can help to reduce the cost, time and risk of delivering changes by allowing for more incremental updates to applications and configuration items (CIs) into production. 

A straightforward and repeatable deployment process is important for continuous delivery and will be critical for operational processes such as Change Management and Release and Deployment Management to be agile and robust in the DevOps environments where continuous delivery will be part of best practices.  

Continuous Delivery is sometimes confused with Continuous Deployment. Continuous Deployment means that every change is automatically deployed to production. Continuous Delivery means that the team ensures every change can be deployed to production but may choose not to do so, usually due to business reasons. In order to do Continuous Deployment one must be doing Continuous Delivery. (1)
Continuous delivery is enabled through the deployment pipeline. The purpose of the deployment pipeline has three components: Visibility, Feedback and Continually Deploy. (2)
·       Visibility – All aspects of the delivery system including building, deploying, testing and releasing are visible to every member of the team to promote collaboration.
·       Feedback – Team members learn of problems ASAP when they occur so that they are able to fix them as quickly as possible.
·       Continually Deploy – Through a fully automated process you can deploy and release any version of the software to any environment.
Continuous Delivery also requires that whenever anyone makes a change that causes an automated test to fail, breaking the deployment pipeline, the pipeline and all associated systems must be brought back into a deployable state.  In some cases, the Standard Operating Procedure (SOP) may be to have continuous integration and deployment reject any changes that take the code or configuration out of a deployable state.

Remember it is all about “Flow” in which continuous delivery is just one of many practices utilized in the “First Way”.

For more information on DevOps, Agile and IT Service Management training and certification:

2.       Duvall Paul /Continuous Delivery: Patterns and Anti-Patterns in Software Lifecycle" 


Popular posts from this blog

What is the difference between Process Owner, Process Manager and Process Practitioner?

I was recently asked to clarify the roles of the Process Owner, Process Manager and Process Practitioner and wanted to share this with you.

Roles and Responsibilities:
Process Owner – this individual is “Accountable” for the process. They are the goto person and represent this process across the entire organization. They will ensure that the process is clearly defined, designed and documented. They will ensure that the process has a set of Policies for governance.Example: The process owner for Incident management will ensure that all of the activities to Identify, Record, Categorize, Investigate, … all the way to closing the incident are defined and documented with clearly defined roles, responsibilities, handoffs, and deliverables. An example of a policy in could be… “All Incidents must be logged”. Policies are rules that govern the process. Process Owner ensures that all Process activities, (what to do), Procedures (details on how to perform the activity) and the policies (r…

How Does ITIL Help in the Management of the SDLC?

I was recently asked how ITIL helps in the management of the SDLC (Software Development Lifecycle).  Simply put... SDLC is a Lifecycle approach to produce the software or the "product".  ITIL is a Lifecycle approach that focuses on the "service".
I’ll start by reviewing both SDLC and ITIL Lifecycles and then summarize:
SDLC  -  The intent of an SDLC process is to help produce a product that is cost-efficient, effective and of high quality. Once an application is created, the SDLC maps the proper deployment of the software into the live environment. The SDLC methodology usually contains the following stages: Analysis (requirements and design), construction, testing, release and maintenance.  The focus here is on the Software.  Most organizations will use an Agile or Waterfall approach to implement the software through the Software Development Lifecycle.
ITIL  -  is a best practice for IT service management (ITSM) that focuses on aligning IT services with the needs …

Incidents when a Defect is Involved

Question: We currently track defects in a separate system than our ticket management system. With that said, my question is does anyone have suggestions and/or best practices on how to handle incidents when a defect is involved? Should the incident be closed since the defect is being worked on in another defect tracking system if it is noted in the incident ticket? I am considering creating an incident statuses of 'closed-unresolved' so the incident can still be reported on in our ticket management system but know it is being worked on/tracked in the defect system. With defects, it is possible that we may never work on them because they are very low priority and the impact is low to the user. However, in some cases a defect is being worked on. Should we create a problem ticket instead?
Thanks, René W.

Answer: RenĂ©. In ITIL, the activity you are describing is handled by the Problem Management process. ITIL does not use the term “defect” but it does use the term “known error” to…