ストーリーからシステムへ:アジャイルおよびAI駆動開発におけるUse-Case 2.0の習得
序論
ソフトウェア開発の急速に変化する環境において、アジャイル性と構造の間の緊張は長年にわたり中心的な課題であった。数十年にわたり、完全性を保証するがスピードを阻害する重い文書化と、速度を促進するがしばしば文脈を犠牲にする軽量なユーザーストーリーの間を、チームは揺れ動いてきた。システムの複雑性が増し、迅速な納品が求められるようになるにつれ、どちらの極端も単独では十分ではない。
登場するUse-Case 2.0:このギャップを埋める現代的な要件工学の進化である。伝統的なユースケースの基盤的な原則から生まれたが、スクラムやカナンといったアジャイル手法の視点から再構築されたもので、ユーザーニーズを捉えるための軽量かつスケーラブルなアプローチを提供する。ユーザーストーリーの簡潔さとユースケースの包括的な構造を統合し、チームに高レベルの目標から詳細な実装までを明確に示すロードマップを提供する。

本ケーススタディでは、Use-Case 2.0が要件の収集、設計、開発をどのように変革するかを検証する。その核心原則や実践的応用、そして登場しつつあるAI支援開発ツールとの連携を検討することで、この手法がチームに「正しい」システムを効率的に構築する能力をもたらすことを示す。正しいシステムを効率的に構築し、各段階での価値提供を確実にする。
要件工学の進化
ほぼ30年間、ユースケースは要件工学の基盤を担っており、チームがユーザーがシステムとどのようにやり取りして目標を達成するかを理解するのを助けた。それらはユーザーストーリーを含む多くの現代的な手法を生み出した。しかし近年、驚くべきことが起きた——インスピレーションが逆方向に流れ始めたのである。
Use-Case 2.0は、ユーザーストーリーおよびアジャイル手法であるスクラムやカナンからインスピレーションを受けた、軽量でアジャイルかつリーンなユースケース駆動開発の次世代である。伝統的なユースケース手法から大きな進化を遂げており、ユーザーストーリーの簡潔さと焦点を、ユースケースが常に提供してきた包括的な構造とスケーラビリティと組み合わせている。
「Use-Case 2.0は、過去の多くの人気のある価値をすべて備えている。要件のサポートだけでなく、アーキテクチャ、設計、テスト、ユーザーエクスペリエンスにも貢献し、ビジネスモデリングやソフトウェア再利用において不可欠な役割を果たす。」
Use-Case 2.0が異なる点とは何か?
従来のユースケース手法は、システムの動作を記録する詳細なユースケース文書を作成することを含んでいた。その内容には簡単な説明、事前条件、事後条件、アクターの相互作用が含まれる。効果的ではあるが、このアプローチはしばしば文書化が重くなり、アジャイル開発の高速な反復に適応しづらくなった。
Use-Case 2.0はこの基盤を踏まえつつ、いくつかの革新を導入している:
-
アジャイルとの整合性:アジャイル手法とのシームレスな統合により、開発チームがステークホルダーと協働し、要件を分解し、迅速に反復するのを容易にする
-
ユーザーストーリーの統合:ユーザーストーリーを軽量な方法として取り入れ、ユーザーニーズを捉え、共有理解を構築する
-
ユースケーススライス:複雑なユースケースを、独立して実装・テスト可能な小さな単位に分割する
-
視覚的モデル:フローチャート、アクティビティ図、シーケンス図を重視し、システム全体の理解を深める
-
反復的開発:各コンポーネントを構築する段階でテストし、早期の問題検出を可能にする
その核心には、Use-Case 2.0が重要な新概念を導入している:ユースケーススライス。スライスとは、独立して作業可能なように注意深く選択されたユースケースの一部である。それは要件だけでなく、設計、実装、テストケース、テスト結果までを横断する。

図1:アクター、ユースケース、スライスの関係を示すUse-Case 2.0構造の視覚的表現。
Use-Case 2.0の6つの原則
イヴァル・ヤコブソン、イアン・スペンス、カート・ビッターは、成功したユースケースの導入の基盤となる6つの基本原則を特定した:
1. ストーリーを語ることでシンプルさを保つ
物語を語ることは、システムが何をすべきかを伝える最もシンプルで効果的な方法である。ユースケースはシステムの目的を捉え、ストーリーはその目的を達成する方法と、途中で発生する問題の対処をカバーする。これにより、要件を簡単に捉え、共有し、理解できるようになる。
2. 大まかな全体像を理解する
システムが大きいか小さいかに関わらず、全体像を理解することは不可欠である。この概要がなければ、チームは範囲、コスト、価値に関する正しい意思決定ができなくなる。ユースケース図は、システムの要件の概要を簡単に提示する手段となる。システムがどのように使われるか、誰が対話の開始者か、および関係する他の当事者をすべて示す。

図2:アクターとシステムとの相互作用を示すユースケース図の例。
3. 価値に注目する
価値は、システムが実際に使われたときのみ生じる。長々とした機能や特徴のリストに注目するのではなく、ユースケースは特定のユーザーが特定の目標を達成するためにシステムがどのように使われるかに焦点を当てる。基本フローは目標を達成する最も単純な方法を説明し、代替フローは選択肢やエラー処理を追加する。チームは基本フローを最初に提供し、後に代替フローを追加できる。これは設計上、累積的なものである。
4. システムをスライスごとに構築する
ほとんどのシステムは、実際に使える状態になるまでに膨大な作業を要する。一度にすべてを構築しようとすることは誤りである。代わりに、システムはスライスごとに構築すべきであり、それぞれがユーザーに明確な価値を提供するべきである。
手順は単純である:
-
システムが実行すべき最も有用な機能を特定する
-
それをより細かく、管理しやすいスライスに分割する
-
これらのスライスの受け入れを表すテストケースを定義する
-
全体のコンセプトを貫く最も中心的なスライスを選ぶ
-
チームで見積もりを行い、構築を開始する
5. システムを段階的に提供する
ソフトウェアシステムは複数の世代とリリースを通じて進化する。各段階は、確認可能または使用可能なシステムのバージョンを提供すべきである。Use-Case 2.0は、ユースケースを段階的に組み立てられる作業項目に分割することで、このプロセスを支援する。最終的にリリースに至る。
6. チームのニーズに合わせて適応する
ソフトウェア開発には、すべてに適用可能な唯一の解決策は存在しない。異なるチームや状況には、異なるスタイルや詳細度が必要となる。Use-Case 2.0は、必要に応じて非常に軽量にできる。小さな協働チームは、シンプルなインデックスカードに軽量なユースケース物語を使用できる一方、大規模な分散チームはより詳細な文書を使用できる。
Use-Case 2.0の構造:スライス、シナリオ、タスク
Use-Case 2.0が実際の現場でどのように機能するかを定義する3つの重要な概念がある:
ユースケーススライスは、ユースケースのより小さい、管理しやすい構成要素である。1つの文書で全体のユースケースを定義するのではなく、Use-Case 2.0はそれを、設計・開発・テストがより容易なスライスに分割する。各スライスは、特定のユーザーのタスクや目標を支援するためにシステムが実行しなければならない特定の機能を表す。
シナリオは、スライス内のタスクを完了するためにユーザーが取る可能性のあるさまざまな経路を表す:
-
通常の経路:予想される、または標準的な操作の順序(「ハッピーパス」)
-
代替パス: 同じ目標を達成するためのバリエーションや異なる方法
-
例外パス: エラーまたは異常な状況が発生する可能性
タスクは、目標を達成するためにシナリオ内でユーザーが実行しなければならない具体的な行動です。シナリオを構成する個々のステップを表しています。
たとえば、eコマースプラットフォームの「製品を閲覧する」ユースケーススライスでは:
-
通常パス: ユーザーが検索し、結果を表示し、製品を選択し、カートに追加し、チェックアウトへ進む
-
代替パス: ユーザーが異なる決済方法を選択する(クレジットカードではなくPayPal)
-
例外パス: 残高不足または請求先アドレスの誤りにより決済が拒否される

図3:通常パス、代替パス、例外パスを示すユースケーススライスの詳細な分解図。
ユースケースとユーザーストーリーの違い:両方の重要性
ここがUse-Case 2.0が一般的なアジャイルの課題に対して説得力のある解決策を提供するポイントです。
ユーザーストーリーは独立したアイテムであり、他のストーリーとの組み込み関係を持ちません。200件のユーザーストーリーからなる製品バックログは、エピックやテーマなどの追加のグループ化メカニズムがなければ、管理が難しくなります。ストーリーは文脈を失いやすく、チームはしばしば受入テストを遅く書くことになります。
ユースケースは異なります。一つの目標の下に、すべての関連するストーリーをグループ化し、以下を備えます:
-
明確な目標(ユースケース自体)
-
ステップバイステップのフロー(基本フロー)
-
定義された変化(代替フロー)
-
受入基準(テストケース)
ユースケースを確認すると、ユーザーが特定の目標をどのように達成するかの全体像が見えてきます。単なる断片ではなく、全体像です。

図4:ユーザーストーリーとユースケースの違いと補完的な性質を強調した比較表。
アジャイル実践におけるUse-Case 2.0:実際の事例
Use-Case 2.0は、一般的な課題に直面するアジャイルチームに構造を提供します:
ECプラットフォーム: オンラインショッピングシステムのユースケースには、製品を閲覧する、製品を検索する、カートに追加する、チェックアウトへ進む、支払いを行うなどが含まれます。初期のユースケース図から、『ゲストチェックアウト』のような欠落しているフローが明らかになり、スプリントのコミット前に追加可能となるため、本番環境でのカート放棄問題を回避できます。
モバイルバンキングアプリ: 「無効な資格情報 → 多要素認証のフォールバック」のような代替フローを文書化することで、セキュリティ上の穴を早期に発見でき、高コストなリリース後のパッチ作業を避け、ユーザーの信頼を築くことができます。
ライドシェアリングサービス: ユースケーススライスがMVP開発を推進する—リクエスト、承認、支払いから始め、後続のイテレーションで評価や苦情機能を追加する。これにより、明確な優先順位付けのもと、迅速な価値提供が可能になる。
医療予約プラットフォーム: ステークホルダーによるユースケースフローのレビューで、「ノーショウ対応」の要件が明らかになる。自動再スケジューリングを追加することで、予約の不参加を削減できる可能性がある。

図5:アジャイルチームがユースケーススライスを使ってスプリントを計画する例。
AIとの連携:ユースケース2.0がAI支援開発と融合する
ユースケース2.0は当初2011年に開発されたが、AIコーディングアシスタントが存在する以前のことである。しかし、その原則はAI支援開発と完璧にマッチしていることが証明されている。
AIコーディングアシスタントは、明確で構造化された仕様書と最も相性が良い。ユースケースは以下のものを提供する:
-
AIが理解すべき明確な目的
-
AIが実装するためのステップバイステップのフロー
-
AIが対処すべき定義されたバリエーション
-
AIが満たすべき受入基準
AI支援開発の4段階は、ユースケース2.0の原則と自然にマッピングされる:
-
インセプション → 「全体像を理解する」—ビジネス要件と初期のユースケース図を作成する
-
エラボレーション → 「価値に注目する」—基本フローと代替フローを含む仕様書を記述する
-
コンストラクション → 「スライスでシステムを構築する」—AIを活用すれば、単なるスライスではなく、ユースケース仕様全体を単位作業として扱える
-
トランジション → 「段階的にシステムを提供する」—ユーザー受入テストにより、ユースケースがステークホルダーのニーズを満たしていることを確認する

図6:AIアシスタントがユースケース2.0のワークフローとどのように統合されるかの図示。
ユースケース2.0の始め方
ユースケース2.0の実践をすべて一度に導入する必要はない。3つのことから始めよう:
-
ユースケース図を描く — システムのアクターとユースケースを特定する。30分で終わるが、全体像が把握できる。
-
1つのユースケースナラティブを書く — 最も重要なユースケースを選ぶ。基本フローを箇条書きのアウトラインとして書く。代替フローは最初は名前のみをリストアップする。
-
最初のユースケースを実装する — 手動開発を使用してもAIアシスタンスを使用しても、ユースケースが実装をガイドするようにする。
ユースケースはシンプルなスプレッドシートやポストイットノートで追跡できます。Use-Case 2.0を始めるには特別なツールは必要ありません。
結論
Use-Case 2.0はユーザーストーリーの代替ではありません。補完的なものです。ユースケースは全体像と構造を提供します。テストケースは完了の明確な定義を提供します。手動開発では、スライスが適切なサイズの作業項目を提供します。
重要な洞察は、ユースケースがユーザーストーリーが提供する技術を含みつつ、より大きなシステム、より大きなチーム、より複雑な開発に対してははるかに多くの価値を提供することです。ユーザーストーリーほど軽量でありながら、必要なだけ詳細を含めることが可能な滑らかで構造的なスケーラビリティを持ちます。何よりも、ソフトウェア開発の多くの他の側面を駆動し、つなげます。

AIがソフトウェアの構築方法を変革している時代に、Use-Case 2.0は構造的でユーザー中心の基盤を提供し、私たちが 正しい システムを構築することを保証します。単に動作するシステムではなく、正しいシステムです。この進化した手法を受け入れることで、チームはアジャイルな旅路において、より明確な理解、効率性、価値の提供を達成できます。
参考文献
-
Use-Case 2.0:要件工学のアジャイル進化:Use-Case 2.0の原則と実践の包括的な概要。
-
ユースケースをアジャイル手法と統合する:スクラムとカんばんとユースケースを組み合わせるためのガイド。
-
ユースケーススライスの力:Use-Case 2.0におけるスライシング技術の詳細な説明。
-
AI支援開発と構造化された要件:構造化されたユースケースがAIツールにどのように利益をもたらすかの探求。
-
アジャイルプロジェクトにおける視覚的モデリング:アジャイル環境で図を活用するためのベストプラクティス。














