Integrate Value Stream

id c98d6905 fa50 47ad 9368 9359a0577c08
Figure 1. Integrate Value Stream Model

Overview

The value stream “Integrate”, as shown in Integrate Value Stream Model, creates a new Product Release. It covers the planning, design, development (or configuration), and testing of a new Product Release (in non-production environments), and makes the Product Release available for deployment and release into production. A new Product Release can also be related to an emergency fix needed to resolve a production issue (such as resolving vulnerabilities and critical bugs).

The Integrate value stream covers the creation and modification of all types of Digital Products such as custom-build software, configuration of SaaS applications, Commercial Off-The-Shelf (COTS) software packages, PaaS platforms, Infrastructure as a Service (IaaS) products, etc. This value stream is not limited to application development, but also subject to the development and maintenance of infrastructure products (and platforms).

Work is initiated and managed in the Product Backlog (and related team backlogs), which can receive demand signals from consumer or business stakeholders (e.g., new features or business requirements), or from other functional components such as Portfolio Backlog Management, Policy Management, and Problem Management. This may take the form of an approved Portfolio Backlog Item, or may be a smaller-grained signal such as an individual feature, user story, Defect, or Problem.

The Integrate value stream continuously pulls work from the Product Backlog based upon various triggers and inputs; such as:

  • New features and requirements raised by a consumer (or a business stakeholder) and/or other product teams

  • New or modified non-functional requirements such as those related to Service-Level Objectives (SLOs), security, risk, and compliance

  • New portfolio epics from the portfolio backlog which need to be refined into Product Backlog Items

  • New versions, updates, or fixes provided by the vendor (e.g., software updates and patches) and/or other technology refresh activities

  • Problems detected in operational environments (e.g., functional issues, performance issues, etc.)

  • Emergency changes to resolve major incidents and/or mitigate major risks (e.g., security issues and vulnerabilities)

The Integrate value stream delivers the Product Release (for a new or modified product) which is packaged for immediate or future deployment through the Deploy value stream.

Note that although the stage is shown as a linear process, the actual work in the value stream consists of multiple iterations, continuous cycles, and flow of work with feedback loops (e.g., Continuous Integration/Continuous Delivery (CI/CD) and continuous testing, etc.).

Key Stakeholder(s)

The typical key stakeholders involved in the Integrate value stream are the Product Manager and associated Development Teams (also referred to as Product Teams, or DevOps Teams if Development and Operations are combined into one team), responsible for the planning, design, creation, and testing of a Product Release.

Other key stakeholders involved are business stakeholders and customer representatives involved in defining business needs (voice of the customer), validating (and testing) the product, and those who ultimately benefit from the value created by using the product.

Value

The outcome of the Integrate value stream is a new Product Release, accepted and ready for deployment and release into production. This is a release for a new or existing Digital Product which provides additional value (and/or reduced risk) once made available and used by consumers in production, as a result of:

  • New features (e.g., providing additional value by fulfilling new consumer needs)

  • Non-functional improvements (e.g., improving performance, improve user experience, compliance, security, availability, improved resilience, etc.)

  • Reducing technology debt (and reducing risks), such as those related to technology upgrades/patches and code quality improvements

  • Resolving issues/problems (e.g., improve reliability, reduce Incidents in production, improve performance, etc.)

  • Reduce costs (e.g., improve utilization of resources, etc.)

Cross-Value Stream Dependencies

The Integrate value stream depends on:

  • Explore:

    • Delivers Portfolio Backlog Items and an approved Scope Agreement to start creating or updating the Product Backlog

    • If the agreed Scope Agreement cannot be met, the Explore value stream is responsible for changing the Scope Agreement within the boundaries of the Architecture Roadmap and Product Portfolio; for example, to allocate more time or a higher budget

    • Delivers an updated product vision and high-level roadmap

  • Consume:

    • Deliver the environments to work on, as a request can be used to fulfill the provisioning of a needed development, test, and staging environment

  • Deploy:

    • Deployment of the Product Release into a production environment

  • Operate:

    • Delivers an inflow for Defects, as Problems related to Actual Product Instances may require a fix (or patch) to be created through the Integrate value stream

Value streams that depend on the Integrate value stream are:

  • Evaluate:

    • The Evaluate value stream uses all lifecycle information from all value streams to identify potential improvements in the product (and/or way of working)

  • Explore:

    • Provides development progress and team capacity

      The status of the Product Backlog Item is fed back so it can be taken into account when planning the Portfolio Backlog Items for sourcing.

    • If an agreed Scope Agreement cannot be met, the Explore value stream is responsible for changing the Scope Agreement; for example, by changing the covered Portfolio Backlog Items (to include more or go for less), changing the time or budget, or changing the sourcing party

  • Deploy:

    • Provides the approved Product Release, which in turn triggers the deployment scheduling of the Product Release to the production environment

  • Release:

    • Due to a new Product Release, one or more Service Offers need to be modified (or created) to make the new Product Release available for consumption

  • Operate:

    • The Operate value stream depends upon the development of operations features, such as monitoring (and observability), logging, and automated remediation Runbooks

      The Integrate value stream needs to develop the required functionality to manage the product in an operational environment.

The Integrate value stream, as shown in Integrate 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.

id e7abe40528854f9689ce55aff1d9b7f2
Figure 2. Integrate Value Stream Details Model

In the following sections we document the scenarios and stages of the Integrate value stream:

Integrate Scenarios

The Integrate value stream is applicable for the following four scenarios:

Develop a New or Initial Product Release Scenario

In this scenario a Product Release is developed which may be software and/or infrastructure and is developed in-house or (partly) sourced with an external partner. The approach may either be traditionally waterfall or iterative, which would imply that iterations have taken place inside the Design & Develop value stream stage.

Configure an Off-the-Shelf or SaaS Product for Use Scenario

Off-the-Shelf applications and SaaS solutions need to be integrated in a business Value Stream and supporting infrastructure environments, which might include the configuration of the application software. The Scope Agreement contains the mandate to contract the software or SaaS solution with the vendor and configure the product to fit in the specific business Value Stream and supporting infrastructure.

Deliver an Emergency Change or Hotfix Scenario

The Integrate value stream can be triggered by the Operate value stream in case a Defect needs to be created. The Build Package of the Digital Product in Operations is changed to fix the Defect, after which a new Product Release is delivered. It will be investigated whether this fix also needs to be applied (backported) to the newest Product Release under development (to prevent regression issues).

Update of a Vendor Product Scenario

A Digital Product can be based upon multiple third-party services and software components (packaged-based software, SaaS, PaaS, etc.). The Integrate value stream should therefore also cover the technology refresh of new releases delivered by the software vendor and/or the SaaS service provider. It is important to include these technology lifecycle events into the Product Backlog so they can be planned and executed accordingly.

A new release of the vendor product could, for example, include new features, patches/fixes for problems, or vulnerabilities and performance improvements. Changes from the vendor need to be integrated into the product build and release of the Digital Product, and tested to ensure the updates are successfully applied.

Plan Product Release Stage

Description

The purpose of the value stream stage “Plan Product Release” is to plan all development and testing activities required for creating the Product Release. Multiple teams may be needed, and different development methodologies may be used. This value stream stage is revisited as it oversees the other value stream stages in this value stream to cater for changes in the planning and iterations of the Design & Develop value stream stage.

Table 1. Plan Product Release Value Stream Stage

Entrance Criteria:

  • New or modified Product Backlog Item/Requirement (e.g., linked to a portfolio epic, Scope Agreements)

  • New problem (to be resolved)

  • Emergency change request (e.g., to resolve a major product issue or vulnerability)

  • Modified/new policies

Exit Criteria:

  • Prioritized and refined Product Backlog

  • Iteration/sprint plan created

Value Item:

  • Defined, prioritized, and planned Product Backlog Items

Activities:

  • Shall analyze the needs of stakeholders

  • Shall capture/document Product Backlog Items (e.g., derived from portfolio epics, problems, etc.)

  • Shall refine Product Backlog Items

  • Shall prioritize Product Backlog Items (including value, risk, and effort estimation)

  • Shall create the test strategy and Test Plan

  • Shall create a sprint/iteration plan

Examples of Participating Stakeholders:

  • Business Analyst

  • Business Stakeholder

  • Consumer

  • Development Team

  • Product Architect

  • Product Manager

  • Risk Analyst

  • Scrum Master

  • Test Specialist

Design & Develop Stage

Description

The purpose of the value stream stage “Design & Develop” is to analyze the requirements, create (or update) the design artifacts, and develop the changes (and associated Test Cases) for the Product Release. This includes the coding and configuration of software and related infrastructure (e.g., infrastructure as code).

This value stream stage covers the development of the changes that are part of the new release of the Digital Product based on the requirements, architecture boundaries, and policies set by the organization. In addition, requests might be needed to cater for setting up a development environment for the developers.

Table 2. Design & Develop Value Stream Stage

Entrance Criteria:

  • Prioritized and refined Product Backlog

  • Iteration/sprint plan created

  • Identified Defects

Exit Criteria:

  • Committed code/configuration changes (stored in the source code repository)

  • Test Cases created

  • Requirements and acceptance criteria defined

  • Updated Product Design

Value Item:

  • Development or configuration of changes have been completed and committed to the source code repository (ready to be merged)

Activities:

  • Shall define/analyze requirements (e.g., engage and collaborate with stakeholders)

  • Shall create and approve the Product Design, including data model design, UX design, and interface design

  • Shall define and create the Test Plan and associated Test Cases

  • Shall develop/configure the required changes (actual software development and/or configuring a product)

  • Shall commit code (into the source code repository)

Examples of Participating Stakeholders:

  • Business Analyst

  • Business Stakeholder

  • Consumer

  • Data Protection Officer

  • Development Team

  • Product Architect

  • Product Manager

  • Scrum Master

  • Security Analyst

  • Security Architect

  • Test Specialist

  • Vendor Manager

Build, Integrate, & Test Stage

Description

The purpose of the value stream stage “Build, Integrate, & Test” is to perform the build, integrate, and test activities to ensure the release package is ready for deployment into production.

Table 3. Build, Integrate, & Test Value Stream Stage

Entrance Criteria:

  • Committed code/configuration changes (in the source code repository)

  • Test Cases created

  • Requirements and acceptance criteria defined

  • Updated Product Design

Exit Criteria:

  • New or updated Build Package

  • New or updated release package

  • Tests executed

  • Identified Defects/issues

Value Item:

  • Created and tested Product Release with associated Build Package

Activities:

  • May compile code (if applicable)

  • Shall create the build artifacts as part of the Continuous Integration pipeline

  • Shall perform code reviews (and static code analysis)

  • Shall validate compliance and security aspects of the build created (and associated components)

  • Shall create the release package

  • Shall deploy to test (and other environments such an acceptance/staging environment)

  • Shall perform tests and verify against policies and compliance requirements, this includes security testing, performance testing, regression testing, integration testing, etc.

  • Shall identify potential Defects/issues (feedback loop to plan stage)

Examples of Participating Stakeholders:

  • Business Stakeholder

  • Consumer

  • Consumer

  • Development Team

  • Product Architect

  • Security Officer

  • Test Specialist

  • Vendor Manager

Accept & Publish Release Stage

Description

The purpose of the value stream stage “Accept and Publish Release” is to accept the Product Release as a candidate for deployment into production. The required change authority, such as the Product Manager, accepts the Product Release for deployment and/or release into production. The Product Manager accepts the Product Release after engaging with relevant stakeholders, which includes reviewing test results to accept or reject the list of remaining Defects, and reviewing the collateral produced. In a DevOps model, Operations has been participating all along but at this point an approval is given for the Product Release to be deployed into production.

This value stream stage ensures only validated and approved release packages can be deployed into production. The release package is tagged and secured to prevent any modification at a later stage (e.g., to prevent unauthorized changes being made).

Table 4. Accept & Publish Release Value Stream Stage

Entrance Criteria:

  • Tested and validated release package (ready for release)

Exit Criteria:

  • Accepted and published new Product Release (ready for deployment to production)

  • Securely stored and tagged Product Release

  • Release notes available (including outstanding Defects and associated Problems)

Value Item:

  • The Product Release is ready for deployment; the future consumer is informed and able to prepare for the release

Activities:

  • Shall review readiness of the release (e.g., verify test results, verify outstanding Defects, code quality, deployment Runbooks, data migration, and backout procedure, etc.)

  • Shall accept the new Product Release (by the Product Manager and required stakeholders)

  • Shall inform stakeholders of the new release

  • Shall publish the final release package (make the release available for consumption)

Examples of Participating Stakeholders:

  • Business Stakeholder

  • Consumer

  • Product Architect

  • Product Manager

  • Risk Analyst

  • Security Analyst

  • Security Officer

  • Support Specialist