DevOps Release – Deployment Pipeline


Deployment Pipeline – Introduction

From all aspects of DevOps, the deployment pipeline is one of the most appealing unique features.

Deployment Pipeline – Definitions

Deployment Pipeline

DevOps Articles

The deployment pipeline supports the delivery process of a DevOps team. This begins at the commit phase in which the source code is written and checked in and ends with the implementation of the objects in the production environment. In this article, the deployment pipeline also includes the definition of the themes, epics and features. This enables the tracking of dependencies in the deployment pipeline. This is also more efficient because of the defining the deployment pipeline E2E offers more control capabilities. This leads to faster feedback.

Deployment Pipeline – Concepts

One piece flow

An important concept of the deployment pipeline is to ensure that all DevOps team members are involved in one feature, and the flow is free of waste.

Deployment Pipeline – Best Practices

One of the most difficult questions is how the deployment pipeline should look like. This is unique to all organisations. This article describes a simple approach for understanding the pipeline. It is based on an existing project in which the deployment pipeline is not recognized but where one wants to implement it.

Steps

Step 1. Select a project
Step 2. Determine the flow
Step 3. Determine the deployment pipeline
Step 4. Determine the waste
Step 5. Eliminate the waste by optimizing the deployment pipeline

Step 1. Select a project.

Select a project for which the deployment pipeline should be mapped. If the organisation just starts with DevOps, it is wise not to tackle the most complex project. Most organisations start with a low risk project such as a project for improving deployment of content.

Step 2. Determine the flow

Determine the steps of the flow from requirement to deployment:

  1. What is the input, processing and output
  2. Who executes the step

Figure 1 gives an example of the flow from requesting report requirements up to and including deployment of a report.

Flow Analyse
Figure 1, Flow analysis

The flow is described per step 1 in Table 1.

StepInputProcessingOutput
1UserstoryAsk stakeholder the requirements for a new reportRegistered Feature
2Registered FeatureRefine the sprint backlogFeature with priority
3Feature with priorityAsk stakeholder to define the test cases for a priority featureRegistered Given-When-Then test case
4Registered Given-When-Then test caseAsk development team to define tasks for the build of the  featureFilled sprint board
5Filled sprint boardRealize tasks and build reportCreated report in OBIEE repository
6Created report in OBIEE repositoryTest the reportTest output
7Test outputRelease the report if there are no errors occuredReleased report

Table 1, Flow decomposition.

Step 3. Determine the deployment pipeline

In Table 2 for each step the related tooling is indicated.

StepInputProcessingOutputTool
1UserstoryAsk stakeholder the requirements for a new reportRegistered FeatureHP ALM
2Registered FeatureRefine the sprint backlogFeature with priorityHP ALM
3Feature with priorityAsk stakeholder to define the test cases for a priority featureRegistered Given-When-Then test caseHP ALM
4Registered Given-When-Then test caseAsk development team to define tasks for the build of the featureFilled sprint boardWhiteboard
5Filled sprint boardRealize tasks and build reportCreated report in OBIEE repositoryOBIIE repository
6Created report in OBIEE repositoryTest the reportTest outputFitnesse
7Test outputRelease the report if there are no errors occuredReleased reportNexus

Table 2, The deployment pipeline.

Step 4. Determine the waste

The waste is determined by adding two columns to Table 1-2 as shown in Table 1-3. The two columns are the effective time spend in the step and the elapse time of the step. The effective time is the time which is spend and adds value. The elapse time is the waiting time and the wasted time. Wasted time is the time that is spend without adding value to the end result.

StepInputProcessingOutputToolTime (hrs)Elapse Time (hrs)
1UserstoryAsk stakeholder the requirements for a new reportRegistered FeatureHP ALM140
2Registered FeatureRefine the sprint backlogFeature with priorityHP ALM45
3Feature with priorityAsk stakeholder to define the test cases for a priority featureRegistered Given-When-Then test caseHP ALM48
4Registered Given-When-Then test caseAsk development team to define tasks for the build of the featureFilled sprint boardWhiteboard44
5Filled sprint boardRealize tasks and build reportCreated report in OBIEE repositoryOBIIE repository1618
6Created report in OBIEE repositoryTest the reportTest outputTest output in fitnesse830
7Test outputRelease the report if there are no errors occuredReleased reportNexus15
     Total

 

(hrs)

110

Table 3, Flow elapse time and effective time.

The elapse time and the effective time of each step are shown in Figure 2. Analysis of the delay in the deployment pipeline is, for example, between step 6 and step 7. Further analysis indicates that the test case contained in HP ALM must be manually typed into the Test automation tool Fitnesse. This step takes 30 hours of which 22 hours of waste can be eliminated by further automating the deployment pipeline and loading the HP ALM test cases automatically in Fitnesse.

Flow analysis – elapse time and effective time.
Figure 2, Flow analysis – elapse time and effective time.

A second bottleneck appears to be step 7. The release costs essentially only one hour, but the elapse time is 5 hours. The 4 hour waste is to determine the status of Fitnesse’s output. The status of the features in HP ALM is manually set to succeed by analyzing Fitnesse’s output. The status of the feature in HP ALM can be automatically set by sending the output of Fitnesse back to HP ALM after the test run. This can trigger the automatically deployment of the report into production by the use of Nexus.

With this, the deployment pipeline has been optimized and the TTM has been shortened by 26 hours. This is thus 26/110 * 100% = 23.6% time saving.

LinkedIn Group

Discuss with us about this article on LinkedIn.

More information

Related Books:

DevOps Best Practices, ISBN: 9789492618078
Agile Service Management with Scrum, ISBN: 9789071501807

Related training sessions:

Related Article:

Service Management

Samenvatting
DevOps Release - Deployment Pipeline
Artikel
DevOps Release - Deployment Pipeline
Beschrijving
The deployment pipeline supports the delivery process of a DevOps team. This begins at the commit phase in which the source code is written and checked in and ends with the implementation of the objects in the production environment. In this article, the deployment pipeline also includes the definition of the themes, epics and features.
Auteur
Publisher Naam
ITpedia
Publisher Logo
Sidebar