要件の管理
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
この記事では、Azure DevOps のアジャイル ツールと機能を使用したプロジェクト要件の管理に関連する主要な概念とタスクについて説明します。
ヒント
要件管理は、プロジェクトのライフサイクル全体を通じて継続的なプロセスであり、実行する作業に同意するために関係者との文書化、分析、優先順位付け、追跡、共同作業のプロセスを含みます。 1 つの要件は、プロジェクトの成果 (製品、サービス、アーキテクチャ、パフォーマンス) が準拠する必要がある機能に対応します。
要件を把握する
作業項目を使用して要件をキャプチャします。 各作業項目には種類があり、選択したプロセスによって異なります。 カスタム作業項目の種類を作成することもできます。
Note
"要件" では、ソフトウェア製品に対するユーザーの期待を指定します。 Azure Boards では、要件はプロダクト バックログに表示される作業項目によって定義されます。 プロジェクトに対して選択されたプロセスに基づいて、要件は、ユーザー ストーリー (アジャイル)、製品バックログ項目 (スクラム)、問題 (基本)、または要件 (CMMI) 作業項目の種類に対応します。 また、製品バックログに表示される作業項目の種類を管理する [Requirements] カテゴリにも属します。
作業項目の種類
作業項目を使用すると、さまざまな情報とワークフローをキャプチャできます。 各作業項目には種類があり、選択したプロセスによって異なります。 要件と欠陥には、次の既定の作業項目タイプを使用できます。
- アジャイル: ユーザー ストーリーとバグ
- 基本: 問題とバグ
- スクラム: 製品バックログ項目とバグ
- CMMI: 要件とバグ
Azure DevOps プロジェクトの各プロセスをカスタマイズできます。 また、各チームのバグを追跡する方法を決定することもできます。
既定の作業項目の種類
次の図は、アジャイル プロセスのバックログ作業項目の階層を示しています:
- ユーザー ストーリーとタスクは、作業を追跡するために使用します。
- バグはコードの欠陥を追跡します。
- エピックと機能は、大規模なシナリオで作業をグループ化するために使用します。
各チームは、ユーザー ストーリーまたはタスクの作業項目と同じレベルでバグ作業項目を管理する方法を構成できます。 [バグの処理] 設定を使用します。 このような作業項目の種類を使う方法については、 アジャイル プロセスに関する記事を参照してください。
作業項目の種類のカスタマイズ
カスタム作業項目の種類は、次の方法で使用できます。
- ユーザー設定フィールドとワークフローの状態を追加する
- ビジネス ワークフロー プロセスをサポートするカスタム ルールを追加する
- カスタム ポートフォリオ バックログを追加し、バックログとボードをカスタマイズする
- 作業項目フォームにカスタム コントロールを追加して機能を強化する
製品バックログまたはボードに作業項目を追加する
タイトルを製品バックログに追加して要件をキャプチャし、後で詳細を追加します。
製品バックログの要件をキャプチャする
作業項目フィールド
各作業項目は、作業項目フィールドに含まれる追跡データをサポートします。 また、[履歴] フィールドと [ディスカッション] セクションで行われたコメント内で更新が行われると、変更がキャプチャされます。 次の図は、ユーザー ストーリーの作業項目の種類のサンプル作業項目フォームを示しています。
作業項目を使用して、次のタスクをサポートします。
- 情報の追加、状態の更新、チーム メンバーへの割り当て、作業項目のリンク、ファイルの添付
- タイムボックスまたはスプリントに作業を割り当てる
- 作業項目テンプレートを使用して作業項目フィールドにすばやく入力する
- クエリ可能なディスカッション スレッドに投稿する
- 作業項目とトリアージ作業項目に優先順位を付けます。
エンドツーエンドの追跡可能性をサポートするその他の機能は、「開発と展開」セクションです。 これらのセクションでは、次のタスクと分析情報がサポートされています。
- 作業項目から新しいブランチまたはプル要求を作成する
- pull request を完了する
- スカッシュ マージを実行する
- 複数の作業項目のブランチを作成する
- 作業項目を既存の開発およびビルド オブジェクトにリンクする
- 作業項目フォーム内の作業項目に関連付けられているリリース ステージをリアルタイムで表示する
- ビルド パイプラインとリリース パイプラインのコミットに関連付けられている作業項目内のリリースの状態を表示する
Excel を使用したインポートと更新の要件
.csv ファイルまたは Excel スプレッドシートを使用して、要件をインポートおよび更新することもできます。 これらのツールを使用すると、フラット リストまたは作業項目のツリーを操作できます。 たとえば、次の図に示すように、Excel でエピック、機能、ユーザー ストーリーのツリーを定義し、それらを Azure DevOps にインポートできます。
Excel から要件をインポートする
機能要件と非機能要件
作業項目は、自分またはチームが行う必要がある作業を追跡するのに役立ちます。 機能要件と非機能要件の両方に同じ作業項目タイプを使用できます。 機能要件は、製品またはサービスが実行する必要があることを示します。 機能しない要件は、製品またはサービスの動作方法を表します。
タグ、ビジネス値フィールド、またはユーザー設定フィールドを使用して、要件を分類できます。
要件の仕様を維持する
一部の要件では、作業項目に入力できる内容よりも詳細が必要です。 Azure DevOps を使用して、Azure Repos リポジトリに要件を格納および管理できます。 または、プロジェクト Wiki を使用して、仕様を 1 か所に保持することもできます。
要件に合わせて仕様をリンクまたはアタッチできます。
要件の分析と優先順位付け
バックログに優先順位を付けて調整し、要件が明確かつ明確に定義されていることを確認します。 これらの Azure Boards ツールを使用すると、次のタスクに役立ちます。
製品バックログ: 作業項目をドラッグ アンド ドロップして優先度別に並べ替え、複数の作業項目を一度に編集して割り当てを変更したり、フィールドを更新したりします。 クエリ結果、トリアージ モード: 作業項目とそのフォームの一覧を確認して、すばやく更新し、詳細を追加します。
機能バックログに優先順位を付ける
要件をグループ化して整理する
Azure Boards を使用して、機能またはビジネス目標ごとに要件をグループ化します。 ポートフォリオ作業項目の種類、ポートフォリオ バックログとボード、マッピング ツールを使用して、要件を上位の作業項目にリンクできます。
作業項目タグを使用して、さまざまな方法で要件をグループ化することもできます。
エピック、機能、ポートフォリオバックログ
親子リンクを使用して、要件、機能、エピックの階層を作成します。複数のチームを持つ組織で、作業が全体的な目標にどのように貢献しているかを確認し、ポートフォリオ計画ツールを使用する場合に役立ちます。
階層を使用すると、さまざまなチームが作業する一連の機能を管理できます。 製品バックログの見積もり、進行状況などの概要も確認できます。
マッピングを使用して [機能] の下のユーザー ストーリーをグループ化する
タグを使用して作業項目をグループ化する
作業項目タグは、チーム メンバーが作業項目に追加できるラベルです。 これらのタグでバックログとボードをフィルター処理して、それらに一致する作業項目のみを表示できます。 クエリでタグを使用することもできます。 たとえば、次の図に示すように、Web タグを使用してフィルター処理することで、ボード上の Web タグを持つカードのみを表示できます。
タグに基づいてバックログとボードをフィルター処理する
かんばんまたはスクラムを実装する
かんばんとスクラムは、Azure Boards がサポートする 2 つの主要なアジャイルメソッドです。 両方のメソッドの要素を組み合わせた Scrumban などのハイブリッド アプローチを使用することもできます。
かんばんを実装する
かんばんボードを使用して、製品またはポートフォリオのバックログで作業項目を視覚化します。 ボードには、選択した領域と反復パスに基づいて、チームに属する作業項目が表示されます。
かんばんのプラクティスに合わせてボードをカスタマイズできます。 たとえば、列とスイムレーンの定義、WIP の制限の設定、完了の定義の指定を行うことができます。 作業項目を別の列にドラッグして、ワークフローのステージを移動するときに状態を更新できます。
ボードの例
スクラムを実装する
スプリント バックログとタスクボードを使用して、チームが特定のスプリント用に計画した作業項目を表示します。 作業項目をスプリントに割り当てるには、要件バックログから作業項目をドラッグ アンド ドロップします。 その後、それらを別 のスプリント バックログで表示できます。
スプリント バックログの例
作業を計画および追跡するには、次のスクラム プラクティスを使用します。
- 要件に合わせてスプリントを選択する
- 要件をタスクに分割する
- 各チーム メンバーがスプリントで実行できる作業の量を設定する
- スプリント容量に合わせて作業を調整する
- スプリント計画を他のユーザーと共有する
- タスクのフィルター処理、更新、および状態の変更
- バーンダウン チャートを使用してスプリントの進行状況を監視する
バーンダウン グラフのスプリント
スプリント バーンダウン グラフには、次の図に示すように、毎日作業状態を更新することで、スプリントの状態が表示されます。
スプリント バーンダウン グラフの例
依存関係の管理
Microsoft Project では、他のタスクの完了に依存するタスクをリンクすることで管理します。 Azure Boards の依存関係を管理するには、先行処理/後続処理のリンクの種類を使用して作業項目をリンクできます。 作業項目をリンクしたら、作業項目視覚化 Marketplace 拡張機能を使用してリンク関係を表示できます。 次の図は、複数の作業項目間のリンク関係を示しています。
画像全体を表示するには、画像をクリックして拡大します。 閉じるアイコン を選択して閉じます。
実用最小限の製品とクリティカル パス管理
アジャイルメソッドはクリティカル パス管理 (CPM) よりも実用最小限の製品 (MVP) を優先するため、Azure Boards にはクリティカル パスを表示する組み込みの方法がありません。 MVP を使用すると、エピック、特徴、ストーリー、タスクを重要度別にランク付けすることで、最短かつ最も依存するパスを見つけることができます。
マイルストーン計画の実行
チームの速度と予測を使用して、作業を提供できるタイミングを計画できます。
チームのベロシティ
スプリントでの作業は、チームの速度を理解するのに役立ちます。 ベロシティは、完了した作業項目の数またはサイズに基づいて、チームがスプリントで完了できる作業量を示します。
チームベロシティチャートの例
予測要件
予測ツールを使用して、各要件のストーリー ポイント、作業量、またはサイズを見積もります。
見積もりに基づいてチームの速度を設定することもできます。 たとえば、チームがスプリントごとに 12 個のストーリー ポイントを実行できる場合、予測ツールには、次の 6 つのスプリントで完了できる要件と機能が表示されます。 計画ツールを使用して、予測されたスプリントに要件を割り当てることができます。
要件バックログの予測例
[]
Marketplace 拡張機能を使用して、要件計画を Microsoft Project ツールと統合します。
マイルストーン マーカー
マイルストーン マーカーは、配信計画を除いて、Azure Boards の作業追跡では使われません。 デリバリー計画にはカレンダー ビューがあり、マイルストーン マーカーを定義できます。
次のオプションの 1 つ以上を使用して、作業項目をマイルストーンとしてマークできます。
- 「マイルストーン」という単語を作業項目のタイトルの先頭または末尾に追加します
- マイルストーンというラベルの付いた作業項目タグを 追加する
- [マイルストーン] というラベルの付いたユーザー設定フィールドを追加し、マイルストーンの選択リストを設定します
- [先行処理/後続処理] または [関連] リンクの種類を使って、マイルストーン作業項目に作業項目をリンクします
- マイルストーン作業項目を完了対象であるスプリントに割り当てます。
タイムボックスに要件を割り当てる
作業項目をスプリントにすばやく割り当てるには、製品バックログから [計画] ウィンドウに一覧表示されているスプリントにドラッグ アンド ドロップします。
スプリントに要件を割り当てる例
進行状況の監視とレポート
進行状況と成果物を確認するには、次のツールを使用できます。
- 機能ボード: 各機能とそのタスクの状態を表示します
- 機能バックログ: 機能とその子作業項目のロールアップ列を表示します
- 配信計画: さまざまなチーム間の機能とその依存関係のタイムライン ビューを提供します
機能ボード
また、機能ボードを使用して進行状況を追跡し、価値の継続的デリバリーを確保することもできます。 次の図は、カスタマイズされた機能ボードの例を示しています。 [詳細情報の必要]、[スペックの完了]、[進行中]、[顧客のロールアウト] など、機能開発のさまざまな段階の列が追加されています。 これらの列は、提案から運用環境への特徴の自然な流れを反映しています。
カスタマイズされた列を含む機能ボードの例
画像全体を表示するには、画像をクリックして拡大します。 閉じるアイコン を選択して閉じます。
ロールアップ
機能バックログは、進行状況をすばやく視覚的に監視する方法を提供します。 ロールアップ進行状況バー列を追加して、各機能の作業項目の完了率を確認できます。 次の図は、列がさまざまな機能の進行状況を示す方法を示しています。
進行状況のロールアップを示す要件バックログの例
デリバリー計画と複数のチーム成果物
複数のチームがタイムライン全体で提供している機能を確認する場合は、配信計画を設定できます。 配信計画は、さまざまなチームが提供する予定のストーリーや機能の予定表ビューを表示する対話型ボードです。
マルチチーム配信プランの例
変更の通知を受け取る
Azure DevOps には堅牢なアラート システムが用意されています。このシステムでは、プロジェクト メンバーが自分、チーム、またはプロジェクトに対してアラートを設定できます。 作業項目、コード レビュー、ソース管理ファイル、ビルドに対する変更が発生すると、電子メール通知を受け取ることができます。