「継続的デリバリー(CD:Continuous Delivery)」と言うと、プロダクトを開発/リリースするためのITツールの印象が強いかもしれませんが、SAFeではDXを成功させるためのプラクティスとして提供されています。今回は、このビジネス目線の継続的デリバリーがどのように導入されていくのかについて説明します。

今回解決する課題

今回解決する課題は次の2つです。

  • B-3:先行する競合他社の成功事例に、すぐに追随できていない
  • C-1:従来のシステム開発の進め方では、顧客/親会社の期待するスピード感についていけていない

ITツールを導入したが上記のような課題を抱えている……という話を耳にすることは少なくありません。なかでも多いのは、開発の効率化を理由にツールを導入し、開発プロセスではその効果があったものの、ビジネス全体のスピードが加速していないというケースです。

こうした課題を解決するには、開発のみではなく、ビジネス検討から開発の現場を通じて市場へリリースするまでの全体のプロセスを最適化するアプローチが必要です。SAFeでは、この考え方を「継続的デリバリーパイプライン(CDP:Continuous Delivery Pipeline)」として提供しています。

CDPとは

CDPは、新機能の一部のアイデアを具体化し、オンデマンドでエンドユーザーまで価値提供する管理方法をパイプライン形式で示した方法論です。継続的な「探索」「統合」「配置」と「リリース」が、それぞれ異なる概念として定義されています。

CDPは、次の4つの工程で構成されます。

  • 継続的探索(CE:Continuous Exploration):市場の問題/顧客のニーズと、そのニーズを満たすために必要なソリューションをプログラムバックログに定義し、優先順位を付ける
  • 継続的統合(CI:Continuous Integration):プログラムバックログから機能を取り出し、それらを実装する。これにより、システムやソリューションとして完全な状態に構築/統合した上で、テストを行う
  • 継続的配置(CD:Continuous Deployment):本番環境にデプロイし、適切に動作していることを確認する。ビジネスとして顧客にリリースする適切な時期を決定する
  • リリースオンデマンド(Release on Demand):市場や、ビジネスを通じてリリースした価値に対する顧客の反応に基づき、次に何をする必要があるのかを学ぶ機会を提供する

一見すると順次的/直線的な進め方に見えますが、上図の「Agile Release Train(ART)」周囲にある矢印が示すように、仮説検証を繰り返す学習サイクルで実現します。特に、部分的なリリースを繰り返すことを前提にしており、「フルリリース」というアプローチを排除することで、ビジネスアジリティの段階的な向上を目指します。

現状分析/CDPとのマッピングで問題点を可視化

SAFeを導入しようとする企業には、大抵、すでに何らかのかたちでパイプラインが存在しています。ただし多くの場合、大幅な遅延が生まれる原因が潜んでおり、そのまま利用すると結果的に間違った導入が進みます。これを回避するため、SAFeでは最初に現状のパイプラインの分析を行います。

例えば、ある組織において、既存のパイプライン(アイデアの創出からリリースまでの流れ)を分析した結果、下図のようになっていることがわかったとしましょう。

パイプラインの分析結果

ある企業における既存のパイプラインの分析結果/出典:https://www.scaledagileframework.com/continuous-delivery-pipeline/

分析後、このフローにおける「完了するまでのプロセス時間」「リードタイム」「遅延時間」「正確な作業率」をそれぞれ算出しました。

可視化

各プロセスをメトリクスにより可視化/出典:https://www.scaledagileframework.com/continuous-delivery-pipeline/

可視化した現在のパイプラインとCDPをマッピングすることで、組織として共通認識となるパイプラインのメンタルモデルを作成することができます。

可視化

主要なボトルネックを可視化した状態/出典:https://www.scaledagileframework.com/continuous-delivery-pipeline/

この図では、現状のパイプライン上の作業遅延となり得る問題点を可視化しています。パイプライン上の問題には遅延時間や待ち時間などがありますが、単純作業の自動化や情報伝達効率化のための権限移譲などによって解決することができます。

「プログラムカンバン」による継続的なトラッキング

作業は可視化したフロー上で流れ作業で進められますが、数十人規模で進むARTではこの状況をトラッキングする必要があります。「プログラムカンバン」は、CDPを通じて、アイデアから分析、実装、リリースまでの機能の流れを可視化/管理するための手法です。

可視化

プログラムカンバンの例/出典:https://www.scaledagileframework.com/program-and-solution-kanbans/

プログラムカンバンのステータスを見ると、アイデアの初期段階である「Funnel(漏斗)」から、段階的に具体化されていくことがおわかりいただけると思います。なお、このプログラムカンバンはART Syncでその状態の検査と適応が行われます。ファネルに投入された内容を議論/分析をして優先順位を付けていくことで、PIプランニングへの準備を進めていきます。

* * *

「デザイン思考を用いて市場の課題や顧客のニーズを分析したが、プロダクト開発に繋がらない」「開発用にCIツールを導入しているが効果を感じられない」「CIツールを使って継続的配置を行っているが、ビジネス価値をスピーディーに提供している実感がない」――このような声は多く、CDの導入が局所的解決になっているケースが散見されます。

今回紹介したCDPは、部門をまたいだ改善に取り組む際の障壁を逓減するものです。トップダウンとボトムアップ両方から検討されたビジネスアジリティは、より高い価値を生み出す源泉になります。