SAFe® の概念を Azure Boards 成果物にマップする方法
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Scaled Agile Framework (SAFe®) の使用に関心がある場合は、SAFe® の成果物を追跡するように Azure Boards プロジェクトを構成できます。 Azure Boards がスクラムとアジャイル プラクティスをサポートするのと同じように、SAFe® と多数のチームが複数のリリースにまたがるエピックを共同で作業することをサポートできます。
このチュートリアルでは、次の SAFe® の成果物が特定の Azure Boards 成果物にどのようにマップされるかについて説明します。
- SAFe® のアジャイル、プログラム、ポートフォリオ チーム
- エピック、機能、ストーリーなどの SAFe® の成果物
- SAFe® の製品、プログラム、ポートフォリオのビュー
- SAFe® のリリース トレイン、スプリント、その他のタイムボックス
- SAFe® のイテレーションの目標と目的
- SAFe® のバリュー ストリームと予算
- SAFe® のポートフォリオ ビジョンと戦略的テーマ
- SAFe® のロードマップ
- SAFe® のマイルストーンとイベント
- SAFe® の振り返りとレビュー
Azure Boards によるスクラムとかんばんの実装方法の概要については、スプリント、スクラム、プロジェクト管理の概要とボードとかんばんの概要に関する記事を参照してください。
注意
この記事は、Azure Boards と Azure DevOps Services に適用される一連の Scaled Agile Framework® チュートリアルの 1 つです。 ほとんどのガイダンスは、クラウドとオンプレミスの両方のバージョンに対して有効です。 ただし、一部の機能と手順は、Azure DevOps Server のクラウド バージョンまたは最新バージョンに特化しています。
次の画像は、3 レベルのチーム階層をサポートし、チームをそれぞれの区分パスとイテレーション パスにマップするように Azure Boards を構成する方法を示しています。 この例はアジャイル プロセスから構築していますが、Azure Boards でホストされているすべてのプロジェクトとプロセスにこれらの変更を適用できます。
以下の例は、階層的な区分パスを使って 3 レベルのチーム階層を構成する方法を示しています。 この例はアジャイル プロセスから構築していますが、Azure Boards でホストされているすべてのプロジェクトにこれらの変更を適用できます。
アジャイル機能、プログラム、ポートフォリオ チーム
Azure Boards は、各チームが担当作業のビューを持つことをサポートしています。 階層的なチーム構造を構成することで、各チームは担当作業に集中できます。また、その作業をチーム階層内の次のレベルにロールアップできます。
SAFe® チームをサポートするために、ポートフォリオ チームがエピックを管理するように既定のチームを再構成します。 次にプログラムレベルの作業とチームレベルの作業のためのサブチームを作成します。 複数のチームや複数のレベルにまたがっていても、作業を追跡できます。
ストーリー、機能、エピック、イネーブラー、能力
すべての作業と成果物は作業項目に取り込まれます。 各作業項目は、ワークフローが事前に定義されている特定の作業項目の種類に関連付けられます。 Azure Boards の各プロセスは、任意の SAFe® の成果物を追跡するために使用できる特定の作業項目の種類をサポートしています。
使用できる作業項目の種類は、次の画像に示すように、プロジェクトの作成時に使われたプロセス (アジャイル、ベーシック、スクラム、または CMMI) に基づいています。
次の図は、アジャイル プロセスのバックログ作業項目の階層を示しています:
- ユーザー ストーリーとタスクは、作業を追跡するために使用します。
- バグはコードの欠陥を追跡します。
- エピックと機能は、大規模なシナリオで作業をグループ化するために使用します。
各チームは、ユーザー ストーリーまたはタスク作業項目と同じレベルでバグ作業項目を管理する方法を構成できます。 [バグ対応] 設定を使用します。 このような作業項目の種類を使う方法については、 アジャイル プロセスに関する記事を参照してください。
バックログの項目の名前は、"ユーザー ストーリー" (アジャイル)、"問題" (基本)、"プロダクト バックログ項目" (スクラム)、または "要件" (CMMI) だとします。 4 つとも似ており、提供する顧客価値と完了する作業が説明されています。
ユーザー ストーリーまたは機能を使ってイネイブラーを、機能またはエピックを使って能力を追跡できます。 また、特定の追跡およびレポートのニーズがある場合は、カスタム作業項目の種類を追加して、これらの種類の成果物を追跡することもできます。 詳細については、「Azure Boards のカスタマイズ」のカスタムの作業項目の種類を追加する方法のセクションを参照してください。
作業項目は次のタスクをサポートしています。
- 説明と受け入れ基準を追加する
- チームまたは区分パス、プロジェクト メンバーに割り当てる
- 状態を更新してイテレーションまたはスプリントに割り当てる
- 作業項目をリンクする、ファイルを添付する、タグを追加する
- コメントを追加し、ディスカッション スレッドを表示する
チームでプロダクトおよびポートフォリオ バックログを使うと、ユーザー ストーリー、機能、エピックを簡単に追加し、優先順位を付けることができます。 作業項目と作業項目の種類の詳細については、ユーザー ストーリー、問題、バグ、機能、エピックを使って作業を追跡する方法に関する記事を参照してください。
チームのバックログとボード
SAFe® のバックログは、チーム、プログラム、ポートフォリオ バックログにマップされます。 アジャイル プロセスの既定で、ユーザー ストーリー、機能、エピックのバックログ レベルがサポートされています。 階層的なバックログ構造は、エピックの進行中に機能とユーザー ストーリーをサポートするために行われた作業を示しています。
「Azure Boards のカスタマイズ」の「バックログのカスタマイズ」で説明されているように、バックログとボードをカスタマイズして、ポートフォリオ バックログを追加することもできます。
各バックログのボード ビューは、チームごとに構成できます。
プログラム インクリメント、リリース、スプリント
SAFe® のリリース トレイン、リリース、イテレーション、プログラム インクリメント (PI)、スプリントを使うと、簡単にイテレーション パスにマップできます。 チームの階層全体にわたってイテレーションを共有することによって、まとまりのある方法で、リリースを管理します。
エピックは複数のリリース トレインにまたがることがあるため、ポートフォリオ チームは特定のイテレーションに関連付けられていません。 Program チームは、PI に付属する Feature の成果を追跡します。 また、機能チームはスプリントで作業して複数のストーリーを完了します。 各チームが、注力している一連の成果物をチームが追跡するのをどのイテレーションがサポートするかを選択します。
イテレーションの目標と目的
SAFe® のプラクティスには、アジャイル リリース チームがイテレーションの目標と目的を定義することが含まれています。 プロジェクト Wiki またはチーム ダッシュボードを使ってチーム情報を取り込むことをお勧めします。 プロジェクト Wiki とチーム ダッシュボードはどちらも、情報を追加し、書式を設定する Markdown をサポートしいます。
詳細については、この記事の後の方の「情報を共有する」を参照してください。
バリュー ストリームと予算
タグを使うと、機能とエピックを、バリュー ストリーム、戦略的テーマ、関連付けられた予算にすばやく簡単にマップできます。 カスタム フィールドを追加して、機能の予算見積もりを取り込み、それをエピックにロールアップできます。
作業項目にタグを追加すると、次のことが可能になります。
- バックログやボードをフィルタリングする
- タグに基づいてクエリを作成し、タグでクエリ結果をフィルター処理する
- タグに基づいて進行状況と傾向のグラフやレポートを作成する
作業をアーキテクチャやビジネス機能にさらに確実にマップするために、各エピック、機能、ストーリーの [価値の分野] を指定できます。
次の画像に示すように、ロールアップを使うと、子機能に定義された見積もりのロールアップから、エピックの予算見積もりを取得できます。
カスタム フィールドを追加するには、「Azure Boards のカスタマイズ」の「カスタム フィールドを追加する」を参照してください。
プロジェクト Wiki を使ってポートフォリオ ビジョンと戦略的テーマをサポートする
Azure DevOps プロジェクト Wiki を使って、情報を組織で広く共有できます。 Wiki は、Markdown と WYSIWYG エディターを使ったページの追加と編集をサポートする git リポジトリに似ています。 各ページのバージョンが管理されるので、誰が変更したかを追跡し、過去のバージョンを復元することが簡単になります。
プロジェクト Wiki を使って次の SAFe® の成果物を共有することをサポートします。
- ポートフォリオ ビジョン
- 戦略的テーマ
- 分類
- 目標
- 目標
- 顧客中心のプラクティス
プロジェクト Wiki について詳しくは、この記事で後述する「情報の共有」をご覧ください。
マイルストーンと主要なイベント
各プログラム インクリメント、スプリント、リリース トレイン、イノベーションと計画 (IP) イテレーションの終了は、そのまま SAFe® マイルストーンを表します。 多くのマイルストーンは、振り返りの実施や機能するソフトウェアのデモなど、特定のセレモニーやプラクティスに関連付けられています。
Azure Boards では、次の方法で他の種類のマイルストーンや主要イベントを追跡できます。
- 選択リストが定義されているマイルストーンまたはリリース フィールドなどのカスタム フィールド
- 作業項目に追加されるタグとして
- ターゲットの日付を指定する作業項目として
- 1 日のイテレーション パスとして
カスタム フィールドとタグを使うと、特定のマイルストーンに基づいてバックログ、ボード、クエリを簡単にフィルター処理できます。
共有サービスのチーム構造
チーム間で共有されているリソースは、UX デザイン チームやセキュリティ コンプライアンス チームなど、独自のアジャイル機能チームで表すことができます。 それぞれが各自のバックログを管理しながら、サポートするチームのバックログにも作業を表示させることができます。
ここでは、区分パスが UX デザイン チームに割り当てられ、さらに選んだサブ区分パスを他のアジャイル チームに割り当てる方法を示します。 共有区分パスに表示される作業項目は、関連するチームのバックログとボードに表示されます。
振り返りとレビュー
振り返りとレビューを行うチームをサポートするには、Microsoft DevLabs の Retrospectives 拡張機能を使うことをお勧めします。
この拡張機能を使うと、チームは独自の振り返りボードを作成し、次のタスクを取り込むことができるようになります。
- プロジェクトのマイルストーンに関するフィードバックを収集する
- そのフィードバックを整理して優先順位を付ける
- 各チームが改善プロセスに役立つ実行可能なタスクを作成して追跡する。
情報の共有
Azure Boards には、情報を共有するための多くの方法が用意されています。
- 作業項目フォームには、説明や受け入れ基準などを取り込むリッチテキスト フィールドがあります。 ファイルの添付は、作業項目やネットワーク ファイル共有へのリンクに追加できます。
- プロジェクトとチームのダッシュボードを使って、情報と共に、状態と進行状況のグラフやウィジェットを共有できます。 詳細については、「ダッシュボードへの Markdown の追加」を参照してください。
- プロジェクト Wiki は、バージョン管理機能が組み込まれた、すべてのプロジェクト メンバーと情報を共有できる中央リポジトリとして機能します。 必要に応じて他の Wiki を作成できます。 詳細については、「Wiki、README、Markdown について」を参照してください。
サポートされる Markdown 機能の詳細については、以下の記事を参照してください。