ソフトウェア開発と製品管理において、ユーザーストーリーとは、ソフトウェアシステムの機能についての非公式な自然言語による説明です。エンドユーザーまたはシステムのユーザーの視点から書かれ、インデックスカード、付箋紙、または特定の管理ソフトウェアでデジタル的に記録される場合があります。[1]製品によっては、クライアント、ユーザー、マネージャー、開発チームなど、さまざまな利害関係者がユーザーストーリーを書く場合があります。
ユーザーストーリーは境界オブジェクトの一種です。ユーザーストーリーは意味づけとコミュニケーションを促進し、ソフトウェアチームがシステムとそのコンテキストについての理解を文書化するのに役立ちます。[2]
歴史
- 1997 年: Kent Beck がデトロイトのChrysler C3 プロジェクトでユーザー ストーリーを導入しました。
- 1998年: Alistair CockburnがC3プロジェクトを訪れ、「ユーザーストーリーは会話の約束である」というフレーズを生み出した。[3]
- 1999年:ケント・ベックがエクストリームプログラミング(XP)[4]と計画ゲームにおけるユーザーストーリーの使用法を紹介した書籍「エクストリームプログラミング解説」の初版を出版した。
- 2001年:ロン・ジェフリーズはユーザーストーリー作成のための「3つのC」方式を提案した: [5]
- カード(または多くの場合は付箋)は、概念を保持するための有形の物理的なトークンです。
- 会話は、利害関係者(顧客、ユーザー、開発者、テスターなど)の間で行われます。会話は口頭で行われ、多くの場合、ドキュメントによって補足されます。
- 確認により、会話の目的が達成されたことが保証されます。
- 2001年: ロンドンのConnextra [6]のXPチームがユーザーストーリー形式を考案し、その例を他のチームと共有した。
- 2004年:マイク・コーンは、カードの使用法を超えてユーザーストーリーの原則を一般化した著書「ユーザーストーリーの応用:アジャイルソフトウェア開発向け」[7]を発表しました。マーティン・ファウラーによると、この本は現在このトピックの標準的な参考文献と考えられています。 [8]コーンは、レイチェル・デイビスをユーザーストーリーの発明者として挙げています。[9]デイビスはコネクストラのチームメンバーでしたが、発明はチーム全体の功績だと考えています。[要出典]
- 2014年:2005年の最初の論文[10]と2008年のブログ投稿[11]を経て、 2014年にジェフ・パットンはユーザーストーリーマッピング技術を発表しました。これは、体系的なアプローチでユーザーストーリーの識別を改善し、ストーリーを構造化して相互依存性をよりよく可視化することを目的としています。[12]
原理
ユーザー ストーリーは、開発中のシステムの機能に影響を与えるために、ユーザーまたは顧客によって、またはユーザーまたは顧客のために作成されます。一部のチームでは、製品マネージャー (またはScrumの製品所有者) が、ユーザー ストーリーの作成と製品バックログへの整理を主に担当します。他のチームでは、誰でもユーザー ストーリーを作成できます。ユーザー ストーリーは、関係者との話し合いを通じて、ペルソナに基づいて作成することも、単純に作り上げることもできます。
共通テンプレート
ユーザー ストーリーは、いくつかの形式またはテンプレートのいずれかに従う場合があります。
最も一般的なのは、以下に示すConnextraテンプレートです。 [13] [7] [14] Mike Cohnは、「so that」節はオプションであるが、それでも役立つことが多いと示唆しました。[15]
<役割>として私は<能力>を発揮できるので、<利益を得る>
クリス・マットは、「価値の追求」がソフトウェアを成功裏に提供するための第一歩であると示唆し、次のような代替案を提案した。[16]
<役割>として<利益を得る>ために、私は<目標/願望>を持つことができます
5W1Hに基づいた別のテンプレートでは次のように規定されています。[17]
<誰が> <いつ> <どこで>、私は <なぜ> なので <何を> 欲しいのか
セキュリティを向上させるためによく使用されるテンプレートは、「悪意のあるユーザーストーリー」または「悪用ユーザーストーリー」と呼ばれ、サイバー攻撃で発生する可能性のあるシナリオを検討するためにハッカーのように考える方法として使用されます。これらのストーリーは、ユーザーストーリーに見られる典型的なペルソナではなく、アプリケーションを侵害または損傷しようとする攻撃者の視点から書かれています。[18]
不満を抱く従業員として、会社に損害を与えるためにユーザーデータベースを消去したい
例
- 上映クイズ(壮大な物語)
- 人事マネージャーとして、私は、採用候補者を機能マネージャーに送るべきかどうかを判断するためのスクリーニングクイズを作成したいと考えています。[19]
- クイズの思い出
- マネージャーとして、私は既存のクイズを閲覧して、何を用意しているかを思い出し、今必要なポジションに既存のクイズを再利用または更新できるかどうかを判断したいと考えています。[19]
- 限定的なバックアップ
- ユーザーは、バックアップドライブが保存する必要のないものでいっぱいにならないように、バックアップしないフォルダーを指定できます。[20]
使用法
エクストリームプログラミングの 計画ゲームなど、多くのアジャイル開発方法論の中心的な部分であるユーザーストーリーは、ソフトウェア製品に組み込む可能性のある内容を説明します。ユーザーストーリーは、顧客 (またはScrumの製品所有者) によって優先順位が付けられ、システムにとって最も重要なものを示し、開発者によってタスクに分割されて見積もられます。見積り方法の 1 つは、各タスクにフィボナッチ数列1、2、3、5、8、13 から選択されたストーリーポイントの数を割り当てることです。最も単純なタスクには 1 のスコアが与えられ、より複雑なタスクにはより高いスコアが与えられます。
ユーザー ストーリーを実装する直前に、開発者はそれについて顧客と話し合う機会を持つ必要があります。短いストーリーは解釈が難しい場合があり、ある程度の背景知識が必要になる場合や、ストーリーの作成後に要件が変更されている場合もあります。
ユーザー ストーリーは、これらの会話に基づいて詳細を追加して拡張できます。これには、メモ、添付ファイル、受け入れ基準などが含まれます。
受け入れ基準
マイク・コーンは受け入れ基準を「プロダクトオーナーがストーリーを完了したものとして受け入れるためにストーリーが何をしなければならないかについてのメモ」と定義しています。[21]これらはユーザーストーリーの境界を定義し、ストーリーが完了して意図したとおりに機能しているかどうかを確認するために使用されます。
受け入れ基準に含めるべき適切な情報量は、チーム、プログラム、プロジェクトによって異なります。中には、「ユーザーはすでにログインしており、すでに自分の情報を一度編集している」といった「先行基準」を含めるものもあります。[この引用には出典が必要です]受け入れ基準を典型的なアジャイル形式であるGiven-When-Thenで記述する人もいます。また、顧客や利害関係者から収集した元の要件から箇条書きを単純に使用する人もいます。[21] ストーリーが完了したとみなされるためには、すべての受け入れ基準を満たす必要があります。
利点
ユーザーストーリーの使用がソフトウェアの成功や開発者の生産性を向上させるという確かな証拠はありません。しかし、ユーザーストーリーは、過度の問題構造化なしに意味付けを促進し、成功につながります。[22]
制限事項
ユーザー ストーリーの制限は次のとおりです。
- スケールアップの問題: 小さな物理カードに書かれたユーザー ストーリーは、維持が難しく、大規模なプロジェクトに拡張するのが難しく、地理的に分散したチームにとっては面倒です。
- 曖昧、非公式、不完全:ユーザーストーリーカードは会話のきっかけとして考えられています。非公式であるため、さまざまな解釈が可能です。簡潔であるため、機能を実装するために必要なすべての詳細が記載されているわけではありません。したがって、ストーリーは正式な合意に達したり、法的契約書を作成したりするのには適していません。[23]
- 非機能要件の欠如: ユーザー ストーリーにはパフォーマンスや非機能要件の詳細が含まれることはほとんどないため、非機能テスト (応答時間など) が見落とされる可能性があります。
- 必ずしもテクノロジーの構築方法を表す必要はありません。ユーザー ストーリーはビジネスの観点から記述されることが多いため、技術チームが実装を開始すると、技術的な制約により、個々のストーリーの範囲を超える作業が必要になる場合があります。ストーリーを小さなストーリーに分割すると、この問題を解決できる場合があります。また、「技術のみ」のストーリーが最も適切な場合もあります。これらの「技術のみ」のストーリーは、顧客/利害関係者に実証できる価値を提供していないとして、ビジネス ステークホルダーから異議を唱えられる可能性があります。
叙事詩、テーマ、イニシアチブ/プログラムとの関係
多くのコンテキストでは、ユーザー ストーリーは、オントロジー、セマンティクス、および組織上の理由から、グループで使用され、まとめられます。イニシアチブは、特定のスケール アジャイル フレームワークではプログラムとも呼ばれます。さまざまな使用法は、機能に関して製品所有者としてのユーザーの視点から見るか、タスク編成に関して会社の視点から見るかなど、視点によって異なります。

考えられるあらゆる種類のユーザーストーリーのグループ化に「エピック」と「テーマ」というラベルを使うことを提案する人もいますが、組織管理では、強力な構造化と作業負荷の統合のためにそれを使用する傾向があります。たとえば、Jira は階層的に整理されたto-do リストを使用しているようです。このリストでは、to-do タスクの最初のレベルを「ユーザーストーリー」、2 番目のレベルを「エピック」(ユーザーストーリーのグループ化)、3 番目のレベルを「イニシアチブ」(エピックのグループ化) と名付けています。ただし、イニシアチブは製品管理開発に常に存在するわけではなく、粒度をさらに 1 つ追加するだけです。Jira では、(追跡目的で)「テーマ」が存在し、固定階層のさまざまな部分の項目を相互に関連付けてグループ化できます。[24] [25]
この用法では、Jira はテーマの意味を組織の観点から変えます。たとえば、テーマ「xyz」の開発にどれだけの時間を費やしたかなどです。しかし、テーマの別の定義は、共通の意味単位または目標を形成するユーザー向けのストーリー、エピック、機能などのセットです。製品の設計と開発のスタイルごとに異なるアプローチが存在するため、共通の定義はおそらくありません。この意味で、ハード グループや階層を一切使用しないことを提案する人もいます。[26] [27] [28] [29] [30] [31]
テーマ
複数のエピック、または密接に関連する多数の非常に大きなストーリーは、テーマとしてまとめられます。エピックの一般的な説明は、多数のスプリント、またはスケールされたフレームワーク (リリース トレインまたはソリューション トレイン) を必要とする膨大な作業です。
主導権
複数のテーマ、叙事詩、物語が階層的にグループ化されている。[32]
すごい
オントロジーや意味関係によってグループ化された複数のテーマまたはストーリー。
ストーリーマップ

ストーリーマップ[33]は、製品の全体像を示す物語の流れに沿ってユーザーストーリーを整理します。この手法は、非常に詳細なユーザーストーリーが溢れかえり、製品の主な目的の実現を妨げるリスクに対処するために、2005年から2014年にかけてジェフ・パットンによって開発されました。[要出典]
ユーザーストーリーマッピング[34]では、ユーザーとのワークショップを使用して、まず主要なビジネス活動を特定します。これらの主要な活動には、複数の種類のユーザーまたはペルソナが関与する場合があります。
次に、これらのビジネス アクティビティに関与する個々のユーザーの主なタスクを特定することで、水平方向の横断的なナラティブ ラインが描画されます。このラインはプロジェクト全体にわたって維持されます。より詳細なユーザー ストーリーは、ユーザー ストーリーの実践で通常どおり収集されます。ただし、新しいユーザー ストーリーはそれぞれ、ナラティブ フローに挿入されるか、またはメイン タスクに垂直に関連付けられます。
水平軸は製品目標の範囲に対応し、垂直軸は個々のユーザーのニーズに対応します。
このようにして、全体像を失うことなく、大規模なシステムでも記述することが可能になります。
ストーリー マップは、製品バックログを 2 次元のグラフィックで簡単に視覚化できます。マップの上部には、ストーリーがグループ化されている見出しがあり、通常は「エピック」(大きな粗いユーザー ストーリー)、「テーマ」(関連するユーザー ストーリーのコレクション[35] )、または「アクティビティ」と呼ばれます。これらは、ユーザーのワークフローまたは「システムの動作を説明する順序」に基づいて識別されます。垂直方向では、エピックの下に、実際のストーリー カードが割り当てられ、優先順位で順序付けられています。最初の水平行は「歩くスケルトン」[36] で、その下は複雑さが増すことを示しています。[37] [説明が必要]
ユーザージャーニーマップ
ユーザージャーニーマップ[38]は、単一のユーザーカテゴリの全体像を示すことを目的としています。その物語の流れは、単一のユーザーが目的を達成するために実行する必要があるフェーズとアクションの時系列に焦点を当てています。
これにより、一連のユーザーストーリーを超えてユーザーエクスペリエンスをマッピングできます。ユーザーからのフィードバックに基づいて、ジャーニー全体にわたる肯定的な感情と否定的な感情を特定できます。マップ上で摩擦のポイントや満たされていないニーズを特定できます。この手法は製品のデザインを改善するために使用され、[39]参加型アプローチでユーザーを関与させることができます。[40]
ユースケースとの比較
ユースケースは、「システムと1人以上のアクターの間の一連の相互作用の一般的な説明であり、アクターはユーザーまたは別のシステムのいずれかです。」と説明されています。 [41]ユーザーストーリーとユースケースにはいくつかの類似点がありますが、それらの間にはいくつかの違いがあります。
ケント・ベック、アリスター・コックバーン、マーティン・ファウラーらは、c2.com wiki(エクストリームプログラミングの本拠地)でこのトピックについてさらに議論した。[43]
参照
参考文献
- ^ Dimitrijević, Sonja; Jovanović, Jelena; Devedžić, Vladan (2015). 「ユーザー ストーリー管理用ソフトウェア ツールの比較研究」.情報およびソフトウェア技術. 57 : 352– 368. doi :10.1016/j.infsof.2014.05.012.
近年、ユーザー ストーリーに基づく実践のサポートなどを提供するソフトウェア ツールが数多く登場しています。
- ^ Ralph, Paul (2015). 「ソフトウェア設計のセンスメイキング-共進化-実装理論」.コンピュータプログラミングの科学. 101 : 21– 41. arXiv : 1302.4061 . doi :10.1016/j.scico.2014.11.007. S2CID 6154223.
- ^ “ストーリーカードの起源は会話の約束:Alistair.Cockburn.us”. alistair.cockburn.us . 2021年6月22日時点のオリジナルよりアーカイブ。2017年8月16日閲覧。
- ^ Beck, Kent (1999)。エクストリームプログラミングの解説:変化を受け入れる。Addison- Wesley。ISBN 9780201616415. OCLC 41834882.
- ^ Jeffries, Ron (2001年8月30日). 「Essential XP: Card, Conversation, Confirmation」. 2017年5月12日時点のオリジナルよりアーカイブ。2017年4月14日閲覧。
- ^ 「ユーザーストーリーテンプレート」。agilealliance.org 2015年12月17日。2020年6月6日時点のオリジナルよりアーカイブ。2020年4月18日閲覧。
- ^ ab Cohn, Mike (2004).ユーザーストーリーの応用: アジャイルソフトウェア開発向け. Addison-Wesley. ISBN 0321205685. OCLC 54365622.
- ^ Fowler, Martin (2013年4月22日). 「User Story」. martinfowler.com . 2019年7月14日時点のオリジナルよりアーカイブ。 2019年7月14日閲覧。
- ^ Cohn, Mike. 「ユーザーストーリーテンプレートとは何か、そしてなぜそれがうまく機能するのか?」Mountain Goat Software 。 2025 年1 月 9 日閲覧。
- ^ Patton, Jeff (2005年1月). 「It's All In How You Slice It」. Better Software Magazine : 16–22 , 40. 2019年7月16日時点のオリジナルよりアーカイブ。2019年7月16日閲覧。
- ^ Patton, Jeff (2008年10月8日). 「新しいユーザーストーリーバックログはマップです」. Jeff Patton & Associates . 2019年7月18日時点のオリジナルよりアーカイブ。 2019年7月16日閲覧。
- ^ Patton, Jeff (2014).ユーザーストーリーマッピング. Economy, Peter, Fowler, Martin, Cooper, Alan, Cagan, Marty (初版). 北京. ISBN 9781491904909. OCLC 880566740.
{{cite book}}: CS1 maint: location missing publisher (link) - ^ Lucassen, Garm; Dalpiaz, Fabiano; Werf, Jan Martijn EM van der; Brinkkemper, Sjaak (2016), Daneva, Maya; Pastor, Oscar (eds.)、「実践におけるユーザーストーリーの使用と有効性」、要件エンジニアリング: ソフトウェア品質の基礎、Lecture Notes in Computer Science、vol. 9619、Springer International Publishing、pp. 205– 222、doi :10.1007/978-3-319-30282-9_14、ISBN 978-3-319-30281-2、S2CID 26458219、
最も一般的なユーザーストーリーテンプレートは、Connextraが提案した「オリジナル」のものです。
- ^ 「用語集: ユーザーストーリーテンプレート」。agilealliance.org。アジャイルアライアンス。2015年12月17日。2020年2月3日時点のオリジナルよりアーカイブ。 2020年2月3日閲覧。
別名は「Connextraフォーマット」で、その起源を認識している。
- ^ Cohn, Mike (2008 年 4 月 25 日). 「ユーザーとして私が望むこと」ユーザー ストーリー テンプレートの利点」Mountaingoatsoftware.com。2016 年 12 月 18 日時点のオリジナルよりアーカイブ。2016年12 月 18 日閲覧。so
-that 節はオプションだと考えていますが、このテンプレートは本当に気に入っています。
- ^ Marcano, Antony (2011 年 3 月 24 日). 「Old Favourite: Feature Injection User Stories on a Business Value Theme」. Antonymarcano.com . 2012 年 7 月 2 日時点のオリジナルよりアーカイブ。2017年2 月 23 日閲覧。
- ^ 「User Story」. t2informatik GmbH . 2019年9月25日. 2020年2月3日時点のオリジナルよりアーカイブ。 2020年2月3日閲覧。
「(誰が)(いつ)(どこで)として、私は(なぜ)だから(したい)」 – このフレーズは、典型的な W の質問、つまり who、when、where、what、why に基づいています。
- ^ Van der Veer, Rob (2020 年 5 月 18 日). 「SAMM Agile ガイダンス」. GitHub .
- ^ ab Cowan, Alexander. 「Your Best Agile User Story」. Cowan+ . 2016年3月25日時点のオリジナルよりアーカイブ。2016年4月29日閲覧。
- ^ ab Cohn, Mike. 「ユーザーストーリー」。Mountain Goat Software。 2016年4月30日時点のオリジナルよりアーカイブ。2016年4月27日閲覧。
- ^ ab Cohn, Mike. 「ユーザーストーリーに詳細を追加する 2 つの方法」。Mountain Goat Software ブログ。2019 年 4 月 8 日時点のオリジナルよりアーカイブ。2019年4 月 8 日閲覧。
- ^ Ralph, Paul; Mohanani, Rahul (2015). 「要件エンジニアリングは本質的に逆効果か?」2015 IEEE/ACM 第 5 回要件とアーキテクチャのツインピークスに関する国際ワークショップIEEE. pp. 20– 23. doi :10.1109/TwinPeaks.2015.12. ISBN 978-1-4673-7100-1. S2CID 2873385。
- ^ 「ユーザーストーリーの制限」 Ferolen.com 2008年4月15日 オリジナルより2014年4月13日時点のアーカイブ。2014年4月9日閲覧。
- ^ 「エピック、テーマ、ストーリー、イニシアチブ」。アトラシアン。2019年1月30日時点のオリジナルよりアーカイブ。2019年2月8日閲覧。
- ^ 「ユーザーストーリー」。Atlassian 。 2019年2月5日時点のオリジナルよりアーカイブ。2019年2月8日閲覧。
- ^ Britsch, Marcel (2017年9月5日). 「The Basics: Epics, Stories, Themes & Features」. The Digital Business Analyst . 2017年9月21日時点のオリジナルよりアーカイブ。 2019年2月8日閲覧。
- ^ Cohn, Mike. 「ユーザーストーリー、エピック、テーマ」。Mountain Goat Software。 2019年2月4日時点のオリジナルよりアーカイブ。2019年2月8日閲覧。
- ^ 「Scrum Alliance メンバーが投稿した情報記事」。2018 年 9 月 11 日時点のオリジナルよりアーカイブ。2018 年9 月 11 日閲覧。
- ^ Guay, Constantin (2018年1月26日). 「スクラムのヒント: エピック、ストーリー、テーマ、機能の違い」。2018年11月19日時点のオリジナルよりアーカイブ。2019年2月8日閲覧。
- ^ “User Stories, Epics & Themes”. 2021年12月8日. 2019年2月9日時点のオリジナルよりアーカイブ。 2021年12月8日閲覧。
- ^ Cohn, Mike. 「複雑なストーリー階層は必要ありません」。Mountain Goat Software。 2019年5月10日時点のオリジナルよりアーカイブ。2019年2月8日閲覧。
- ^ 「イニシアチブとその他の階層レベルを構成する - Atlassian ドキュメント」。confluence.atlassian.com。2020年 2 月 5 日のオリジナルからアーカイブ。2020年2 月 5 日に取得。「
イニシアチブ」とは、複数のエピック、場合によっては複数のチームにまたがる非常に大規模な作業のことです。[...] イニシアチブは、Jira の課題タイプでもあります。
- ^ Patton, Jeff (2008年10月8日). 「新しいユーザーストーリーバックログはマップです」。2017年5月14日時点のオリジナルよりアーカイブ。2017年5月17日閲覧。
- ^ パットン、ジェフ(ソフトウェア開発者)(2014)。ユーザーストーリーマッピング。エコノミー、ピーター、ファウラー、マーティン(1963-)、クーパー、アラン(1952-)、ケイガン、マーティ(初版)。北京。ISBN 978-1-4919-0490-9. OCLC 880566740.
{{cite book}}: CS1 maint: location missing publisher (link) - ^ Cohn, Mike. 「ユーザーストーリー、エピック、テーマ」。Mountaingoatsoftware.com。 2017年9月27日時点のオリジナルよりアーカイブ。2017年9月26日閲覧。
- ^ アリスター・コックバーン。「ウォーキング・スケルトン」。2013年9月24日時点のオリジナルよりアーカイブ。2013年3月4日閲覧。
- ^ 「ストーリー マッピング」。Agile Alliance。2015 年 12 月 17 日。2016 年 6 月 23 日時点のオリジナルよりアーカイブ。2016 年5 月 1 日閲覧。
- ^ エクスペリエンス、リサーチベースのユーザーエクスペリエンスの世界的リーダー。「ジャーニーマッピング101」。ニールセンノーマングループ。2020年3月19日時点のオリジナルよりアーカイブ。2020年3月15日閲覧。
{{cite web}}:|first=一般的な名前があります (ヘルプ) - ^ リチャードソン、アダム(2010年11月15日)。「カスタマージャーニーマップを使用した顧客体験の向上」ハーバードビジネスレビュー。ISSN 0017-8012 。2020年3月22日時点のオリジナルよりアーカイブ。 2020年3月15日閲覧。
- ^ 「破壊的参加型デザイン | 第14回参加型デザイン会議の議事録:ショートペーパー、インタラクティブ展示会、ワークショップ - 第2巻」。doi : 10.1145 /2948076.2948085。hdl : 11572 /167104。S2CID 15915593。
{{cite journal}}:ジャーナルを引用するには|journal=(ヘルプ)が必要です - ^ Cohn, Mike. 「プロジェクトにおけるユーザーストーリーの要件としての利点」Mountaingoatsoftware.com。2012年4月18日時点のオリジナルよりアーカイブ。2017年9月26日閲覧。
- ^ Fowler, Martin (2003年8月18日). 「UseCasesAndStories」。2017年9月27日時点のオリジナルよりアーカイブ。 2017年9月26日閲覧。
- ^ 「ユーザーストーリーとユースケースの比較」。C2.com。2016年9月2日時点のオリジナルよりアーカイブ。2017年9月26日閲覧。
さらに読む
- Daniel H. Steinberg、Daniel W. Palmer、『Extreme Software Engineering』、Pearson Education、Inc.、ISBN 0-13-047381-2。
- Mike Cohn、『User Stories Applied』、2004 年、Addison Wesley、ISBN 0-321-20568-5。
- Mike Cohn、「Agile Estimating and Planning」、2006 年、Prentice Hall、ISBN 0-13-147941-5。
- ビジネスアナリストの時間
- Payton Consulting「ユーザーストーリーとIEEEの要件の違い」
