SlideShare a Scribd company logo
1
2014年5月21日
GMOインターネット株式会社
次世代システム研究室
藤村 新
AEP読書会
第十二章
ユーザーストーリーの分割
どんなに優先順位が高か
ろうと、ユーザーストーリー
の大きさが1回のイテレー
ションでは完了できないの
であれば、2つ以上に分
割せざるを得ない。
1.ユーザーストーリーをいつ分割するのか
ストーリーが大きすぎて1回のイテレーションに
は収まらないような場合
いま計画を立てている次のイテレーションには
もう他のストーリーが入っていて、そのストーリー
を入れる余地がない
一部なら実装できるが、すべては無理
大きなストーリー(エピック)を分割するのは、よ
り正確な見積りが必要な場合に有用
2.データ境界に沿って分割する
例1)ユーザーとして、バランスシートの情報を入力できる
ユーザーとして、バランスシートのデータをサマリで入力できる
入力項目は、資産、負債の2つ
ユーザーとして、バランスシートのカテゴリごとの入力ができる
現金預金、投資有価証券、不動産、短期貸付金など
ユーザーとして、入力を間違えないような入力値のバリデーションが欲
しい
負の値も入力できる、入力値の端数は自動的に四捨五入して丸
める
ユーザーとして、貸付金の詳細を入力できる
このストーリーで扱う詳細情報が貸付金に限定されているため小
さくなった
他のストーリーの雛形として使うことができた
2.データ境界に沿って分割する
例2)自動FAXシステム
システムの設定を変更可能にする
米国内の電話番号と国際電話番号とにストーリーを分割
例3)ローンの返済を処理するシステム
借主として、ローンを返済したい
借主が誤って返済額以上の小切手を送ってしまったらどうするの
か?
払い戻し小切手を借主に郵送しなければならない
この対応は返金額が¤2以上の場合に限られる
借主として、ローンを返済したい。このとき、払い過ぎてもかまわな
い。
借主として、もし返済し過ぎてしまったら、 ¤2以上の場合に限り、
払い戻しできる。
3.操作の境界で分割する
例1)きわめて複雑な検索画面
画面の上半分には数十個の入力項目
中央には入力内容を元にデータベースへのクエリを構築できるク
エリビルダ
その下には複雑なデータ表示用グリッド
3つに分割
1. 基本的なユーザーインターフェイス
 検索条件の半分を扱う
 クエリビルダ
 検索結果数だけを表示
2. データ表示用のグリッド
 開発にかかる時間が読めなかったため2番目にした
3. 残りの検索条件を入力する項目
3.操作の境界で分割する
例1)コーチとして、チームの選手を管理できる(SwimStats)
CRUD(Create, Read, Update, Delete)操作を境界として分割
 コーチとして、新しい選手をチームに追加できる
 コーチとして、チームの選手の情報を編集できる
 コーチとして、チームから抜けた選手を削除できる
4.横断的な関心事を分離する
例1)データを検索して、その結果を表示する
表示する結果はそのユーザーに閲覧が許可されているデータに限定し
なければならない
表示する検索結果の制約を無視する
最初のイテレーションでは、ユーザーはすべての検索結果を見
ることができる
例2)ユーザーとして、システムを利用したければユーザー名と
パスワードを入力してログインしなければならない
セキュアでないログインとセキュアなログインの2つのストーリーに分離
横断的な機能の別のストーリーへの分離を検討すること。
その場合、横断的な機能を含まないストーリーと、含むストー
リーの2つに分けること。
5.パフォーマンス制約をストーリーにする
「動くようになってから、速く動かすことを考えろ」(カーニハン
&プローガー)
例)株価をグラフ表示させる
満足条件
的確な折れ線グラフ表示
データが存在しない場合の対応
パフォーマンス
パフォーマンスのためのキャッシュ機能は欠かせない要素
別の新規ユーザーストーリーにして、次のイテレーションで開発する
大きなストーリーの機能要求と非機能要求とをそれぞれ個別
のストーリーに分割することを検討せよ。
6.優先度に沿ってストーリーを分割する
例)ユーザーとして、システムにログインしなければならない
満足条件
ユーザーが正しいユーザー名とパスワードを入力した場合に限り、
アクセスを許可する
ユーザーが間違ったパスワードを3回連続して入力するとログインで
きなくなる。ログイン制限を解除するにはカスタマサービスに連絡しな
ければならない
ユーザーがログイン制限されたら、そのユーザーに対して、そのアカ
ウントを使ってログインしようとした形跡があったことを知らせるメー
ルが送信される
大きなストーリーを分割する場合には、サブストーリーの優先
度に沿って分割すること。
7.ストーリーをタスクに分解してはならない
悪い例)
ユーザーインターフェイスを実装する
中間層を実装する
システムを「曳光弾」で照らす。(ハント&トーマス)
「曳光弾」とは、あるフィーチャに必要なシステムの論理層すべ
てをまたいで実装することを指す。
大きなストーリーをタスクに分解するのではなく、ストーリーを曳
光弾にするための作戦を考えること。
8.関連する変更への誘惑を断つ
ストーリーを適切な大きさへと首尾よく分割できたとしても、そ
こに作業を追加してしまえば、分割した意味がなくなる
「ついでにこの変更もやれるじゃないか」
他のフィーチャと同様に優先順位を付けなければならない
適切なサイズに分割したストーリーに、関連する変更を上乗せし
てはならない。
ただし、関連する変更の優先度が同じ場合はこの限りではない。
9.ストーリーをまとめる
あらゆるストーリーを最初からなるべく小さくしておきたくな
るかもしれないが、ガイドラインの狙いはそうではない。
イテレーション期間:2週間
2日から5日で完了できる大きさにストーリーを分割する
のが適切
イテレーション期間:1週間
ストーリーはもう少し小さく分割した方が良い
イテレーション期間:2週間以上
イテレーション期間2週間同様、2日から5日が適切
1つにまとめたストーリーは、個別の小さな見積りを足し合わせる
のではなく、全体を1つの数値で見積もる。(バグレポートなど)
話し合ってみよう
1. 現在の、または最近のプロ
ジェクトで、分割するのが
難しかったストーリーは?こ
の章を読んだ後なら、どう
やって分割するだろうか?
個人的回答
パスドラクローンのパズル部分
のストーリー。
「3.操作の境界で分割する」を
参考に、ページ上部のエフェクト
部分、ページ下部のパズル部分
等に分割した。
ユーザーストーリーの分割
話し合ってみよう
2. ストーリーをタスクに分
解して、そのタスクを
ユーザーストーリーのよう
に扱うと、どのような問
題が起きそうだろうか?
個人的回答
計画の基準がフィーチャではなく
タスクになってしまい、プロダクトを
正しい視点で捉えられなくなる。
その結果、ユーザーに直接価値を
提供することができなくなる。
19
おわり

More Related Content

PDF
ユーザーストーリー駆動開発で行こう。
toshihiro ichitani
 
PPTX
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
Tokoroten Nakayama
 
PDF
Lean coffee
Takeshi Arai
 
PDF
私にとってのテスト
Takuto Wada
 
PDF
フロー効率性とリソース効率性、再入門 #devlove #devkan
Itsuki Kuroda
 
PDF
開発速度が速い #とは(LayerX社内資料)
mosa siru
 
PDF
大企業アジャイルの勘所(ver1.1) #アジャイルマネジメントセミナー
Itsuki Kuroda
 
PDF
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
Yoshiki Hayama
 
ユーザーストーリー駆動開発で行こう。
toshihiro ichitani
 
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
Tokoroten Nakayama
 
Lean coffee
Takeshi Arai
 
私にとってのテスト
Takuto Wada
 
フロー効率性とリソース効率性、再入門 #devlove #devkan
Itsuki Kuroda
 
開発速度が速い #とは(LayerX社内資料)
mosa siru
 
大企業アジャイルの勘所(ver1.1) #アジャイルマネジメントセミナー
Itsuki Kuroda
 
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
Yoshiki Hayama
 

What's hot (20)

PDF
診断ツールの使い方(Owasp zapの場合)
shingo inafuku
 
PDF
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
NTT DATA Technology & Innovation
 
PPTX
なぜコンピュータを学ばなければならないのか 21世紀の君主論
Tokoroten Nakayama
 
PDF
インフラエンジニアの綺麗で優しい手順書の書き方
Shohei Koyama
 
PDF
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
 
PDF
オトナのTDD(テスト駆動開発)入門
Yoshinori Yamanouchi
 
PDF
心理的安全性を 0から80ぐらいに上げた話
Yusuke Hisatsu
 
PDF
心理的安全性の構造 デブサミ2019夏 structure of psychological safety
Tokoroten Nakayama
 
PDF
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
 
PDF
TDD のこころ
Takuto Wada
 
PDF
40歳過ぎてもエンジニアでいるためにやっていること
onozaty
 
PDF
カネとAgile(大企業新規事業編) #rsgt2021
Itsuki Kuroda
 
PDF
Azure Monitor Logで実現するモダンな管理手法
Takeshi Fukuhara
 
PDF
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
Yoshiki Hayama
 
PPTX
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
 
PPTX
インセプションデッキ: やらないことリストと トレードオフスライダーをやってる話
Nobuhiro Yoshitake
 
PDF
アジャイルな見積りと計画づくり勉強会
Arata Fujimura
 
PDF
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
 
PDF
デキるプログラマだけが知っているコードレビュー7つの秘訣
Masahiro Nishimi
 
PDF
マイクロサービス 4つの分割アプローチ
増田 亨
 
診断ツールの使い方(Owasp zapの場合)
shingo inafuku
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
NTT DATA Technology & Innovation
 
なぜコンピュータを学ばなければならないのか 21世紀の君主論
Tokoroten Nakayama
 
インフラエンジニアの綺麗で優しい手順書の書き方
Shohei Koyama
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
 
オトナのTDD(テスト駆動開発)入門
Yoshinori Yamanouchi
 
心理的安全性を 0から80ぐらいに上げた話
Yusuke Hisatsu
 
心理的安全性の構造 デブサミ2019夏 structure of psychological safety
Tokoroten Nakayama
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
 
TDD のこころ
Takuto Wada
 
40歳過ぎてもエンジニアでいるためにやっていること
onozaty
 
カネとAgile(大企業新規事業編) #rsgt2021
Itsuki Kuroda
 
Azure Monitor Logで実現するモダンな管理手法
Takeshi Fukuhara
 
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
Yoshiki Hayama
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
 
インセプションデッキ: やらないことリストと トレードオフスライダーをやってる話
Nobuhiro Yoshitake
 
アジャイルな見積りと計画づくり勉強会
Arata Fujimura
 
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
 
デキるプログラマだけが知っているコードレビュー7つの秘訣
Masahiro Nishimi
 
マイクロサービス 4つの分割アプローチ
増田 亨
 
Ad

More from Arata Fujimura (20)

PDF
クラスメソッドベトナム設立しました
Arata Fujimura
 
PDF
リーンスタートアップ実践者によるSDGs事業立ち上げ支援の取り組み
Arata Fujimura
 
PDF
DevOpsを支える原則、3つの道
Arata Fujimura
 
PDF
モダンオフショア開発でIT人材不足の解消を目指す 〜 ベトナムでの取り組みとこれから 〜
Arata Fujimura
 
PDF
スクラムマスター募集中
Arata Fujimura
 
PDF
変化に強い、継続的に学習する組織に変わるためのステップとは
Arata Fujimura
 
PDF
クラスメソッドにおけるスクラム開発の光と影
Arata Fujimura
 
PDF
モダンオフショア開発のすすめ
Arata Fujimura
 
PDF
スクラムワークショップ
Arata Fujimura
 
PDF
最高のScrumキメた後にスケールさせようとして混乱したけど今はまた最高のScrumに戻って新型コロナの影響は皆無な話
Arata Fujimura
 
PDF
登壇勉強会 〜それぞれの流儀がそこにある〜
Arata Fujimura
 
PDF
アジャイル開発の原則を守りつつ、マルチサイト開発を行なう!
Arata Fujimura
 
PDF
PdMワークショップ
Arata Fujimura
 
PDF
最高のScrumキメた後にスケールさせようとして混乱した話
Arata Fujimura
 
PDF
アジャイル開発の原則を守りつつ、グローバルチームを立ち上げる!
Arata Fujimura
 
PDF
Experience DevOps Implementation Support Service
Arata Fujimura
 
PDF
アジャイル開発の原則を守りつつ、グローバルチームを立ち上げる!
Arata Fujimura
 
PDF
俺のレアジョブ利用法
Arata Fujimura
 
PDF
DevOps導入支援、始めました
Arata Fujimura
 
PDF
プラクティス厨から始めるアジャイル開発
Arata Fujimura
 
クラスメソッドベトナム設立しました
Arata Fujimura
 
リーンスタートアップ実践者によるSDGs事業立ち上げ支援の取り組み
Arata Fujimura
 
DevOpsを支える原則、3つの道
Arata Fujimura
 
モダンオフショア開発でIT人材不足の解消を目指す 〜 ベトナムでの取り組みとこれから 〜
Arata Fujimura
 
スクラムマスター募集中
Arata Fujimura
 
変化に強い、継続的に学習する組織に変わるためのステップとは
Arata Fujimura
 
クラスメソッドにおけるスクラム開発の光と影
Arata Fujimura
 
モダンオフショア開発のすすめ
Arata Fujimura
 
スクラムワークショップ
Arata Fujimura
 
最高のScrumキメた後にスケールさせようとして混乱したけど今はまた最高のScrumに戻って新型コロナの影響は皆無な話
Arata Fujimura
 
登壇勉強会 〜それぞれの流儀がそこにある〜
Arata Fujimura
 
アジャイル開発の原則を守りつつ、マルチサイト開発を行なう!
Arata Fujimura
 
PdMワークショップ
Arata Fujimura
 
最高のScrumキメた後にスケールさせようとして混乱した話
Arata Fujimura
 
アジャイル開発の原則を守りつつ、グローバルチームを立ち上げる!
Arata Fujimura
 
Experience DevOps Implementation Support Service
Arata Fujimura
 
アジャイル開発の原則を守りつつ、グローバルチームを立ち上げる!
Arata Fujimura
 
俺のレアジョブ利用法
Arata Fujimura
 
DevOps導入支援、始めました
Arata Fujimura
 
プラクティス厨から始めるアジャイル開発
Arata Fujimura
 
Ad

ユーザーストーリーの分割