今回の記事では、企業や事業部が一丸となって強力なプロダクト、サービス、システムを企画し、開発する姿を描いたフレームワークであるSAFe (Scaled Agile Framework) [1], [2]の概要を説明します。続いて、SAFeの最上位の意思決定及び実行レベルであるポートフォリオレベルの概要を架空の家電メーカーを題材に説明します。
1. SAFeの概要
SAFe (Scaled Agile Framework) は、企業や事業部の戦略に沿い、企業や事業部が一丸となって強力なプロダクト、サービス、システムを企画し、開発する姿を描いたフレームワークです。SAFeの考案者は、ソフトウェア要求の権威であり、かつ自身がいくつも企業を起業し成功を収めているDean Leffingwell氏[3]です。SAFeは、アジャイル[4]、リーン思考[5]、プロダクト開発フロー[6]、要求プラクティスを融合してLeffingwell氏が考案し、John Deer社(農機具製造業)、BMC Software社(ソフトウェア製品ベンダー)、Discount Tire社(小売業)、TradeStation社(金融サービス業)などの様々な分野の大規模開発に適用した経験を経て体系化したものです。SAFeはLeffingwell氏の著書である「アジャイルソフトウェア要求」[2]という書籍で最初に世に出ましたが、表 1 に示されるような改訂も経ながら現在も発展が続いています。
リリース年 | バージョン番号 | 説明 |
---|---|---|
2012年 | 1.0 |
|
2013年 | 2.0 |
|
2014年 | 3.0 |
|
2016年 | 4.0 |
|
これらの改訂を取り入れて発展した最新のSAFeの説明はwww.scaledagileframework.comというwebサイト(日本語訳はSAFe日本語サイト [1]で提供)から一般向けに提供されています。
注:SAFe 日本語サイトの更新
2016年12月にSAFe 日本語サイトは、SAFe 4.0ベースに更新されている。
SAFeでは、経営レベルで意思決定した戦略を複数のアジャイルチームからなるプログラムが競争力のあるプロダクトに具体化するという事業部や企業の姿を提示します。そのために、SAFeは意思決定及び実行のための3階層と、カンバンや複数のバックログ(待ち行列)を介した企画及び開発の連携を基本的な骨格としています。これらは、プロダクト開発フローのテーマである分散された制御や待ち行列に基づいています。
SAFeの最大の特徴は、意思決定及び実行の階層として以下の 3 つのレベルを設定したところにあります。
- ポートフォリオレベル:プロダクト等の企画を評価、審査する
- プログラムレベル:複数チームが連携してプロダクトのリリースを開発する
- チームレベル:1つのチームがプロダクトの自チーム担当部分を開発する
注:SAFe 4.0での変更点
「SAFeのこれまでの発展」の表での記述の繰り返しになるが、100名を超える開発者を要する大規模なプロダクトや、ハードウェアとソフトウェアから構成されるシステムの開発の場合に適用可能なオプションのレベルとして価値のストリームレベルが追加された。
ここで、「プログラム」とは複数チームで構成される大規模な開発体制のことを意味します。SAFeのプログラムレベルでは、5-10チーム程度(開発者数が50-100名程度)の規模を想定しています。
これらの3つのレベルを図示したものが図 1 であり、これをSAFeの全体像 (big picture) と呼びます。本記事のあとの節で、これらの 3 つのレベルの概要を説明します。
これらのレベルを通じて、SAFe が実現しようとしているのが以下の 4 つの価値です。
- ベクトル合わせ:3 つのレベルのメンバーが戦略的な目標を共有し、その方向に向かって力を合わせる
- コード品質:技術プラクティスを実践することで大規模で品質のよいプロダクトを実現する
- プログラムの実行:開発メンバーの自律性に基づく自己組織化や自己管理、及び反復のサイクルを自然な形でプログラムレベルにスケールアップすることで、大規模プロジェクトを確約に基づきスケジュール通りに実行する
- 透明性:3つのレベルのメンバーが包み隠さず現状を共有することで、より良い連携をもたらす信頼関係を醸成する
注:SAFe 4.0での変更点
SAFe 4.0ではソフトウェアだけではなく、ハードウェアの開発もカバーするので、「コード品質」という価値は「品質の作り込み」に変更された。
SAFeのもう1つの特徴は、以下のようなカンバンや複数のバックログを介して経営陣、プログラム、チームが目標を共有し、連携することを提案している点にあります。
- ポートフォリオカンバンシステム:プロダクト等の企画を評価、審査するためのカンバンシステム
- ポートフォリオバックログ:承認済みのプロダクト等の企画を保持するバックログ
- プログラムバックログ:1つのプログラムで共有する要求のバックログ
- チームバックログ:1つのチームで共有する要求のバックログ
これらのカンバンやバックログには、プロダクトの企画や要求を表す以下のような項目が入ります。
- エピック:プロダクトやシステムに対するニーズとそれを解決するソリューション
- フィーチャー:エピックから導き出した最上位の要求
- ユーザーストーリー:フィーチャーを実現するために必要なチームレベルの要求
ここで注意して頂きたいのが、「要求」という言葉の意味です。アジャイル開発では、「要求」は開発依頼者が開発して「欲しい」と考えている機能等を表現するのにすぎず、開発されることが約束されたものではないということです。
エピックは 1-2 ページ程度の分量で、1 つのフィーチャーやユーザーストーリーは索引カード 1 枚に記述できるようなものであり、従来の要求成果物よりも軽量なものになっています。また、エピックには以下の 2 種類のものがあります。
- ビジネスエピック:ユーザーに直接的に価値を提供するプロダクト、システム、サービス
- アーキテクチャーエピック:ユーザーに直接的には価値を提供しないプロジェクト横断的な共通アーキテクチャーやインフラ、UXガイドライン
注:SAFe 4.0での変更点
SAFe 4.0 では、アーキテクチャーやインフラ、技術調査に関する作業の呼び方が「イネイブラー」に変更された。それに伴い、「アーキテクチャーエピック」は「イネイブラーエピック」と呼ばれる。
これらの要求がカンバンやバックログを介して 3 つの意思決定及び実行のレベルを流れることで、SAFeでは戦略的な意思決定がチームレベルで開発される詳細な機能に具体化されるのです。
2. SAFe の3 つのレベル
2.1. ポートフォリオレベルの概要
企業や事業部門のおかれたビジネス状況、財務目標、ポートフォリオレベルのビジョン、自組織の能力を勘案してプロダクトの方向性を示す箇条書きの戦略テーマを策定します。この戦略テーマがプロダクトに投資する予算や企画の審査などの意思決定の土台になります。
戦略テーマを実現するためのソリューションが前述したエピックになります。エピックは当初様々なアイデアレベルで発想されますが、その有効性をポートフォリオカンバンシステムにより以下の複数の段階で評価します。
- じょうご
- レビュー
- 分析
ポートフォリオカンバンシステムの各段階では、費用やビジネス効果という観点で粗くランク付けされ、上位のランクのものから実現方法や競合製品(従来システム)に対する優位性、遅延のコストを含むプロダクトやシステムのより精度の高いランク付けや費用見積もりを行うなどの評価を行います。このようなエピックの評価の過程はプロダクト開発フローで紹介したカンバンの考え方を応用しています。つまり、仕掛かり作業制限をかけて、ある段階で評価対象のエピックの空きができたら前の段階で最もランクの高いエピックから順にプルして評価を行います。さらに分析を完了したエピックに対してプロダクト(システム)の審査会で開発を行うか否かの判断が下されます。
プロダクト(システム)の審査会で承認されたエピックはポートフォリオバックログに入ります。ポートフォリオバックログに入ったエピックは、優先順位順に開発リソースを確保し、全体の予算枠から予算割り当てを行い、プログラムレベルで開発に入ります。
この予算割り当てからプロダクトをその利用者に届けるまでの過程をSAFeでは価値のストリームと呼びます。「リーン思考」の節で説明したように価値のストリームを通じて迅速により高い価値を提供することが企業や事業部の共通の目標になります。この価値のストリームの中心となる開発体制をSAFeではアジャイルリリース列車と呼びますが、承認されたエピックが予算割り当てされたアジャイルリリース列車で自律的に開発される様子がSAFeの全体像では予算と価値のストリームが直結する図で表現されています。
ポートフォリオレベルの例
SAFeでのプロダクト開発の流れをより具体的に説明するために、架空の製造メーカーの家電という事業分野を考えてみることにします。この事業分野では、様々な従来製品が価格競争にさらされており、そのような価格競争にさらされない事業戦略として「これまで蓄積した高度なハード及びソフト技術を活用した健康志向でインテリジェントな家電を提供する」という戦略テーマを設定することにしました。この戦略テーマに沿って実際に開発するプロダクトの候補がエピックになります。
エピックの候補としてはまずアイデアレベルのものを広く募ります。例えば、インテリジェント家電というテーマで「お掃除ロボット」、「インテリジェント冷蔵庫」、「インテリジェント調理器」などがエピックの候補として得られたとします。それらのエピックの候補は、「じょうご」のように広く集められ、じょうごのバックログに溜められて初期評価を行いランク付けします。「じょうご」段階以降、「レビュー」、「分析」という段階を経てエピックを評価します。このようなカンバンに基づくエピックの候補の評価プロセスにより「お掃除ロボット」という有望なエピックが素早く評価されます。
最終的に、「分析」段階で最上位ランクの候補がプロダクト審査会で審議され、開発するかどうかの判断が下されます。「インテリジェント家電」の例では、「お掃除ロボット」というエピックが開発対象として承認されます。
企画が承認された「お掃除ロボット」エピックはポートフォリオバックログというバックログに保管され、バックログの最上位の項目から開発リソースの手当てがつき次第、次のプログラムレベルに進み、開発が開始されます。
第 4 回の終わりに
今回は、SAFeの概要とポートフォリオレベルを説明しました。
SAFeの特徴は以下の 2 点にあります。
- 3つの意思決定及び実行レベル
- カンバンシステムと複数のバックログによる企画の審査と開発の連携
これら 2 つの特徴はプロダクト開発フローに基づいたものであり、これらの特徴はSAFeの全体像と呼ばれる図に示されています。
さらにこれらの特徴をSAFeが実現しようとしている4つの価値についても説明しました。
次に、SAFeの3つの意思決定及び実行レベルの一番上のポートフォリオレベルを架空の家電メーカーの製品開発を題材に説明しました。ポートフォリオレベルでは、事業戦略や市場の状況等を踏まえた戦略テーマが設定され、そのテーマを実現するためにエピックと呼ばれるプロダクトの企画を考案します。考案されたエピックは、ポートフォリオカンバンシステムを通じて有効性が評価され、最終的にプロダクト審査会により開発に進むべきかどうかを審査します。
SAFeのポートフォリオレベルにより、プロダクトの企画承認過程の透明性を高めるとともに、有望な企画の承認をスピードアップすることができます。
次回の記事では、SAFeのプログラムレベルとチームレベルを説明する予定です。
参考文献
- [1] SAFe日本語サイト, https://www.scaledagileframework.com/jp/
- [2] Dean Leffingwell, アジャイルソフトウェア要求―チーム、プログラム、企業のためのリーンな要求プラクティス, 翔泳社, 2014
- [3] Dean Leffingwell さん突撃インタビュー (2014年8月公開)
- [4] 第1回:アジャイル開発が生まれた背景とその特徴 (2014年3月公開)
- [5] 第2回:チームを超えたものの必要性とリーン思考 (2014年5月公開)
- [6] 第3回:プロダクト開発フロー (2015年2月公開)