Release with Delivery Insights-An Illustration

The Digital.ai Release with Delivery Insights brings together Agile and DevOps to help you improve visibility and collaboration across software development and deliveries by seamlessly connecting the data and artifacts at each stage of the release to the related agile stories and features—allowing the whole organization to use a single tool to easily track progress end-to-end.

  • Digital.ai Release version 10.0 supports integration with Continuum 21.0.
  • Digital.ai Release is our Release orchestrator and is more focused on the work flow—less on the contents of the flow, but more of the process.
  • Continuum continuously tracks the content: work items, commits, packages, versions and where they are in the development Value Stream.
  • The idea is to bring (integrate) them together, so that Release can provide rich insights into what is flowing through your development Value Stream.
  • This combo of Release and Continuum is being offered as the Release with Delivery Insights solution.
  • While Release is the customer facing product, Continuum runs as a headless server in the background.
  • All Continuum functionality that we want to expose goes through Release in principle.

Overview—Package Progression and Package Progression Board

A Package Progression is a defined set of one or more Phases through which package revisions move in order to be delivered to the end users. Each package revision contains one or more work items (stories or defects) with associated changes (commits).

A Package Progression Board presents you with the package progression perspective to view the package revisions (a bundle of associated work items and scm commits) you have and lets you promote the package revisions from one phase to the other before you deliver them to the end users.

In other words, Release with Delivery Insights provides you with much needed visibility into the value that flows through your software delivery value stream.

Setup walk-through

We have created a Docker image of the Digital.ai Release with Delivery Insights for demonstrating the Release with Delivery Insights solution.

The Digital.ai Release with Delivery Insights Docker image comes with:

  • a set of predefined Digital.ai Release templates for configuring the Continuum server, project and progression.
  • Continuum plugin pre-installed to integrate Digital.ai Release with Continuum.

At the end of this exercise, you will have a working instance of Digital.ai Release with Delivery Insights.

Here is the link to the GitHub repository that hosts the Digital.ai Release with Delivery Insights Docker image.

Prerequisites

  1. Tools involved in this set up:

    • Digital.ai Release 10.0 (docker image)
    • Digital.ai Continuum 21.0 (set up on request by Digital.ai Support)
    • Jira (your Jira server)
    • GitHub (your GitHub server)
  2. Docker

    You must have Docker installed on your server. Download Docker using one of the following links and install Docker.

    You may have to start the VPN client (Cisco AnyConnect) and connect to the Digital.ai network to download the latest XL Release and XL Deploy Docker images. Contact Digital.ai Support for more information.

  3. Contact Digital.ai Support and file a ticket for setting up a cloud Continuum instance for you. Once you raise a request, the Digital.ai Support team would set up a Continuum server and provide the server’s URL and API token to you, which you would need later in the process.
  4. Get a valid Digital.ai Release license and save it as xl-release-license.lic and keep it handy for later use.
  5. Keep the following Jira, Continuum and GitHub credentials handy for later use.

    jira_url = https://yourcompany.atlassian.net/
    jira_user = your_jira_user
    jira_password = your_jira_password
    
    github_user: your_github_user
    github_token: your_github_token
    
    continuum_url: http://yourcompany.v1testdrive.com (provided by Digital.ai Support)
    continuum_apiToken: your_continuum_api_token (provided by Digital.ai Support)

Set up Release with Delivery Insights

  1. Create a ~/.xebialabs/secrets.xlvals file on the user folder (for example, C:\Users\JohnDoe\ on Windows).
  2. Copy the Jira, Continuum and GitHub credentials (see step 5 of the Prerequisites section), paste them in the ~/.xebialabs/secrets.xlvals file, and save the file.
  3. Start the Docker program.
  4. Clone the Digital.ai Release with Delivery Insights repository. Let’s assume, you clone the repository to the C:\Users\JohnDoe folder.
  5. Copy the xl-release-license.lic file (see step 4 of the Prerequisites section) to the C:\Users\JohnDoe\release-delivery-insights-examples\docker\xl-release\default-conf\ folder.
  6. Open the C:\Users\JohnDoe\release-delivery-insights-examples\ folder on a terminal, for example, Windows Power Shell.
  7. Run the up.sh script: ./up.sh up-sh
  8. Wait for the Digital.ai Release application to be up and running.
  9. Run the setup.sh script: ./setup.sh setup-sh
  10. Verify the setup.

    1. Verify if the Docker containers are up and running.
    2. Log on to Digital.ai Release. Go to http://localhost:5516/. User name: admin Password: admin
    3. Go to Settings > Shared Configuration and make sure you have Continuum, GitHub and Jira servers configured. server-configuration
    4. Under Continuum server configuration, click Edit, click Test and make sure that the server connection is successful. ctm-server-configuration
  11. Go to Design > Folders.
  12. Make sure you find the Continuum Integration folder. ctm-integration-folder

Configure and view the Progression Board

  1. Go to Reports > Dashboard.
  2. Click Add Dashboard.
  3. Select the Package progression template. progression-template-select
  4. Under Add Dashboard, type a name for the progression, type the dashboard owner’s user name, for example, admin, and click Create. add-dashboard
  5. Click Configure Dashboard.
  6. Click the Configure icon. configure-dashboard
  7. Under Edit Tile, select the Continuum server, type a title, and select a progression from the drop-down list. edit-tile
  8. When you are done with configuring the dashboard, click Back to view mode to view the Progression Board. progression-board-view

Use the Progression Board

  • A Package Progression board consists of software delivery phases (lanes) and package revision cards.
  • Each phase in the Package Progression Board represents a discrete step in your software delivery process through which value (work items) is moved as your software gets closer to delivery.
  • A package revision card consists of Summary Tabs at the top right and bottom left with visual aid icons and presents you with data such as the package’s major version number, revision range, total number of work items, and the number of rogue commits (commits that are not associated with a work item).
  • Work items in a package revision card are shown as color-coded dots to visually distinguish Stories (Green), Defects (Red), and work items with trailing commits (diametrical split).
  • With more and more packages to track, package revisions are grouped by package names in the Progression Board.

ctmfb

  • Version Range: Range of minor version numbers included in this package revision.
  • Package Version Number: Package major version number.
  • Revision Range: Range of package revisions included in package revision.
  • Total Number of Workitems: Total number of stories and defects included in this package revision.
  • Number of Rogue Commits: Total number of commits that are not associated to a work item and thus are “rogue”.

Clicking a package revision number shows the Package Detail page. You can view the package summary and package manifest by selecting the Summary and Manifest tabs.

package-summary

package-manifest

Hovering over a dot shows the work item ID.

Clicking a work item dot takes you to the work item perspective.

The following types of units are shown on the board:

Green

A green dot represents a “Story” work item.

Red

A Red dot represents a defect.

Trailing

The half-green-shaded dot represents an “undeliverable” work item, which contains trailing commits. This means there are additional commits for this work item in a package located in an earlier phase that is not contained in the package revision you are currently viewing. Effectively all the work that has been committed against this item is not in the current package and thus is not deliverable.

Summary Tabs

The upper right-hand and lower left-hand sides of each package revision offers a Summary tab with the following data:

delforecast

A forecast (in days) of when this package revision will be delivered. This number is calculated based on the past delivery performances for this particular package.

rogue commits

Amount of commits in this package revision that are not associated with a work item (story or defect).

completed

Percentage of activities that have been completed for this package revision (both automated and manual).

pending activity

Indicates that there is a manual activity pending for this package revision.