Deploy Value Stream
Overview
The value stream “Deploy”, as shown in Deploy Value Stream Model, is installing a Product Release into production. It can also imply the removal, disposal, or updating of an existing installed Product Release, so it is made available or unavailable to the customer. Many possible strategies for deploying a Product Release can be scenarios within the Deploy value stream; for example, deployment to a targeted audience, or deployment using a dark launch in which functionality is not directly released to consumers. If the user requirements and/or the characteristics of the Digital Product demand that the installed Product Release is improved, released, and deployed frequently, a drive to automate these value streams can emerge. To comply with regulatory requirements, organizations can require approvals and an audit trail of all the Changes made in production environments. The Deploy value stream ensures that all changes are tracked and related to a specific Product Release.
The Deploy value stream delivers the initial deployment, update, or removal of an Actual Product Instance, and will put the Service Contract into operation.
Key Stakeholder
The main stakeholder of the Deploy value stream is the Product Manager, who can authorize deployment of Actual Product Instances to the customer in the production environment.
Value
The outcome of the Deploy value stream is that new Product Releases can be installed safely without causing unexpected outages to the current Actual Product Instances in use.
Cross-Value Stream Dependencies
The Deploy value stream depends on:
-
Integrate:
-
Provides approved Product Releases that require deployment to the production environment
-
-
Consume:
-
Delivers a foundation to work on, as an Order can be used to fulfill the underlying setup of a needed production environment
-
Value streams that depend on the Deploy value stream are:
-
Evaluate:
-
Improvements start with drivers, that are expected to arise from all seven value streams
All value streams will capture data to ensure that the quality of the Digital Product will meet the requirements.
-
-
Release:
-
Deploy a context in the form of an Actual Product Instance in which the Service Offer can be consumed and supported
-
-
Operate:
-
Actual Product Instances can be enabled, changed, disabled, or removed by the deployment of the Product Release
-
The Deploy value stream, as shown in Deploy Value Stream Details Model, is the more comprehensive view for included scenarios and detailed value stream stages for the value stream, and will be described in detail in the following sections.
In the following sections we document the scenarios and stages of the Deploy value stream:
-
Scenario: Deploy a First Product Release for a New Digital Product
-
Scenario: Deploy a New Product Release Version for a Digital Product
-
Scenario: Disable or Remove Existing Product Release Instances of a Digital Product
-
Stage: Plan & Approve Deployment
-
Stage: Fulfill Deployment
-
Stage: Validate Deployment
-
Stage: Observe Deployment
Deploy Scenarios
The Deploy value stream is applicable for the following three scenarios:
Deploy a First Product Release for a New Digital Product Scenario
The goal of this scenario is to plan, prepare, and execute the deployment of the initial version of the Digital Product. Part of the planning is determining the priority, assessing the risk and dependencies, and scheduling the time slot. The information used for the risk assessment will be limited as this is the first release of the Digital Product. However, during development, information from earlier deployments in non-production environments should provide the necessary information to minimize risk. Since no customer is using the Digital Product, available time slots might include office hours. The available capacity for dependent Digital Products can be checked, and IT assets requested if needed. The deployment schedule must consider any dependencies on the Orders required to allocate the necessary Resources.
During execution of the deployment, the Service Contract will be activated; this requires instrumentation of the data for the metrics that will be collected to measure the Key Performance Indicator (KPI) targets. Additional training of specialists involved in the Operate value stream are performed, although it is advisable to train specialists before the Product Release is finalized. Knowledge Items are created based on the Defects and test results (e.g., metrics from performance tests).
Deploy a New Product Release Version for a Digital Product Scenario
The goal of this scenario is to plan, prepare, and update the existing Actual Product Instances. This ensures a stable Product Instance after the Deploy value stream is completed. The deployment strategy may depend on the Digital Product: some might require a maintenance window in which deployment can be executed, while for others a completely new version will be installed alongside an existing version. As every deployment should result in a stable Product Instance in production, there are some points to address:
-
To mitigate risk, the plan should include a “point of no return” in time, and a “rollback to the last known good configuration” plan
These should be addressed and practiced during the development of the Product Release.
-
During the execution of the deployment, stakeholders should be informed; for example, the monitoring events can be suppressed to prevent disrupting the Operate value stream
Disable or Remove Existing Product Release Instances of a Digital Product Scenario
The goal of this scenario is to completely or partly disable or remove Actual Product Instances of a Digital Product. The deployment design (which is part of the Product Release) should provide information on the active Product Release that needs to be removed or undeployed, whereas the Operate value stream has the actual information on which related Actual Product Instances are to be disabled or removed.
Removing a Digital Product might require changes to the Product Design, and, in some cases, customer data may have to be retained for a while and made available for the customer to view. Some of the components of the Digital Product can be removed, but new components may also be installed or deployed.
Plan & Approve Deployment Stage
Description
The purpose of the value stream stage “Plan & Approve Deployment”` is to create a deployment plan for a Digital Product and, based on this plan, to sign it off with all relevant stakeholders.
The details of the plan and the extent of approval required depends on the complexity of the deployment.
Entrance Criteria:
|
Exit Criteria:
|
Value Item:
|
|
Activities:
|
|
Examples of Participating Stakeholders:
|
Participating Data Objects (Component): |
Fulfill Deployment Stage
Description
The purpose of the value stream stage “Fulfill Deployment” is to execute the Fulfillment Orchestration when the change window for deployment is open. The Fulfillment Orchestration is documented in the change records and can be coded as part of the Product Release to automate the Fulfillment Orchestration.
Entrance Criteria:
|
Exit Criteria:
|
Value Item:
|
|
Activities:
|
|
Examples of Participating Stakeholders:
|
Participating Data Objects (Component): |
Validate Deployment Stage
Description
The purpose of the value stream stage “Validate Deployment” is to ensure that all aspects of the deployment activities were correctly executed. This includes checking that the Product Instance is indeed running and configured according to plan, and that the monitoring and documentation associated is configured and made available.
Entrance Criteria:
|
Exit Criteria:
|
Value Item:
|
|
Activities:
|
|
Examples of Participating Stakeholders:
|
Participating Data Objects (Component): |
Observe Deployment Stage
Description
The purpose of the value stream stage “Observe Deployment” is to ensure that the Actual Product Instance (= deployed product instance) is delivering expected functional and non-functional requirements.
Entrance Criteria:
|
Exit Criteria:
|
Value Item:
|
|
Activities:
|
|
Examples of Participating Stakeholders:
|
Participating Data Objects (Component): |