要約:アジャイル・エピックとは、顧客やエンドユーザーのニーズやリクエストに基づいて特定のタスク(通称「ユーザー・ストーリー」)に細分化できるまとまった作業を指します。エピックはアジャイル・チームと DevOps チームにとって重要なプラクティスです。
アジャイルと DevOps を採用すると、エピックがタスク管理の役割を果たすようになります。エピックとは、顧客やエンドユーザーのニーズやリクエストに基づいて特定のタスク (通称「ストーリー」または「ユーザー ストーリー」) に細分化できるまとまった作業を指します。タスク追跡テンプレートを利用すると、チームはタスクを効果的に整理し、優先順位を付け、監視できます。
エピックは作業を整理したり階層を作成したりするのに便利な方法です。作業をリリース可能な単位に分割することで、大規模プロジェクトを実行しやすくすると同時に、コンスタントに顧客に価値をリリースし続けることを目指します。チームはエピックを使って作業を分割しつつ、大きな目標に向かって作業を継続できます。
エピックのように大きな仕事をまとめながらアジリティを維持するのは、簡単な仕事ではありません。エピックを健全なアジャイルと DevOps ベスト・プラクティスに関連付ける方法を習得することは、組織の規模にかかわらず不可欠なスキルです。
アジャイルエピックについて
An epic is a large body of work that can be broken down into a number of smaller stories, or sometimes called work, work items, or issues in Jira. Epics often encompass multiple teams, on multiple projects, and can even be tracked on multiple boards.
エピックは一連のスプリントにわたりほとんど常に提供されます。開発担当者や顧客が提供するフィードバックを通じてチームが取得するエピックの関連情報が増えるたびに、ユーザーストーリーが適宜追加または削除されます。こうした、柔軟なスコープ、顧客フィードバックの反映、チームの期間といった要素は、アジャイルエピックでの鍵となります。
アジャイルエピックの例
たとえば、私たちが 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 スプリント以下で完了できるストーリーを考案します。
長いストーリーとエピックを区別する普遍的な定義はありません。通常は、完了までに「数時間」や「数日」ではなく、「数週間」(またはそれ以上)かかる作業スコープはエピックとみなされ、より小規模のストーリーに細分化されます。
アジャイルエピックを測定する
バーンダウン チャートを使ってエピックを視覚化すると、チームのモチベーションを維持し、組織上層部に情報を伝えられます。エピックのバーンダウン チャートを効果的に使用することで、組織のアジリティがいかんなく発揮されます。
An epic burndown chart shows the actual and estimated amount of work to be done in a sprint or epic. The horizontal x-axis in a burndown chart indicates time, and the vertical y-axis indicates stories or work items.
バーンダウンチャートを使用して、残りの全作業量をトラッキングし、スプリントの目標を達成できる可能性を予測します。イテレーション全体で残りの作業を追跡することで、チームは進捗状況を管理し、適切に対応できます。
バーンダウン・チャートを監視すると、チームの進捗状況と障害となる箇所が明確になります。これらのデータ・ポイントが明確に視覚化されることで、全員が同じ認識を共有できるほか、製品の進化や完成予測に関するオープンな会話が促されます。透明性が信頼につながることは言うまでもありません。
自動化を使用したエピックの最適化
エピックおよびストーリーの作成方法をマスターしたら、もう一工夫して自動化を使用した最適化に進めます。Jira のスプリントで最も一般的な自動化ルールは、以下の 3 つです。
- エピックの作成時に 3 つのストーリーを自動的に追加します。ルールへ移動します。
- エピックが完了とマークされたら、ストーリーを自動クローズします。ルールへ移動します。
- Change the status of an epic when the status of one of its linked work items changes. Go to rule.
これらを含む数百の自動化ルールについては、Jira Automation テンプレート・ライブラリをご覧ください。
アジャイルエピックを理解する
エピックはアジャイル・プログラムに絶対に必要な基盤というわけではありませんが、大半のアジャイル・チームと DevOps チームにとって作業を実践に移しやすくする手段となります。健全なアジャイル プログラムのどこにエピックを当てはめるかが明確になると、作業状況が浮き彫りになります。一方、ストーリーに細分することで勢いがつきます。