Solution

クリック、ドカン、すごいよね。

– スティーブ・ジョブズ

ソリューションの概要

SAFeの単語、ページ、リンク、役割、作業、成果物はすべて、ただ1つの目的のためにのみ存在する。顧客に価値を提供するソリューションをチームが継続的に納品するのを支援するという目的である。これにより、チームは目標を達成することができる。それこそが努力の最終目的である。

しかし、チームや列車がSAFeの指針を適用し、関心領域の中で効果的に働いたとしても、価値が必ず得られるとは限らない。顧客はシステム能力やフィーチャーやコンポーネントを買うのではない。ビジネス上の望ましい結果をもたらしてくれるソリューションを買うのである。それが理由でソリューションはSAFeの中心概念の1つになっている。このソリューションを構築するには価値の納品をシステム的な目で見る必要がある。

詳細

効果的なソリューション、つまり意図された目的に合ったソリューションを開発することがSAFeの大きな目的である。価値のストリームのページで説明したように、ソリューションは、最終的にお金を出す購買者に納品される最終プロダクトの場合も、組織内の運用の価値のストリームを助ける一連のシステムの場合もある。どちらの場合も、行うことはほとんど同じである。エンドユーザーのニーズを判断することと、そのエンドユーザーに対する価値のフローを確実、効率的、継続的に作成することである。これがソリューション開発のプロセスであり、SAFeのすべての役割、作業、成果物の主題である。

SAFeのソリューション開発の概要

ソリューション開発は、SAFeの価値のストリームレベルの主題のすべてであり、このページではこれを第一に取り上げる。ソリューション開発には、図1に示すように、SAFeの中心的なプラクティスや対象物がいくつか含まれる。

Figure 1. Overview of solution development
図1. ソリューション開発の概要

どのソリューションも1つの価値のストリームによって納品され、価値のストリームは1つ以上のアジャイルリリース列車(ART)の人々によって実現される。ARTは同調して動作し、ソリューションをインクリメンタルに構築する。ソリューションは完全に統合され、ソリューションデモによって評価される。ソリューションデモは少なくともプログラムインクリメントごとに行われる。ソリューションの意図にはソリューションの目的が示され、それをもとに固定および変動の要求と設計を調査し定義することができる。この要求と設計はソリューションコンテキストから出てくることもある。顧客はソリューション構築者とのやり取りの中で、意図を明確にし、想定事項を検証し、進捗を確認する。ソリューション管理アーキテクトは、開発を進めるのを手助けし、スコープや優先順位に関して意思決定を行い、フィーチャーとシステム能力および非機能要求のフローを管理する。

ガバナンスの一部は経済的枠組みによって提供される。経済的枠組みには、ソリューションにまつわるロジックを制御する経済的意思決定規則が含まれる。価値のストリームの予算戦略テーマも境界および入力となる。

経済的に実行可能なソリューションを開発するには、総合的な方法でソリューションを定義、計画、実装、レビューする必要がある。この方法について以下で説明する。

ソリューションを効果的に開発するにはシステム思考が必要

「システム思考を適用する」という第2原則は、組織がシステム的なものの見方を取り入れ、価値の定義、アーキテクチャー、開発プラクティス、プロセス改善に関する拡張性の高い創発的なプラクティスを適用する際の指針となる。フレームワークの多くの要素はそのための助けとなる。それについて以下のセクションで説明する。

ソリューションのシステム能力、イネイブラー、NFR

システム能力とは、ユーザー目的の達成を支援する、エンドツーエンドのソリューションサービスである。システム能力は価値を端から端まで縦にスライスしたものとして実装され、それによってインクリメンタルなソリューション開発が可能になる。イネイブラーは、新しいシステム能力の調査に役立ち、ソリューションのインフラやアーキテクチャーの一部となり、NFRを向上させる。これにより、早期に価値を納品でき、アーキテクチャーが堅固になる。

ソリューションの意図

ソリューションの意図は、ソリューションの総合的なビューを推進し表現するもので、構造、振る舞い、機能のビューなど、価値の定義を規定するさまざまな側面を含む。モデルベースシステムエンジニアリングは、ソリューションについて論理的に考えるための効果的な方法であり、その知識を共有するための効率的な伝達手段にもなる。SAFeの固定-変動のソリューション意図のパラダイムを使用することで、価値のストリームは、数多くの学習サイクルの過程で出現した客観的知識をもとにソリューションの意図を向上させることができる。

顧客とソリューションコンテキスト

システム的なものの見方をすると、ソリューション構築者は、ソリューションコンテキスト、つまりソリューションがその中で動作する生態系を理解することができる。ソリューションコンテキストは、運用上の要求や制約を判断するための追加の要素となる。

そしてもちろん、顧客は価値のストリームの一部である。顧客は、ソリューションの意図やソリューションコンテキストを定義する作業に参加し、想定事項や使用適合性の検証を手助けする。

ソリューションの統合、テスト、デモ

ソリューション開発を効果的に行うには、利害関係者とチームが、ソリューション全体の中の統合されたインクリメントを頻繁に評価することが欠かせない。ソリューションデモは固定されたPIのリズムで実施されるが、継続的なインテグレーションとテストはもっと頻繁に、実際には可能なときには常に行われている。この目標に向かって進むには、ソリューション構築者は、統合とテストのプラクティスや、構成管理、自動処理、仮想化を継続的に改善していかなければならない。

経済的に実行可能なソリューションの構築

複雑なソリューションを構築するには、情報に基づいて効果的に意思決定を行う必要がある。経済的枠組みのトレードオフはソリューション開発の指針となる。さらに、学習マイルストーン、顧客のフィードバックループ、セットベース設計といった調査プロセスを継続的に行うことで、学習プロセスについての情報が得られ、優れた選択肢を使用しそれほど適していないものを排除してプロセスの無駄をなくすことができる。

ポートフォリオ内の複数ソリューションの管理

SAFeのそれぞれのポートフォリオには複数の価値のストリームが含まれる。その多くはほとんど独立しているが、横断的な関心事や依存関係を持つものもある。その様子を図2に示す。

Figure 2. An example of cross-cutting solution concerns in a portfolio
図2. ポートフォリオ内の横断的なソリューションの関心事の例

ときには、このような横断的関心事によって、システム能力が拡張され、戦略的差別化を実現できることがある。あるいは、その関心事がソリューションの一部として対処しなければならない依存関係でしかない場合もある。この場合には、価値のストリームをまたがった連携が必要である。


Last update: 30 November 2015