PMP試験の勉強で覚えた用語をかみ砕いて理解するための記事
1. SAFe (Scaled Agile Framework) の概要と背景
SAFe (Scaled Agile Framework) とは、複数のチームが協力して大規模にアジャイル開発を行うためのフレームワーク。アジャイル手法をプロジェクト全体に展開する際に使われ、PMPのスケール型アジャイル開発に関連する。SAFeは、企業全体でアジャイルの利点を最大化することを目的としている。
プロジェクト管理において、特に複雑なプロジェクトや規模の大きなプロジェクトで有効。例えば、多くのチームが並行して動くITプロジェクトなど、効率的な進行と統一された方向性が求められる場面で使われる。
2. SAFe (Scaled Agile Framework) とは?
SAFeは、大規模なアジャイル開発を組織全体で効率的に進めるために設計されたフレームワークであり、以下の4つのレベルで構成されている。
- チームレベル: 各チームがScrumやKanbanといったアジャイル手法を用いて自己管理型の開発を行う。チームレベルでは、日々のスタンドアップミーティングやスプリントレビューを通じて、開発の進行を確認し、チーム内のコミュニケーションを促進する。
- プログラムレベル: プログラムレベルでは、複数のチームをまとめてアジャイルリリーストレイン (ART) と呼ばれる1つの単位として管理する。ARTは5から12のチームで構成され、共通の目的に向かって調整されたリリースを行う。このレベルでの主要なイベントには、PI (Program Increment) プランニングがあり、全チームが集まって次の数か月の計画を策定し、共通の目標を確認する。
- ソリューションレベル: 複数のARTが協力してより大規模なソリューションを提供する場合、このレベルで管理する。大規模なシステムや製品の開発において、ソリューションレベルでの調整が必要となる。このレベルでは、ソリューショントレインが機能し、ソリューション全体の整合性と品質を維持するために調整が行われる。
- ポートフォリオレベル: ポートフォリオレベルでは、企業全体の戦略とアジャイル開発を連携させる。このレベルでは、リーンポートフォリオマネジメントを用いて投資を管理し、企業の目標に沿ったプロジェクトやプロダクトにリソースを割り当てる。また、エピック(大規模なビジネスイニシアチブ)がここで管理され、適切な優先順位をつける。
SAFeの特徴として、これらのレベルを通じて一貫した管理と連携を実現することが挙げられる。各レベル間で役割と責任が明確に定義されており、例えば、プロダクトマネージャーはビジネス価値の優先順位を決定し、リリーストレインエンジニア (RTE) はART全体の円滑な運営を支援する。また、各チームが独立して作業しながらも、全体として統一されたビジョンに向かうことができる。
SAFeを導入することで、組織全体のアジリティが向上し、変化への柔軟な対応が可能になる。また、全体のリリースサイクルが効率化され、各チームが同じゴールに向かって協力することで、重複作業の削減や品質の向上が実現される。これにより、PMBOKのプロジェクトスケジュールマネジメントやステークホルダーマネジメントと密接に関わり、効率的なプロジェクト推進が可能となる。
3. 実務での適用例
例として、大規模なエンタープライズソフトウェア開発プロジェクトを考える。このプロジェクトでは、10以上のアジャイルチームがそれぞれ異なるモジュールを開発しており、各チームが個別の進行を行うだけではプロジェクト全体の統一性が失われるリスクがあった。ここでSAFeを導入することで、以下のような具体的な取り組みが行われた。
- PI (Program Increment) プランニングの実施: 全チームが一堂に会して次の8〜12週間の計画を立てるPIプランニングが実施された。各チームは自分たちの役割と他のチームとの連携ポイントを明確にし、統一された目標に向かって動くことで、リリースまでの道筋が共有された。
- アジャイルリリーストレイン (ART) の運営: 5〜12のチームが1つのARTとして動き、リリーストレインエンジニア (RTE) が全体の進行を管理した。この仕組みにより、各チームの進捗状況がリアルタイムで把握され、問題が発生した場合には迅速に対応できる体制が整えられた。
- 共通のバックログ管理: 各チームは個別のプロダクトバックログを持ちながらも、全体のバックログがポートフォリオレベルで管理されていた。このため、リソースの優先順位付けが戦略的に行われ、各チームがどの機能に集中すべきかが常に明確であった。
- 定期的なシンクミーティングと成果の統合: 各チーム間のシンクミーティングが定期的に行われ、進捗状況や課題の共有が行われた。これにより、チーム間の認識のズレが減少し、統合段階での手戻りが最小限に抑えられた。さらに、成果物の統合を段階的に行うことで、最終的なリリース時に問題が発生するリスクが低減された。
結果として、プロジェクト全体の進捗が非常に把握しやすくなり、統一された方向性を持って開発が進められたことで、リリースのスケジュールが守られ、顧客からも高い満足度を得ることができた。また、SAFeを通じて各チームが協力し合うことで、重複する作業が削減され、効率的なリリースが実現した。
※(筆者の体験ではなく、例です。)
4. アンチパターン – SAFeを使わなかった場合の問題点
SAFeのような統一的な管理フレームワークを使わずに、大規模プロジェクトにおいて各チームが独立してアジャイル開発を行った場合、次のような典型的な失敗が発生することがある。
- チーム間のコミュニケーション不足: 各チームが独自に進行しているため、チーム間でのコミュニケーションが不足し、進捗状況や目標が共有されない。これにより、異なるチームが互いに矛盾する仕様で開発を進める事態が発生し、統合の際に大きな手戻りが必要になることが多い。
- 目標の不一致: 各チームが異なる優先順位や目的に基づいて作業を進めるため、プロジェクト全体のゴールが曖昧になりやすい。例えば、あるチームが機能Aの実装を優先する一方で、別のチームは機能Bに集中しており、それぞれの機能が統合されると期待通りに動作しないという問題が発生することがある。
- 統合段階での手戻り増大: 各チームが独立して開発を行うと、最終的な統合の段階で多くの手戻りが発生することがある。例えば、APIの仕様が異なるまま開発が進んだ結果、統合時に多くの修正が必要となり、リリースが大幅に遅延するケースが見られる。
- 進捗の見えにくさ: 各チームが独立して作業しているため、プロジェクト全体の進捗が把握しにくくなる。これにより、上層部がプロジェクトの状況を正確に理解できず、リスクに対する対応が遅れることがある。例えば、進捗状況の報告がバラバラであるため、リソースの適切な配分ができず、重要なタスクが遅れることがある。
- 手戻りコストの増大: チーム間のコミュニケーション不足により、認識のズレが生じた結果、後工程での手戻りコストが大幅に増加する。例えば、あるモジュールと別のモジュールが適切に連携できず、機能が期待通りに動作しないことが統合後に発覚し、多くのリソースを割いて修正作業を行う必要が出てくる。
- 顧客満足度の低下: 統合段階での手戻りやリリースの遅延が顧客に影響を与えることが多い。例えば、リリースが予定よりも数か月遅れることで、顧客は計画していたビジネスのタイミングを逃し、結果として顧客の信頼を失うリスクがある。
これらの問題は、SAFeを導入せずに各チームが独立して作業することによって生じるものであり、特に大規模なプロジェクトにおいては致命的な影響を及ぼすことがある。SAFeのようなフレームワークを用いることで、統一された目標と計画に基づいて開発を進め、これらのリスクを最小限に抑えることが可能である。
※(筆者の体験ではなく、例です。)
5. 学びと今後の展望
SAFeを利用することで、組織全体のアジリティを高め、スムーズなリリースと品質向上を実現できることがわかった。次は、SAFeと他のプロジェクト管理手法(例えばScrumやKanban)をどのように組み合わせることで、より柔軟なプロジェクト管理を実現できるかを学ぶとよい。
6. まとめ
SAFeは、大規模なプロジェクトでアジャイルの利点を組織全体で最大限に引き出すためのフレームワーク。適切に使うことで、チーム間の協力とプロジェクト全体の進行が効率的に行える。
7. PMP試験で出そうな問題例と解答
- 問題例: SAFeの特徴として正しいものはどれか。
- チーム単位でのみ運用されるフレームワーク
- 複数のレベルで管理される大規模アジャイルフレームワーク
- 主にウォーターフォール型プロジェクトで使用される
- リリース計画を固定する
解答: 2
SAFeは、複数のチームが協力して大規模にアジャイル開発を行うためのフレームワークであり、企業全体でのアジリティ向上に貢献する。