要約:アジャイル・エピックとは、顧客やエンドユーザーのニーズやリクエストに基づいて特定のタスク(通称「ユーザー・ストーリー」)に細分化できるまとまった作業を指します。エピックはアジャイル・チームと DevOps チームにとって重要なプラクティスです。
アジャイルと DevOps を採用すると、エピックがタスク管理の役割を果たすようになります。エピックとは、顧客やエンドユーザーのニーズやリクエストに基づいて特定のタスク(通称「ストーリー」または「ユーザー・ストーリー」)に細分化できるまとまった作業を指します。
エピックは作業を整理したり階層を作成したりするのに便利な方法です。作業をリリース可能な単位に分割することで、大規模プロジェクトを実行しやすくすると同時に、コンスタントに顧客に価値をリリースし続けることを目指します。チームはエピックを使って作業を分割しつつ、大きな目標に向かって作業を継続できます。
エピックのように大きな仕事をまとめながらアジリティを維持するのは、簡単な仕事ではありません。エピックを健全なアジャイルと DevOps ベスト・プラクティスに関連付ける方法を習得することは、組織の規模にかかわらず不可欠なスキルです。
アジャイルエピックについて
エピックとは大規模な作業の本体で、多数の小単位のストーリー(Jira での別称は「課題」)に細分化できます。通常、エピックは複数のプロジェクトに取り組む複数のチームを含み、複数のボードで追跡することも可能です。
エピックは一連のスプリントにわたりほとんど常に提供されます。開発担当者や顧客が提供するフィードバックを通じてチームが取得するエピックの関連情報が増えるたびに、ユーザー・ストーリーが適宜追加または削除されます。こうした、柔軟なスコープ、顧客フィードバックの反映、チームの期間といった要素は、アジャイル・エピックでの鍵となります。
アジャイルエピックの例
たとえば、私たちが 2050 年に娯楽用の宇宙旅行組織で働いているとしましょう。1 年のシャトル打ち上げ回数は 12 回前後であるため、各打ち上げは年に 1 度の大規模活動ではありませんが、それでも通常業務とはかけ離れており、完了までに多くの人時が必要です。この規模はエピックにうってつけです。
上記の「2050 年 3 月宇宙旅行シャトル打ち上げ」のエピックの例には、通常の作業項目に加え、顧客による宇宙旅行チケットの購入からロケットの打ち上げまで、シャトル打ち上げの主な要素の改善を目的とするストーリーが含まれます。このように、このエピックには複数のチームが幅広いストーリーに取り組み貢献します。
2050 年 3 月の打ち上げ分のチケット購入をサポートするソフトウェア・チームは、次のようにエピックを構築することが考えられます。
エピック: 2050 年 3 月のシャトル打ち上げ | ||
---|---|---|
ストーリー:2050 年 3 月の打ち上げ日を含めるように期間を更新。 | ストーリー:リクエストされた打ち上げリストの読み込み時間を 0.45 秒未満に短縮。 | ストーリー:ファースト・クラスの予約確認ページで土星旅行サマーセールを宣伝。 |
推進チームは同じ時期に、以下のストーリーでこのエピックに貢献することが考えられます。
エピック: 2050 年 3 月のシャトル打ち上げ | ||
---|---|---|
ストーリー:打ち上げ時に燃料タンクの PSI を 250 PPM 超に維持。 | ストーリー:総燃料消費を 1% 減少。 | ストーリー:Gary の後任推進エンジニアを雇用。#garygate2050 |
完全なアジャイルプログラムにおけるエピックを理解する
エピックは開発チームが成功するために必要なすべてを提供します。実践の観点から見ると、作業階層の最上位になります。ただし、エピックと他のアジャイル構造との関係を理解すれば、日々の開発作業の重要なコンテキストが見えてきます。
- プロダクト・ロードマップとは、製品またはソリューションを、時間の経過とともにどのように進化させるかを決める行動計画です。
- テーマは組織の目標であり、エピックやイニシアチブの作成を促進します。
- プロダクト・ロードマップはタイムラインにプロットされるイニシアチブのセットとして表現され、視覚化されます。
- イニシアチブをエピックに分割すると、チームの日常の作業をより小規模なストーリーとして表現することによって、全体的なビジネス目標との関連を常に意識できます。
エピックを次々に完了することで、特定のイニシアチブがスムーズに進行するようになります。これにより、製品は組織のテーマだけでなく市場や顧客のニーズにも配慮して開発され、進化し続けるようになります。
上の例におけるテーマ、ロードマップ、イニシアチブは、それぞれ宇宙シャトルの打ち上げ増加、四半期あたり 3 回から 4 回への打ち上げ増加のための道筋、コスト削減とチケット売上の増加であり、各エピックはイニシアチブにまとまります。
アジャイルエピックを作成する
新しいエピックを作成する場合は、チームですでに活用しているその他の計画ツールや組織ツールを考慮します。チームの四半期目標または OKR に関連してエピックを作成するのがよい開始方法です。エピックを作成する場合は、次の項目を検討します。
- レポーティング:マネージャーやエグゼクティブの監視が必要なプロジェクトにエピックを作成します。
- ストーリーテリング:エピックとエピックをまとめるストーリーを使用して、機能や製品をどのようにして現在の状態にしたかを説明します。
- カルチャー:組織のやり方に応じてエピックのサイズと分割単位を決定します。
- 時間:大抵の開発チームは時間ではなく見積もりフレームワークをその拠り所にしていますが、2 週間から 3 週間で確実に完了するようにエピックを作成することは有益です。長すぎても短すぎてもうまくいきません。
アジャイルエピックを細分する
エピックを扱いやすいストーリーに細分化することは、プロジェクトの理解と勢いの維持に役立つ一方、初心者にとっては困難なタスクである可能性があります。エピックからストーリーを作成する万能な方法はありませんが、以下をはじめとして検討に値する方法は多数あります。
- ユーザー・ロール(ペルソナ):各ユーザーのペルソナに応じて、独自のストーリーを作成します。「新規訪問者向けクイック・ログイン」、「リピーター向けクイック・ログイン」などが例として挙げられます。
- 体系的なステップ:プロセスを細分化して、各ステップのストーリーを作成します。
- カルチャー:チームのやり方を基準にストーリーの枠組み(短期のタスクか 1 週間かかるプロジェクトかなど)を決めます。
- 時間:別の既存の取り決めがない場合、1 スプリント以下で完了できるストーリーを考案します。
長いストーリーとエピックを区別する普遍的な定義はありません。通常は、完了までに「数時間」や「数日」ではなく、「数週間」(またはそれ以上)かかる作業スコープはエピックとみなされ、より小規模のストーリーに細分化されます。
アジャイルエピックを測定する
エピックのバーンダウンチャートには、スプリントまたはエピックで実行される実際および見積作業量が表示されます。バーンダウンチャートの横軸 (x) は時間を、縦軸 (y) はストーリーや課題を表します。
バーンダウンチャートを使用して、残りの全作業量をトラッキングし、スプリントの目標を達成できる可能性を予測します。イテレーション全体で残りの作業を追跡することで、チームは進捗状況を管理し、適切に対応できます。
バーンダウン・チャートを監視すると、チームの進捗状況と障害となる箇所が明確になります。これらのデータ・ポイントが明確に視覚化されることで、全員が同じ認識を共有できるほか、製品の進化や完成予測に関するオープンな会話が促されます。透明性が信頼につながることは言うまでもありません。
自動化を使用したエピックの最適化
エピックおよびストーリーの作成方法をマスターしたら、もう一工夫して自動化を使用した最適化に進めます。Jira のスプリントで最も一般的な自動化ルールは、以下の 3 つです。
- エピックの作成時に 3 つのストーリーを自動的に追加します。ルールへ移動します。
- エピックが完了とマークされたら、ストーリーを自動クローズします。ルールへ移動します。
- リンクされた課題のうち 1 つのステータスが変更されたら、エピックのステータスを変更します。ルールへ移動します。
これらを含む数百の自動化ルールについては、Jira Automation テンプレート・ライブラリをご覧ください。
アジャイルエピックを理解する
エピックはアジャイル・プログラムに絶対に必要な基盤というわけではありませんが、大半のアジャイル・チームと DevOps チームにとって作業を実践に移しやすくする手段となります。健全なアジャイル・プログラムのどこにエピックを当てはめるかが明確になると、作業状況が浮き彫りになります。一方、ストーリーに細分化することで勢いがつきます。