アジャイル開発を活用し、一丸となって競争力のあるシステムやサービスを作りだす企業や事業部になるための「SAFe(Scaled Agile Framework)」というフレームワークを解説する。前回は、SAFe誕生までの経緯と、SAFeの土台となった思想について説明した。後半の今回は、いよいよSAFeの解説に入る。
SAFeでは、経営レベルで意思決定した戦略を、複数のアジャイルチームからなるプログラムで開発することを目指す。ここでの「プログラム」とは、複数チームで構成される大規模プロジェクトのことを意味する。この戦略的な意思決定からチームレベルの開発までをSAFeでは「ポートフォリオレベル」「プログラムレベル」「チームレベル」の三つのレベルに分解している。
これらの三つのレベルを図示したものが図1であり、これがSAFeの全体像である。ポートフォリオレベルでは、企業全体もしくは事業部で取り組むべきこと(「エピック」と呼ぶ)を決める。プログラムレベルでは、一つのエピックを実現するシステム上の機能(「フィーチャー」と呼ぶ)を定義し、それらのフィーチャーを複数のチームに割り当てる。チームレベルでは、各チームが割り当てられたフィーチャーを、ユーザー要求(「ユーザーストーリー」と呼ぶ)に分解して逐次開発する。
また、これらの三つのレベルを通じて、SAFeが実現しようとしているのが以下の四つの価値である。
・ベクトル合わせ:三つのレベルのメンバーが戦略的な目標を共有し、その方向に向かって力を合わせる
・コード品質:技術プラクティスを実践することで大規模で品質のよいプロダクトを実現する
・プログラムの実行:開発メンバーの自律性に基づく自己組織化や自己管理、および反復のサイクルを自然な形でプログラムレベルにスケールアップすることで、大規模プロジェクトを確約に基づきスケジュール通りに実行する
・透明性:三つのレベルでメンバーが包み隠さず現状を共有することで、より良い連携をもたらす信頼関係を醸成する