確かに大変な仕事だが、私以上にうまくやれる人間を、私は知らない。

- ジョン・F・ケネディ

エピックの概要

ポートフォリオエピックは、スコープが十分に大きい企業の取り組みであり、実装の前に潜在的なROIを分析、理解するためのものである。ビジネスエピックは、顧客、あるいは内部向けの開発の取り組みである。アーキテクチャーエピックは、現在あるいは将来のビジネスニーズをサポートするための、ポートフォリオソリューションの発展に必要な技術の取り組みである。本質的に、エピックは確かに「叙事詩」で、以下の3つのビジネス軸の1つ以上に関連する。

  • 時間 - 実装は複数のPIやリリースにまたがる可能性がある
  • スコープ - 複数のリリース列車、アプリケーション、ソリューションとビジネスプラットフォームに影響を与える
  • 組織 - 複数の部署、事業部門、パートナー、またはエンドツーエンドビジネスバリューチェーン内の他の組織に影響を与える

一般的に、ソリューション全体のビジネス価値を向上する、維持管理が容易になるよう技術を調和させる、性能などの非機能要求を向上するなどの目的で、これらの取り組みが用いられる。そのため、エピックの定義、分析、選別と実装は、ポートフォリオ向けの重要な経済駆動要素となる。

詳細

ビジネスエピックアーキテクチャーエピックはそれぞれビジネスエピックカンバンーキテクチャーエピックカンバンシステムに取り入れられ、分析され、手入れされる。承認されたものは、実装前の低コストの保管場所であるポートフォリオバックログで管理される。エピックの優先順位付けは企業向けの重要な経済駆動要素であるため、必要な分析、仕掛かり作業の制限、作業の規模と遅延コストの見積もり、「重みづけされた最短作業から着手(WSJF)」による作業の優先順位付けを行うために、カンバンシステムが使われる。エピックオーナーは、カンバンシステムの中でエピックを動かし、適切なときに実装へと移す責任を持つ。

エピック価値の短文記述テンプレート

エピックの主要な情報を捉え、整理し、連絡するため、図1のようなエピック価値の短文記述テンプレートが利用できる。この記述はカンバンの「レビュー」状態で作成され、提案された取り組みに関する有意義な話し合いをするのにちょうど良い量の情報提供を目指す。

図1.エピック価値の短文記述テンプレート

エピックの軽量ビジネス企画

エピックの分析段階では(ビジネスエピックカンバンシステムアーキテクチャーエピックカンバンシステム)、ビジネス企画を作成し、見直した説明、成功基準、完了時間やコスト、プログラム影響度の見積もりを含む分析結果を記述する。図2はビジネス企画のフォーマットの例を示す。

図2. エピックの軽量ビジネス企画

以下から、軽量ビジネス企画のワードテンプレートをダウンロードできる。

エピックの実装

承認されたエピックは、1つ以上のリリース列車で実装できる空きができるまで、ポートフォリオバックログに保持パターンで保管される。その後、エピックオーナーは責任を持って、プロダクト管理者やシステムアーキテクトと一緒にエピックを分割するための作業を行い、プログラムエピックを作成し、新フィーチャープログラムバックログに入れる。

エピックの分割

インクリメンタルに実装することは、ビジネスエピックをプログラムエピックや最終的にビジネスフィーチャーアーキテクチャーも含む)に分割しなければならないことを意味する。これらによって、実際の実装を促進する。以下の表1では、エピックを分割する方法及び対応する例を示す。

1. プロダクト/サブシステム/コンポーネント エピックは複数のプロダクト、サブシステム及び大きなコンポーネントに影響を与えることが多い。このような場合、これらの側面での分割は1つの効果的な実装テクニックになる。
複数のユーザープロファイル …opt-outサイトで複数のプロファイル …adminシステムで複数のプロファイル
2. 成功基準 エピックの成功基準は、しばしば期待されたビジネス価値をインクリメンタルに達成する方法に関するヒントとなる。
検索結果に新しい機能を実装する:所在地成功基準。a) 曖昧さを除去する他のメソッドが有用でないときに、所在地が追加のフィルタリングメソッドを提供しなければならない b) 人の詳細な所在地を提供する 検索結果に州の情報を提供する (一部フィルタリング機能にすでに州の単独フィルタリングが提供されているので、「a」が部分的に満たされる) …合成した所在地を実装する:州と都市 (成功基準全体が満たされる)
3. 主作業を最初に行う エピックを複数の部分に分けたときに、ほとんどの作業が最初の部分の実装に費やされる場合がある。
スイート内のすべての製品で共通するシングルサインオンを実装する プロトコルサーバをインストールし、モックアイデンティティプロバイダでテストするもっとも単純なプロダクトにSSO管理機能を実装するもっとも複雑なプロダクトにSSO管理機能を実装するバックログの容量が許す限り迅速に増加させる
4. 単純/複雑最もシンプルなバージョンを独立したエピックとし、バリエーションや複雑さに対応するためのプログラムエピックを追加する。
5. データのバリエーション データのバリエーションや複数のデータソースも、スコープ、複雑さと実装管理に影響を与える。
すべてのエンドユーザーの画面を国際化する …ペイン語 …日本語 … 他は現在の市場シェアで優先順位を付けて対応する
6. 市場セグメント/ 顧客 / ユーザー 市場や顧客ベースで分けることはエピックを分割するもう1つの方法である。ビジネス影響がより大きいものから先に行う。
opt-in機能を実装する …現在のパートナー向け …すべての主要な市場向け
7.システム品質を後回しにする(NFR) 場合によっては、初期の実装はそれほど難しくなく、高速にしたり、信頼性を上げたり、より正確にしたり、よりスケーラブルにするために大半の労力が費やされる。そのため、システム品質(非機能要求)をインクリメンタルに達成することを検討するとよい。
8. リスク低減| 機会強化 そのスコープを考えると、エピックは本質的に危険である。リスク分析を利用し、もっともリスクの高い部分から先に行う。
複雑なユーザー定義の式で検索結果をフィルタリングする機能を実装する …ネガティブフィルタリングを実装する …すべてのロジック操作ができる複雑なフィルタリングを実装する
9. ユースケースシナリオ 複雑なユーザー対システム、またはシステム対システムのやり取りを表すために、アジャイルではユースケース(参考文献[1])が利用される。ユースケースの個別のシナリオやユーザーゴールに対応するように分割できる。
人のつながりを検索する機能 (ゴール1 ~) 人へのコネクションを見つける(ゴール2 ~) 会社へのコネクションを見つける(ゴール3 ~) 強と弱のコネクションを区別する

表1.エピックを分割する方法


さらに知りたい場合

Leffingwell, Dean. Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise. Boston, MA: Addison-Wesley, 2011.(邦訳:アジャイルソフトウェア要求:チーム、プログラム、企業のためのリーンな要求プラクティス、翔泳社、2014)

 Last update 25 July, 2014

This information on this page is © 2010-2014 Leffingwell, LLC. and is protected by US and International copyright laws. Neither images nor text can be copied from this site without the express written permission of the copyright holder. For permissions, please contact permissions@ScaledAgile.com.