SlideShare une entreprise Scribd logo
1  sur  66
Télécharger pour lire hors ligne
Toshihiro Ichitani All Rights Reserved.
ユーザーストーリー
駆動開発で行こう。
Ichitani Toshihiro
市谷聡啓
開発を始める前にみんなで理解しておきたい
ユーザーストーリーを用いた開発のお作法
Toshihiro Ichitani All Rights Reserved.
http://about.me/papanda0806
Ichitani Toshihiro
市谷聡啓
@papanda
Toshihiro Ichitani All Rights Reserved.
受託→SIer→サービス→受託→旗揚
関西で組み込み製品のプログラマー→
プロダクトオーナー(企画者)支援
アジャイル開発プロジェクトマネージャ
アジャイル開発コンサルタント
ここまでのあらすじ
「リーン開発の現場」
Copyright (c) 2014 Guild Works Inc.
ユーザーストーリーという言葉は
よく聞くか、たまには聞くかと思いますが
どうですか?
Copyright (c) 2014 Guild Works Inc.
ユーザーストーリーという言葉は
よく聞くか、たまには聞くかと思いますが
どうですか?
「実際にユーザーストーリーでは開発したことない」
「開発してたけど上手くいかなかった…」
「何が良いのか分からない…」
Copyright (c) 2014 Guild Works Inc.
ユーザーストーリーという言葉は
よく聞くか、たまには聞くかと思いますが
どうですか?
「実際にユーザーストーリーでは開発したことない」
「開発してたけど上手くいかなかった…」
「何が良いのか分からない…」
気持ちは分かります!
この時間では、ユーザーストーリーを使った
開発の進め方について紹介したいと思います。
Copyright (c) 2014 Guild Works Inc.
そもそも何が課題なの?
ユーザーストーリーを使う!ってことから事を
始めだすとあまり良い結果は期待できかもですね。
ソリューションありきではなくて、何が課題で
適用するのかから考えましょう。
扱う課題は
「何をつくるべきかをどのようにして、関係者の
 間で伝え合えば良いか?」ということです。
作ってみて「コレジャナイ」なんてことになった
のは、一度や二度ではないでしょう。
Copyright (c) 2014 Guild Works Inc.
そもそも何が課題なの?
どうやって解決していますか?
扱う課題は
「何をつくるべきかをどのようにして、関係者の
 間で伝え合えば良いか?」ということです。
Copyright (c) 2014 Guild Works Inc.
そもそも何が課題なの?
どうやって解決していますか?
扱う課題は
「何をつくるべきかをどのようにして、関係者の
 間で伝え合えば良いか?」ということです。
ドキュメントをゴリゴリと書いて、
書いたらチームにレビューしてもらって…
関係者に確認してもらって…
そうですね、だいたいそうしてきてますよね。
Copyright (c) 2014 Guild Works Inc.
そもそも何が課題なの?
どうやって解決していますか?
扱う課題は
「何をつくるべきかをどのようにして、関係者の
 間で伝え合えば良いか?」ということです。
ドキュメントをゴリゴリと書いて、
書いたらチームにレビューしてもらって…
関係者に確認してもらって…
そうですね、だいたいそうしてきてますよね。
でも、ちょっと大変ですよね。
Copyright (c) 2014 Guild Works Inc.
動くモノを作ってしまって
関係者に確認してもらえれば
良いんじゃないの。
Copyright (c) 2014 Guild Works Inc.
良いね!それが出来たらベストだね!
ただ、その作戦で行く場合気をつけて欲しいことが
あるんだ…
動くモノを作ってしまって
関係者に確認してもらえれば
良いんじゃないの。
Copyright (c) 2014 Guild Works Inc.
良いね!それが出来たらベストだね!
ただ、その作戦で行く場合気をつけて欲しいことが
あるんだ…
動くモノを作ってしまって
関係者に確認してもらえれば
良いんじゃないの。
ワークに必要なコスト + 結果認識違いを訂正するコスト
取れる作戦の間でこのコストの比較を
見立ておこう。
Copyright (c) 2014 Guild Works Inc.
動くモノを
作るコスト
認識違いを
訂正するコスト
ドキュメントを
書くコスト
認識違いを
訂正するコスト
+ +?
チームとクライアントの状況と作るプロダクトの内容から
どちらの作戦が有利かトータルのコストで判断する
Copyright (c) 2014 Guild Works Inc.
動くモノを
作るコスト
認識違いを
訂正するコスト
ドキュメントを
書くコスト
認識違いを
訂正するコスト
+ +
?
さらに、ここに動くモノならではの「発見の可能性」と
ドキュメントならではの「見落としの可能性」を加味する
➖
早期に要求を発見
出来る嬉しさ
要求を見落した
ことによる手戻り
+
Copyright (c) 2014 Guild Works Inc.
動くモノを
作るコスト
認識違いを
訂正するコスト
ドキュメントを
書くコスト
認識違いを
訂正するコスト
+ +
<
チーム、クライアント、作るプロダクトを踏まえて、
動くモノでの検証の方が有利ならば動くモノ作戦は有効だ!
➖
早期に要求を発見
出来る嬉しさ
+
要求を見落した
ことによる手戻り
+
Copyright (c) 2014 Guild Works Inc.
動くモノを
作るコスト
認識違いを
訂正するコスト
ドキュメントを
書くコスト
認識違いを
訂正するコスト
+ +
<
動くモノを作るのに相当なコストを要のであれば、または
要求を「発見できる可能性が低い」ならば常に動くモノ作戦が
コスト的に有利なわけではない。
➖
早期に要求を発見
出来る嬉しさ
要求を見落した
ことによる手戻り
+
Copyright (c) 2014 Guild Works Inc.
クライアントの状況によっては、
「認識違いを訂正するコストが大きくなる可能性」
もあるんだ。作るモノへのイメージがクライアント
の中にだけある場合とかね。
そうなると、本当に動くモノベースでいきなり検証
するのが効率的なのかってなる。
じゃあ、やっぱりドキュメント?まずは
ドキュメントの場合何が大変なのか整理してみよう。
動くモノを作ってしまって
関係者に確認してもらえれば
良いんじゃないの。
Copyright (c) 2014 Guild Works Inc.
ドキュメントによる要件定義の課題
大量の文章や図表を書くコストがとてもかかる。
更新するのにコストがとてもかかる。
※仮説検証的に進めるプロジェクトだと変更が多すぎて手に負えない。
文章ですべてを表現することはできない。
※それはもうコードだ。
書いている方は漸次的だが読む方のバッチサイズ
は大きくなりがちで全体像を理解し難くなる
読み手の読解力に依存するため、憶測や誤解が
生じやすい。会話で文脈の補完が必要になる。
全体を理解しづらいので計画を立てるのも難しい。
そして、誰も見なくなる。
Copyright (c) 2014 Guild Works Inc.
大変すぎる!
Copyright (c) 2014 Guild Works Inc.
大変すぎる!
そこで、ユーザーストーリーですよ。
Copyright (c) 2014 Guild Works Inc.
大変すぎる!
そこで、ユーザーストーリーですよ。
というと、万能的に聞こえちゃうから、急いで
補完するとドキュメントを書かなくて良いという
わけではないのだよ。
ユーザーストーリーはユーザーがやりたいことを
簡潔にまとめつつ、詳細を補完するためにその後
の会話を約束するための道具なんだ。
Copyright (c) 2014 Guild Works Inc.
ユーザーストーリーはドキュメント
なのか?
分かりやすいので、つい要件定義書と比較して
しまいがちなのだけど、ユーザーストーリーは
ドキュメントと思わない方が良い。
要求をまとめるやり方の選択肢が1つ増えたと
捉えた方が良いんじゃないかな。
作って欲しい人と
隣同士で逐次会話
しながら作る
ドキュメントで
つくりたいものを
定義してから作る
ユーザー
ストーリーで
駆動する開発
どのやり方が絶対的にダメって話じゃない。状況に応じて使い分けよう。
Copyright (c) 2014 Guild Works Inc.
では、ユーザーストーリーとは
どういうものなのか、具体的に
みていくことにしよう。
Copyright (c) 2014 Guild Works Inc.
どう書くの? 三段構成
<ユーザー/顧客> として
<XXXを達成> をしたい
なぜなら <理由> だからだ
<Who>として
<What>をしたい
なぜなら <Why>だから
別の表現としては
ユーザーストーリーとは?
<30代の求職者>として
<年収で仕事を探>したい
なぜなら<仕事選びで年収の優先度が
高い>だから
たとえば
とも言える。
という感じで書く。
Copyright (c) 2014 Guild Works Inc.
ユーザーストーリーには
Howを書かないんだね。
Copyright (c) 2014 Guild Works Inc.
ユーザーストーリーには
Howを書かないんだね。
そうだね。
ユーザー(Who)の望みは、理由(Why)から出てきて
いるんだ。Whyを実現する手段(How)はむしろ、
開発チームが腕を振るうところだ。
例えばさっきの例「年収で仕事を検索したい」
そのために検索エンジンを使うのか、SQLで直接
頑張るのか、どんな手段を取るかは求職者にとっては
関係ないよね。もちろん手段選択による実害があったら困るよ。
Copyright (c) 2014 Guild Works Inc.
ユーザーストーリーとは?
対象者にとって、理解できる・評価できる内容に
なっていること!=対象者にとって価値がある
…それって機能のこと?
Copyright (c) 2014 Guild Works Inc.
ユーザーストーリーとは?
対象者にとって、理解できる・評価できる内容に
なっていること!=対象者にとって価値がある
…それって機能のこと?
ユーザーストーリーは機能ではない。
対象者にとっての価値をあらわすものなんだ。
その価値をもたらすための手段が機能になる。
機能に始まり、機能で終わると、目的を見失う可能性
が高くなる。機能をただつくることが目的ではないよ。
目的は対象者に価値をもたらすこと。利用者に価値を
届けるソフトウェアを作ることが僕達の仕事だ。
Copyright (c) 2014 Guild Works Inc.
ユーザーにとって理解できること…
それって、どんな文章なの?
Copyright (c) 2014 Guild Works Inc.
ユーザーにとって理解できること…
それって、どんな文章なの?
ユーザーが理解できる言葉を用いる必要があるね。
ただ、あいまいな文章にしてもダメだ。どうなれば
そのストーリーが出来たと言えるのか判断できない
からね。
Copyright (c) 2014 Guild Works Inc.
ユーザーにとって理解できること…
それって、どんな文章なの?
ユーザーが理解できる言葉を用いる必要があるね。
ただ、あいまいな文章にしてもダメだ。どうなれば
そのストーリーが出来たと言えるのか判断できない
からね。
「完成の条件」が言えないとダメだ。
「何が出来ないければいけないのか」の定義だね。
これがはっきりしないようなら、ストーリーとして
まだ、練り込みが甘いってことだ。
Copyright (c) 2014 Guild Works Inc.
ねえ、ストーリーを書きだしていると
30も40にもなって、何が何だか
わからなくなってきたよ!
Copyright (c) 2014 Guild Works Inc.
ねえ、ストーリーを書きだしていると
30も40にもなって、何が何だか
わからなくなってきたよ!
ユーザーのやりたいこと構造的に捉えるために、
エピックとストーリーを使い分けよう。
Copyright (c) 2014 Guild Works Inc.
ねえ、ストーリーを書きだしていると
30も40にもなって、何が何だか
わからなくなってきたよ!
ユーザーのやりたいこと構造的に捉えるために、
エピックとストーリーを使い分けよう。
特に、開発の初期段階ではやりたいことがまだ
もやっとしていることがよくある。最初から答えが分
かっているなんてことはあまりない。
エピックというのはやりたいことを大きな粒度で
捉えるためのものだ。
Copyright (c) 2014 Guild Works Inc.
エピックとストーリーの例
<30代の求職者>として
<求人を検索>したい
なぜなら<自分にあった求人に応募し
たい>だから
<30代の求職者>として
<採用企業に問い合わせ>したい
なぜなら<求人内容についてより深く
聞きたい>だから
<30代の求職者>として
<求人に応募>したい
なぜなら<選考をすすめたい>だから
ユーザーは求人に応募
することができる
エピック
ストーリー
やりたいことは初めはエピックレベルかもしれない
だから関係者と会話して詳しくしていくんだ。
Copyright (c) 2014 Guild Works Inc.
よし、いっぱいストーリーが書けた。
さあ、つくるぞー!
Copyright (c) 2014 Guild Works Inc.
よし、いっぱいストーリーが書けた。
さあ、つくるぞー!
ちょっとまった。最初に言ったことを思い出そう。
ユーザーストーリーはユーザーがやりたいことを
簡潔にまとめつつ、詳細を補完するためにその後の
会話を約束するための道具なんだ。
Copyright (c) 2014 Guild Works Inc.
よし、いっぱいストーリーが書けた。
さあ、つくるぞー!
ちょっとまった。最初に言ったことを思い出そう。
ユーザーストーリーはユーザーがやりたいことを
簡潔にまとめつつ、詳細を補完するためにその後の
会話を約束するための道具なんだ。
関係者との会話は十分にできているかな?
ストーリーだけ書いて作れるほど、おそらく甘く
はないよ。
Copyright (c) 2014 Guild Works Inc.
でも、ユーザーストーリーを書けば
他のドキュメントはいらないんでしょ
Copyright (c) 2014 Guild Works Inc.
でも、ユーザーストーリーを書けば
他のドキュメントはいらないんでしょ
例えば、何らかのビジネス・ルールがあるとして
抜け漏れがないかどうやって、確認する?
UIのイメージは関係者とあっている?イメージを
すりあわせるためにラフなスケッチくらいは
書かないといけないんじゃない?
目的に応じて、その手段を検討するべきだ。
Copyright (c) 2014 Guild Works Inc.
わかった。では、ストーリーとしては
どういうのがよく書けていると言えるの?
Copyright (c) 2014 Guild Works Inc.
完成の条件が言えるストーリーというのが良い
ストーリーの条件と言えるね。
他にもいくつか特徴があるんだ。次の6つだ。
I ‒ Independent (独立して優先順位がつけられる)
N ‒ Negotiable (何をつくるかの案が調整可能である)
V ‒ Valuable (価値のある)
E ‒ Estimable (見積り可能である)
S ‒ Small (チームで扱いやすい手頃なサイズである)
T ‒ Testable (テストできる)
頭文字をとってINVESTと呼ぶよ。
わかった。では、ストーリーとしては
どういうのがよく書けていると言えるの?
Copyright (c) 2014 Guild Works Inc.
独立して優先順位がつけられる
I ‒ Independent (独立して優先順位がつけられる)
N ‒ Negotiable (何をつくるかの案が調整可能である)
V ‒ Valuable (価値のある)
E ‒ Estimable (見積り可能である)
S ‒ Small (チームで扱いやすい手頃なサイズである)
T ‒ Testable (テストできる)
ストーリーの間で強い依存関係があると
スコープが調整しづらくなるし、完成の状態が
あいまいになってしまうね。このストーリーは
完成しているように実はあっちのストーリーが
終わらないと終わりにはならない…とかね。
Copyright (c) 2014 Guild Works Inc.
何をつくるかの案が調整可能である
I ‒ Independent (独立して優先順位がつけられる)
N ‒ Negotiable (何をつくるかの案が調整可能である)
V ‒ Valuable (価値のある)
E ‒ Estimable (見積り可能である)
S ‒ Small (チームで扱いやすい手頃なサイズである)
T ‒ Testable (テストできる)
やりたいことを実現する手段(How)が調整可能
でなければ、相当しっかりと計画を組み立てる
ことが求められているのと同じことになる。
最初に言ったとおり、Whyを実現するための
一番良いところのHowはチームから提示しよう
Copyright (c) 2014 Guild Works Inc.
価値のある
I ‒ Independent (独立して優先順位がつけられる)
N ‒ Negotiable (何をつくるかの案が調整可能である)
V ‒ Valuable (価値のある)
E ‒ Estimable (見積り可能である)
S ‒ Small (チームで扱いやすい手頃なサイズである)
T ‒ Testable (テストできる)
これはもう説明がいらないかな。僕達の目的はユー
ザーに価値をもたらすソフトウェアを作ることだ。
一つ一つのストーリーがユーザーにとって価値を
もたらすものになっていなければそれを積み重ね
ても目的にはたどり着けない。おそらく関係者が
理解できる内容にもなっていないだろう。
Copyright (c) 2014 Guild Works Inc.
見積可能である
I ‒ Independent (独立して優先順位がつけられる)
N ‒ Negotiable (何をつくるかの案が調整可能である)
V ‒ Valuable (価値のある)
E ‒ Estimable (見積り可能である)
S ‒ Small (チームで扱いやすい手頃なサイズである)
T ‒ Testable (テストできる)
見積ができるということは、やりたいことへの
実現手段がはっきりとしているということだ。
逆にまだ見積ができないなら、関係者との会話が
不足していそうだ。
Copyright (c) 2014 Guild Works Inc.
チームで扱いやすい手頃なサイズである
I ‒ Independent (独立して優先順位がつけられる)
N ‒ Negotiable (何をつくるかの案が調整可能である)
V ‒ Valuable (価値のある)
E ‒ Estimable (見積り可能である)
S ‒ Small (チームで扱いやすい手頃なサイズである)
T ‒ Testable (テストできる)
ストーリーを小さくできると、見積がしやすくな
る。何日もかかるような壮大なストーリーは見積
もったところで凄くブレが生まれる可能性が高い
よね。それに小さくないと1回のイテレーション
の中で終わらなくなっちゃうからね。
Copyright (c) 2014 Guild Works Inc.
テストできる
I ‒ Independent (独立して優先順位がつけられる)
N ‒ Negotiable (何をつくるかの案が調整可能である)
V ‒ Valuable (価値のある)
E ‒ Estimable (見積り可能である)
S ‒ Small (チームで扱いやすい手頃なサイズである)
T ‒ Testable (テストできる)
テストができるようになっているということは、
ソフトウェアがどう動けば良いか分かっている
ということだ。つまり、完成の条件が明確に
なっているということだね。
Copyright (c) 2014 Guild Works Inc.
ストーリーはオブジェクトに似ている
高凝集
!
!
疎結合
1つのストーリーには必ず1つの価値がある
十分に小さいこと
ストーリーは可能な限り独立していること
単体で完成することができる
高凝集、疎結合でなければ、ユーザーストーリーだけでは
プロダクトとプロジェクトの状況を把握するのが難しい
Copyright (c) 2014 Guild Works Inc.
実は、ストーリーが足りてない
気がするんだ…
Copyright (c) 2014 Guild Works Inc.
ユーザーストーリーはやりたいことを簡潔に
まとめるための道具だ。
ストーリーを洗い出すための手法は別
に必要だ。
いろいろなやり方があるよ。やり方は1つでは
ない。いろいろと試してみよう。
実は、ストーリーが足りてない
気がするんだ…
Copyright (c) 2014 Guild Works Inc.
やりたいことを洗い出す
さまざまな手段が取れるし、組み合せよう。
・ペルソナ
・インセプションデッキ
・UIイメージのスケッチ
・ドメインモデル
・ユーザーの要望、インタビュー結果
そして、ユーザーストーリーマッピングも。
Copyright (c) 2014 Guild Works Inc.
54
ユーザーストーリーマッピング
ユーザーストーリーマッピングとは、時系列にユーザー行動を洗い出し、
行動に基づいて要求を見立てる手法。
関係者が集まり、付箋や模造紙を用いてワークショップ形式で行なう。
参加者の知見を活かして、要求を発見・洗い出す。また、優先度付けを行
うことでスコープ(範囲)を短時間で特定することもできる。
ユーザーストーリーマッピングのイメージ
Toshihiro Ichitani All Rights Reserved.
時
系
列
定
点
感情ベース 行動ベース
ユーザーのインサイトに踏み込むための道具
エクスペリエンスマップ ユーザーストーリーマッピング
共感マップ
http://www.amazon.co.jp/gp/product/toc/4621088068/
Copyright (c) 2014 Guild Works Inc.
ユーザーストーリーで開発を駆動する
ユーザーストーリーだと、やりたいことの全体像を
捉えやすくなる(重厚なドキュメントだとまず
読み込むだけで相当なコストがかかる)。
全体像が捉えられると、計画が立て
やすくなる。
全体として何をやらなければならないかの把握が
しやすくなるからね。
そして、ユーザーストーリーが中心の開発だと
ユーザーストーリーの開発状況を押さえることで
プロジェクト全体の状況も理解できるようになるんだ
Copyright (c) 2014 Guild Works Inc.
では、ユーザーストーリーを
つかった開発の流れを具体的に
追ってみることにしよう。
!
※この例ではPivotalTrackerを使うよ
https://www.pivotaltracker.com/
Copyright (c) 2014 Guild Works Inc.
①ユーザーストーリーを洗い出す
Copyright (c) 2014 Guild Works Inc.
②洗い出したストーリーをPivotalに登録する
ひとまずiceboxに登録する。
登録したら関係者でiceboxを
眺めて抜け漏れをチェックしよう
!
ラベルをつけて管理しやすく
しよう。Pivotalだとラベルを
エピックにしてエピックとして
ストーリーをまとめて管理する
こともできる。
!
Whyまで書くと長くなるので
descriptionに書くと良い
Copyright (c) 2014 Guild Works Inc.
③ストーリーの完成の条件を定義しよう
何ができればこのストーリーは
終わるのか?条件が定義できるまで
関係者と話し合う。
内容は、descriptionに書いておく
!
開発が進む中で新たに分かった
ことが出てくればdescriptionに
残していく
Copyright (c) 2014 Guild Works Inc.
④ストーリーをチームで見積もろう
各ストーリーの規模をチームで
見積もる。POINTSに見積った
ポイントを入れていく。
※ポイントの単位は設定で変えられる
!
見積りはプランニングポーカーが
わかりやすくて手軽でオススメ
※やり方は書籍「リーン開発の現場」に詳しい
!
相対的に見積もる。基準となる
ストーリーを決めて、それの
何倍くらいの規模になるかを
みたてる
Copyright (c) 2014 Guild Works Inc.
⑤ストーリーの順序付けを行なう
iceboxからbacklogレーンに
持って行き順序付けする
関係者といっしょにやろう
!
チームのベロシティに基づき
どのストーリーがどこの
イテレーションになるかは自動的
に決まる
※チームのベロシティは倒したポイントの
実績値で決まる。初期ベロシティは設定から
変更できる。これまでいっしょにやってきた
チームなら過去のプロジェクトのベロシティ
を一旦参考にしても良し。
Copyright (c) 2014 Guild Works Inc.
⑥プロジェクト開始!
イテレーションの計画ミーティングとイテレーションレビュー
のタイミングを決めておこう。
!
 計画ミーティング    … そのイテレーションでどのストーリーを対象に
              するか決める
              必要に応じて作れるようにするために、
              更にストーリーを詳しく理解する
 イテレーションレビュー … 開発したストーリーを動くモノにて関係者で
              確認する
!
例えば毎週金曜日はイテレーションレビューを実施してから
次のイテレーションの計画ミーティングも行なう、といったよ
うに。
Copyright (c) 2014 Guild Works Inc.
⑦着手するストーリーを決めて開発を始める。
担当するストーリーの
Startボタンを押すと
Finishに変わる。
!
開発を終えたときにFinish
を押そう。ボタンはDeliver
になる
!
デモ環境に対象ストーリーを
上げたらDeliverボタンを
押す。AcceptとRejectの
ボタンが表示される
Copyright (c) 2014 Guild Works Inc.
⑧イテレーションレビューで完成を判断する
イテレーションレビューで関係者に対象ストーリーを
デモ環境で動かしながら確認してもらおう
完成しているならばAccept、まだ完成の条件を達成
していないならばReject。Rejectはストーリーとして
残り続ける。
!
計画ミーティングで次の開発対象を確認しよう。
ストーリーが積み残っていくと、すべてのストーリーが
完成する着地点が変わっていくことになる
※Pivotalのバーンダウンチャートで適宜確認し、必要な手を打つ
!
このサイクルを繰り返していく!
Copyright (c) 2014 Guild Works Inc.
最後にまとめておこう
ユーザーストーリーとは、
・やりたいことをまとめる手段であり、
 計画を立てるための材料であり、
 実績を測るための対象である。
・ユーザーストーリーとは
 「プロジェクトの中心にあって(無くてはならない)
  開発を駆動する手段であり(すべてストーリーから始まる)
  目標になる存在である(ストーリーが完了しないと終わらない)」
すべてはストーリーから始まる!

Contenu connexe

Tendances

ストーリーポイントをつけれるようになるために必要な3つのこと
ストーリーポイントをつけれるようになるために必要な3つのことストーリーポイントをつけれるようになるために必要な3つのこと
ストーリーポイントをつけれるようになるために必要な3つのこと
Katsunobu Harada
 
『ユーザーストーリーマッピング ~前編~』第2回 POStudy 〜プロダクトオーナーシップ勉強会〜
『ユーザーストーリーマッピング ~前編~』第2回 POStudy 〜プロダクトオーナーシップ勉強会〜『ユーザーストーリーマッピング ~前編~』第2回 POStudy 〜プロダクトオーナーシップ勉強会〜
『ユーザーストーリーマッピング ~前編~』第2回 POStudy 〜プロダクトオーナーシップ勉強会〜
満徳 関
 

Tendances (20)

クライアントの要望にこたえるWebサービス開発 ~「らせん型ワークフロー」のススメ~
クライアントの要望にこたえるWebサービス開発 ~「らせん型ワークフロー」のススメ~クライアントの要望にこたえるWebサービス開発 ~「らせん型ワークフロー」のススメ~
クライアントの要望にこたえるWebサービス開発 ~「らせん型ワークフロー」のススメ~
 
拝啓、プロダクトオーナー様。
拝啓、プロダクトオーナー様。拝啓、プロダクトオーナー様。
拝啓、プロダクトオーナー様。
 
止めるサービス開発、止めないサービス開発
止めるサービス開発、止めないサービス開発止めるサービス開発、止めないサービス開発
止めるサービス開発、止めないサービス開発
 
あの日見たサービスの名前を僕達はまだ知らない
あの日見たサービスの名前を僕達はまだ知らないあの日見たサービスの名前を僕達はまだ知らない
あの日見たサービスの名前を僕達はまだ知らない
 
プロダクトオーナーが知るべき97のこと
プロダクトオーナーが知るべき97のことプロダクトオーナーが知るべき97のこと
プロダクトオーナーが知るべき97のこと
 
4つの戦犯から考えるサービスづくりの失敗
4つの戦犯から考えるサービスづくりの失敗4つの戦犯から考えるサービスづくりの失敗
4つの戦犯から考えるサービスづくりの失敗
 
そのコマは回り続けるかそれとも倒れるか
そのコマは回り続けるかそれとも倒れるかそのコマは回り続けるかそれとも倒れるか
そのコマは回り続けるかそれとも倒れるか
 
チーム仕事のはじめ方 〜「チームビルド」から「チームマージ」へ
チーム仕事のはじめ方 〜「チームビルド」から「チームマージ」へチーム仕事のはじめ方 〜「チームビルド」から「チームマージ」へ
チーム仕事のはじめ方 〜「チームビルド」から「チームマージ」へ
 
鉄壁の中のアジャイル
鉄壁の中のアジャイル鉄壁の中のアジャイル
鉄壁の中のアジャイル
 
ストーリーポイントをつけれるようになるために必要な3つのこと
ストーリーポイントをつけれるようになるために必要な3つのことストーリーポイントをつけれるようになるために必要な3つのこと
ストーリーポイントをつけれるようになるために必要な3つのこと
 
『ユーザーストーリーマッピング ~前編~』第2回 POStudy 〜プロダクトオーナーシップ勉強会〜
『ユーザーストーリーマッピング ~前編~』第2回 POStudy 〜プロダクトオーナーシップ勉強会〜『ユーザーストーリーマッピング ~前編~』第2回 POStudy 〜プロダクトオーナーシップ勉強会〜
『ユーザーストーリーマッピング ~前編~』第2回 POStudy 〜プロダクトオーナーシップ勉強会〜
 
正しくないものをつくらない。7つの失敗パターン
正しくないものをつくらない。7つの失敗パターン正しくないものをつくらない。7つの失敗パターン
正しくないものをつくらない。7つの失敗パターン
 
アジャイル開発はWhyから始まる
アジャイル開発はWhyから始まるアジャイル開発はWhyから始まる
アジャイル開発はWhyから始まる
 
われわれはなぜアジャイルに向かうのか
われわれはなぜアジャイルに向かうのかわれわれはなぜアジャイルに向かうのか
われわれはなぜアジャイルに向かうのか
 
AppStoreとGooglePlayの両プラットフォームに選ばれるUI/UX最適化
AppStoreとGooglePlayの両プラットフォームに選ばれるUI/UX最適化AppStoreとGooglePlayの両プラットフォームに選ばれるUI/UX最適化
AppStoreとGooglePlayの両プラットフォームに選ばれるUI/UX最適化
 
時を超えた越境への道
時を超えた越境への道時を超えた越境への道
時を超えた越境への道
 
UI設計の土台になる考え方-インテリジェントネット社内勉強会
UI設計の土台になる考え方-インテリジェントネット社内勉強会UI設計の土台になる考え方-インテリジェントネット社内勉強会
UI設計の土台になる考え方-インテリジェントネット社内勉強会
 
受託の会社が調達せずに自社サービスを立ち上げ事業として成立するまでの企画・開発・サポート・マーケティング
受託の会社が調達せずに自社サービスを立ち上げ事業として成立するまでの企画・開発・サポート・マーケティング受託の会社が調達せずに自社サービスを立ち上げ事業として成立するまでの企画・開発・サポート・マーケティング
受託の会社が調達せずに自社サービスを立ち上げ事業として成立するまでの企画・開発・サポート・マーケティング
 
デザイン負債の返し方 〜ネイルブックの場合〜
デザイン負債の返し方 〜ネイルブックの場合〜デザイン負債の返し方 〜ネイルブックの場合〜
デザイン負債の返し方 〜ネイルブックの場合〜
 
マンガ駆動開発のすゝめ
マンガ駆動開発のすゝめマンガ駆動開発のすゝめ
マンガ駆動開発のすゝめ
 

Similaire à ユーザーストーリー駆動開発で行こう。

Schoo講演資料130409
Schoo講演資料130409Schoo講演資料130409
Schoo講演資料130409
schoowebcampus
 
Schoo講演資料130409
Schoo講演資料130409Schoo講演資料130409
Schoo講演資料130409
schoowebcampus
 
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていることYahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Yahoo!デベロッパーネットワーク
 

Similaire à ユーザーストーリー駆動開発で行こう。 (20)

Trust Based Development
Trust Based DevelopmentTrust Based Development
Trust Based Development
 
Schoo講演資料130409
Schoo講演資料130409Schoo講演資料130409
Schoo講演資料130409
 
Schoo講演資料130409
Schoo講演資料130409Schoo講演資料130409
Schoo講演資料130409
 
20140913 ディレクション講演資料(山盛り)
20140913 ディレクション講演資料(山盛り)20140913 ディレクション講演資料(山盛り)
20140913 ディレクション講演資料(山盛り)
 
正しいものを正しくつくる
正しいものを正しくつくる正しいものを正しくつくる
正しいものを正しくつくる
 
ux_team_of_one
ux_team_of_oneux_team_of_one
ux_team_of_one
 
Schoo講演資料130409
Schoo講演資料130409Schoo講演資料130409
Schoo講演資料130409
 
もし友、学ぶ会 120324
もし友、学ぶ会 120324もし友、学ぶ会 120324
もし友、学ぶ会 120324
 
20141025 itmediapart1
20141025 itmediapart120141025 itmediapart1
20141025 itmediapart1
 
DRRWG #1リードトーク ユーザーインタビューとは何をするのか 何がわかる、わからないのか
DRRWG #1リードトーク ユーザーインタビューとは何をするのか何がわかる、わからないのか DRRWG #1リードトーク ユーザーインタビューとは何をするのか何がわかる、わからないのか
DRRWG #1リードトーク ユーザーインタビューとは何をするのか 何がわかる、わからないのか
 
[Devsumi2017]オルタナティブなチーム開発のすゝめ
[Devsumi2017]オルタナティブなチーム開発のすゝめ[Devsumi2017]オルタナティブなチーム開発のすゝめ
[Devsumi2017]オルタナティブなチーム開発のすゝめ
 
ホームページを制作する前に知っておきたい13のこと
ホームページを制作する前に知っておきたい13のことホームページを制作する前に知っておきたい13のこと
ホームページを制作する前に知っておきたい13のこと
 
自分のハンドルは自分で握れ
自分のハンドルは自分で握れ自分のハンドルは自分で握れ
自分のハンドルは自分で握れ
 
0から始めるUXデザイン(UXデザインを知る)
0から始めるUXデザイン(UXデザインを知る)0から始めるUXデザイン(UXデザインを知る)
0から始めるUXデザイン(UXデザインを知る)
 
オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3
オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3
オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3
 
エンジニア vs ディレクターの戦いに終止符を!日々を穏やかに過ごすコツ教えます
エンジニア vs ディレクターの戦いに終止符を!日々を穏やかに過ごすコツ教えますエンジニア vs ディレクターの戦いに終止符を!日々を穏やかに過ごすコツ教えます
エンジニア vs ディレクターの戦いに終止符を!日々を穏やかに過ごすコツ教えます
 
Boketeのグロースハック~referralはギョウザである編~
Boketeのグロースハック~referralはギョウザである編~Boketeのグロースハック~referralはギョウザである編~
Boketeのグロースハック~referralはギョウザである編~
 
あるだけのブログから 「ビジネスに貢献するブログ」へ
あるだけのブログから 「ビジネスに貢献するブログ」へあるだけのブログから 「ビジネスに貢献するブログ」へ
あるだけのブログから 「ビジネスに貢献するブログ」へ
 
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていることYahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
Yahoo!ブラウザーアプリのプロダクトマネージャーが考えていること
 
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
 

Plus de GuildWorks

拝啓、プロダクトオーナー様。
拝啓、プロダクトオーナー様。拝啓、プロダクトオーナー様。
拝啓、プロダクトオーナー様。
GuildWorks
 
越境する開発 -Seek Right Things-
越境する開発 -Seek Right Things-越境する開発 -Seek Right Things-
越境する開発 -Seek Right Things-
GuildWorks
 
アジャイルな現場になっていく時の越えなければいけない3つの壁_Agilejapan2015
アジャイルな現場になっていく時の越えなければいけない3つの壁_Agilejapan2015アジャイルな現場になっていく時の越えなければいけない3つの壁_Agilejapan2015
アジャイルな現場になっていく時の越えなければいけない3つの壁_Agilejapan2015
GuildWorks
 

Plus de GuildWorks (15)

価値探索につながる現場コーチの価値
価値探索につながる現場コーチの価値価値探索につながる現場コーチの価値
価値探索につながる現場コーチの価値
 
プロジェクト管理ツールを使いこなせるようになった現場の話
プロジェクト管理ツールを使いこなせるようになった現場の話プロジェクト管理ツールを使いこなせるようになった現場の話
プロジェクト管理ツールを使いこなせるようになった現場の話
 
老舗大企業からスタートアップへの挑戦
老舗大企業からスタートアップへの挑戦老舗大企業からスタートアップへの挑戦
老舗大企業からスタートアップへの挑戦
 
技術者の働き方/ リモートワークという働き方 powered byドメイン駆動設計
技術者の働き方/ リモートワークという働き方 powered byドメイン駆動設計技術者の働き方/ リモートワークという働き方 powered byドメイン駆動設計
技術者の働き方/ リモートワークという働き方 powered byドメイン駆動設計
 
現場コーチから見えてきた越境する現場の3つの特徴
現場コーチから見えてきた越境する現場の3つの特徴現場コーチから見えてきた越境する現場の3つの特徴
現場コーチから見えてきた越境する現場の3つの特徴
 
『企業とカイワする』というエンジニアの選択肢 〜自社サービス「カイワジョブ」立ち上げ舞台裏〜 #guildconf
『企業とカイワする』というエンジニアの選択肢 〜自社サービス「カイワジョブ」立ち上げ舞台裏〜 #guildconf『企業とカイワする』というエンジニアの選択肢 〜自社サービス「カイワジョブ」立ち上げ舞台裏〜 #guildconf
『企業とカイワする』というエンジニアの選択肢 〜自社サービス「カイワジョブ」立ち上げ舞台裏〜 #guildconf
 
ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略
 
ギルドワークスの現場コーチ
ギルドワークスの現場コーチギルドワークスの現場コーチ
ギルドワークスの現場コーチ
 
拝啓、プロダクトオーナー様。
拝啓、プロダクトオーナー様。拝啓、プロダクトオーナー様。
拝啓、プロダクトオーナー様。
 
越境する開発 -Seek Right Things-
越境する開発 -Seek Right Things-越境する開発 -Seek Right Things-
越境する開発 -Seek Right Things-
 
アジャイルな現場になっていく時の越えなければいけない3つの壁_Agilejapan2015
アジャイルな現場になっていく時の越えなければいけない3つの壁_Agilejapan2015アジャイルな現場になっていく時の越えなければいけない3つの壁_Agilejapan2015
アジャイルな現場になっていく時の越えなければいけない3つの壁_Agilejapan2015
 
プロジェクトを成功させるための期待マネジメント
プロジェクトを成功させるための期待マネジメントプロジェクトを成功させるための期待マネジメント
プロジェクトを成功させるための期待マネジメント
 
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス
 
様々な視点で自分を観てみる・自分戦略を建てていく
様々な視点で自分を観てみる・自分戦略を建てていく様々な視点で自分を観てみる・自分戦略を建てていく
様々な視点で自分を観てみる・自分戦略を建てていく
 
転職することで築いてきたキャリアとその自分戦略
転職することで築いてきたキャリアとその自分戦略転職することで築いてきたキャリアとその自分戦略
転職することで築いてきたキャリアとその自分戦略
 

ユーザーストーリー駆動開発で行こう。

  • 1. Toshihiro Ichitani All Rights Reserved. ユーザーストーリー 駆動開発で行こう。 Ichitani Toshihiro 市谷聡啓 開発を始める前にみんなで理解しておきたい ユーザーストーリーを用いた開発のお作法
  • 2. Toshihiro Ichitani All Rights Reserved. http://about.me/papanda0806 Ichitani Toshihiro 市谷聡啓 @papanda
  • 3. Toshihiro Ichitani All Rights Reserved. 受託→SIer→サービス→受託→旗揚 関西で組み込み製品のプログラマー→ プロダクトオーナー(企画者)支援 アジャイル開発プロジェクトマネージャ アジャイル開発コンサルタント ここまでのあらすじ 「リーン開発の現場」
  • 4. Copyright (c) 2014 Guild Works Inc. ユーザーストーリーという言葉は よく聞くか、たまには聞くかと思いますが どうですか?
  • 5. Copyright (c) 2014 Guild Works Inc. ユーザーストーリーという言葉は よく聞くか、たまには聞くかと思いますが どうですか? 「実際にユーザーストーリーでは開発したことない」 「開発してたけど上手くいかなかった…」 「何が良いのか分からない…」
  • 6. Copyright (c) 2014 Guild Works Inc. ユーザーストーリーという言葉は よく聞くか、たまには聞くかと思いますが どうですか? 「実際にユーザーストーリーでは開発したことない」 「開発してたけど上手くいかなかった…」 「何が良いのか分からない…」 気持ちは分かります! この時間では、ユーザーストーリーを使った 開発の進め方について紹介したいと思います。
  • 7. Copyright (c) 2014 Guild Works Inc. そもそも何が課題なの? ユーザーストーリーを使う!ってことから事を 始めだすとあまり良い結果は期待できかもですね。 ソリューションありきではなくて、何が課題で 適用するのかから考えましょう。 扱う課題は 「何をつくるべきかをどのようにして、関係者の  間で伝え合えば良いか?」ということです。 作ってみて「コレジャナイ」なんてことになった のは、一度や二度ではないでしょう。
  • 8. Copyright (c) 2014 Guild Works Inc. そもそも何が課題なの? どうやって解決していますか? 扱う課題は 「何をつくるべきかをどのようにして、関係者の  間で伝え合えば良いか?」ということです。
  • 9. Copyright (c) 2014 Guild Works Inc. そもそも何が課題なの? どうやって解決していますか? 扱う課題は 「何をつくるべきかをどのようにして、関係者の  間で伝え合えば良いか?」ということです。 ドキュメントをゴリゴリと書いて、 書いたらチームにレビューしてもらって… 関係者に確認してもらって… そうですね、だいたいそうしてきてますよね。
  • 10. Copyright (c) 2014 Guild Works Inc. そもそも何が課題なの? どうやって解決していますか? 扱う課題は 「何をつくるべきかをどのようにして、関係者の  間で伝え合えば良いか?」ということです。 ドキュメントをゴリゴリと書いて、 書いたらチームにレビューしてもらって… 関係者に確認してもらって… そうですね、だいたいそうしてきてますよね。 でも、ちょっと大変ですよね。
  • 11. Copyright (c) 2014 Guild Works Inc. 動くモノを作ってしまって 関係者に確認してもらえれば 良いんじゃないの。
  • 12. Copyright (c) 2014 Guild Works Inc. 良いね!それが出来たらベストだね! ただ、その作戦で行く場合気をつけて欲しいことが あるんだ… 動くモノを作ってしまって 関係者に確認してもらえれば 良いんじゃないの。
  • 13. Copyright (c) 2014 Guild Works Inc. 良いね!それが出来たらベストだね! ただ、その作戦で行く場合気をつけて欲しいことが あるんだ… 動くモノを作ってしまって 関係者に確認してもらえれば 良いんじゃないの。 ワークに必要なコスト + 結果認識違いを訂正するコスト 取れる作戦の間でこのコストの比較を 見立ておこう。
  • 14. Copyright (c) 2014 Guild Works Inc. 動くモノを 作るコスト 認識違いを 訂正するコスト ドキュメントを 書くコスト 認識違いを 訂正するコスト + +? チームとクライアントの状況と作るプロダクトの内容から どちらの作戦が有利かトータルのコストで判断する
  • 15. Copyright (c) 2014 Guild Works Inc. 動くモノを 作るコスト 認識違いを 訂正するコスト ドキュメントを 書くコスト 認識違いを 訂正するコスト + + ? さらに、ここに動くモノならではの「発見の可能性」と ドキュメントならではの「見落としの可能性」を加味する ➖ 早期に要求を発見 出来る嬉しさ 要求を見落した ことによる手戻り +
  • 16. Copyright (c) 2014 Guild Works Inc. 動くモノを 作るコスト 認識違いを 訂正するコスト ドキュメントを 書くコスト 認識違いを 訂正するコスト + + < チーム、クライアント、作るプロダクトを踏まえて、 動くモノでの検証の方が有利ならば動くモノ作戦は有効だ! ➖ 早期に要求を発見 出来る嬉しさ + 要求を見落した ことによる手戻り +
  • 17. Copyright (c) 2014 Guild Works Inc. 動くモノを 作るコスト 認識違いを 訂正するコスト ドキュメントを 書くコスト 認識違いを 訂正するコスト + + < 動くモノを作るのに相当なコストを要のであれば、または 要求を「発見できる可能性が低い」ならば常に動くモノ作戦が コスト的に有利なわけではない。 ➖ 早期に要求を発見 出来る嬉しさ 要求を見落した ことによる手戻り +
  • 18. Copyright (c) 2014 Guild Works Inc. クライアントの状況によっては、 「認識違いを訂正するコストが大きくなる可能性」 もあるんだ。作るモノへのイメージがクライアント の中にだけある場合とかね。 そうなると、本当に動くモノベースでいきなり検証 するのが効率的なのかってなる。 じゃあ、やっぱりドキュメント?まずは ドキュメントの場合何が大変なのか整理してみよう。 動くモノを作ってしまって 関係者に確認してもらえれば 良いんじゃないの。
  • 19. Copyright (c) 2014 Guild Works Inc. ドキュメントによる要件定義の課題 大量の文章や図表を書くコストがとてもかかる。 更新するのにコストがとてもかかる。 ※仮説検証的に進めるプロジェクトだと変更が多すぎて手に負えない。 文章ですべてを表現することはできない。 ※それはもうコードだ。 書いている方は漸次的だが読む方のバッチサイズ は大きくなりがちで全体像を理解し難くなる 読み手の読解力に依存するため、憶測や誤解が 生じやすい。会話で文脈の補完が必要になる。 全体を理解しづらいので計画を立てるのも難しい。 そして、誰も見なくなる。
  • 20. Copyright (c) 2014 Guild Works Inc. 大変すぎる!
  • 21. Copyright (c) 2014 Guild Works Inc. 大変すぎる! そこで、ユーザーストーリーですよ。
  • 22. Copyright (c) 2014 Guild Works Inc. 大変すぎる! そこで、ユーザーストーリーですよ。 というと、万能的に聞こえちゃうから、急いで 補完するとドキュメントを書かなくて良いという わけではないのだよ。 ユーザーストーリーはユーザーがやりたいことを 簡潔にまとめつつ、詳細を補完するためにその後 の会話を約束するための道具なんだ。
  • 23. Copyright (c) 2014 Guild Works Inc. ユーザーストーリーはドキュメント なのか? 分かりやすいので、つい要件定義書と比較して しまいがちなのだけど、ユーザーストーリーは ドキュメントと思わない方が良い。 要求をまとめるやり方の選択肢が1つ増えたと 捉えた方が良いんじゃないかな。 作って欲しい人と 隣同士で逐次会話 しながら作る ドキュメントで つくりたいものを 定義してから作る ユーザー ストーリーで 駆動する開発 どのやり方が絶対的にダメって話じゃない。状況に応じて使い分けよう。
  • 24. Copyright (c) 2014 Guild Works Inc. では、ユーザーストーリーとは どういうものなのか、具体的に みていくことにしよう。
  • 25. Copyright (c) 2014 Guild Works Inc. どう書くの? 三段構成 <ユーザー/顧客> として <XXXを達成> をしたい なぜなら <理由> だからだ <Who>として <What>をしたい なぜなら <Why>だから 別の表現としては ユーザーストーリーとは? <30代の求職者>として <年収で仕事を探>したい なぜなら<仕事選びで年収の優先度が 高い>だから たとえば とも言える。 という感じで書く。
  • 26. Copyright (c) 2014 Guild Works Inc. ユーザーストーリーには Howを書かないんだね。
  • 27. Copyright (c) 2014 Guild Works Inc. ユーザーストーリーには Howを書かないんだね。 そうだね。 ユーザー(Who)の望みは、理由(Why)から出てきて いるんだ。Whyを実現する手段(How)はむしろ、 開発チームが腕を振るうところだ。 例えばさっきの例「年収で仕事を検索したい」 そのために検索エンジンを使うのか、SQLで直接 頑張るのか、どんな手段を取るかは求職者にとっては 関係ないよね。もちろん手段選択による実害があったら困るよ。
  • 28. Copyright (c) 2014 Guild Works Inc. ユーザーストーリーとは? 対象者にとって、理解できる・評価できる内容に なっていること!=対象者にとって価値がある …それって機能のこと?
  • 29. Copyright (c) 2014 Guild Works Inc. ユーザーストーリーとは? 対象者にとって、理解できる・評価できる内容に なっていること!=対象者にとって価値がある …それって機能のこと? ユーザーストーリーは機能ではない。 対象者にとっての価値をあらわすものなんだ。 その価値をもたらすための手段が機能になる。 機能に始まり、機能で終わると、目的を見失う可能性 が高くなる。機能をただつくることが目的ではないよ。 目的は対象者に価値をもたらすこと。利用者に価値を 届けるソフトウェアを作ることが僕達の仕事だ。
  • 30. Copyright (c) 2014 Guild Works Inc. ユーザーにとって理解できること… それって、どんな文章なの?
  • 31. Copyright (c) 2014 Guild Works Inc. ユーザーにとって理解できること… それって、どんな文章なの? ユーザーが理解できる言葉を用いる必要があるね。 ただ、あいまいな文章にしてもダメだ。どうなれば そのストーリーが出来たと言えるのか判断できない からね。
  • 32. Copyright (c) 2014 Guild Works Inc. ユーザーにとって理解できること… それって、どんな文章なの? ユーザーが理解できる言葉を用いる必要があるね。 ただ、あいまいな文章にしてもダメだ。どうなれば そのストーリーが出来たと言えるのか判断できない からね。 「完成の条件」が言えないとダメだ。 「何が出来ないければいけないのか」の定義だね。 これがはっきりしないようなら、ストーリーとして まだ、練り込みが甘いってことだ。
  • 33. Copyright (c) 2014 Guild Works Inc. ねえ、ストーリーを書きだしていると 30も40にもなって、何が何だか わからなくなってきたよ!
  • 34. Copyright (c) 2014 Guild Works Inc. ねえ、ストーリーを書きだしていると 30も40にもなって、何が何だか わからなくなってきたよ! ユーザーのやりたいこと構造的に捉えるために、 エピックとストーリーを使い分けよう。
  • 35. Copyright (c) 2014 Guild Works Inc. ねえ、ストーリーを書きだしていると 30も40にもなって、何が何だか わからなくなってきたよ! ユーザーのやりたいこと構造的に捉えるために、 エピックとストーリーを使い分けよう。 特に、開発の初期段階ではやりたいことがまだ もやっとしていることがよくある。最初から答えが分 かっているなんてことはあまりない。 エピックというのはやりたいことを大きな粒度で 捉えるためのものだ。
  • 36. Copyright (c) 2014 Guild Works Inc. エピックとストーリーの例 <30代の求職者>として <求人を検索>したい なぜなら<自分にあった求人に応募し たい>だから <30代の求職者>として <採用企業に問い合わせ>したい なぜなら<求人内容についてより深く 聞きたい>だから <30代の求職者>として <求人に応募>したい なぜなら<選考をすすめたい>だから ユーザーは求人に応募 することができる エピック ストーリー やりたいことは初めはエピックレベルかもしれない だから関係者と会話して詳しくしていくんだ。
  • 37. Copyright (c) 2014 Guild Works Inc. よし、いっぱいストーリーが書けた。 さあ、つくるぞー!
  • 38. Copyright (c) 2014 Guild Works Inc. よし、いっぱいストーリーが書けた。 さあ、つくるぞー! ちょっとまった。最初に言ったことを思い出そう。 ユーザーストーリーはユーザーがやりたいことを 簡潔にまとめつつ、詳細を補完するためにその後の 会話を約束するための道具なんだ。
  • 39. Copyright (c) 2014 Guild Works Inc. よし、いっぱいストーリーが書けた。 さあ、つくるぞー! ちょっとまった。最初に言ったことを思い出そう。 ユーザーストーリーはユーザーがやりたいことを 簡潔にまとめつつ、詳細を補完するためにその後の 会話を約束するための道具なんだ。 関係者との会話は十分にできているかな? ストーリーだけ書いて作れるほど、おそらく甘く はないよ。
  • 40. Copyright (c) 2014 Guild Works Inc. でも、ユーザーストーリーを書けば 他のドキュメントはいらないんでしょ
  • 41. Copyright (c) 2014 Guild Works Inc. でも、ユーザーストーリーを書けば 他のドキュメントはいらないんでしょ 例えば、何らかのビジネス・ルールがあるとして 抜け漏れがないかどうやって、確認する? UIのイメージは関係者とあっている?イメージを すりあわせるためにラフなスケッチくらいは 書かないといけないんじゃない? 目的に応じて、その手段を検討するべきだ。
  • 42. Copyright (c) 2014 Guild Works Inc. わかった。では、ストーリーとしては どういうのがよく書けていると言えるの?
  • 43. Copyright (c) 2014 Guild Works Inc. 完成の条件が言えるストーリーというのが良い ストーリーの条件と言えるね。 他にもいくつか特徴があるんだ。次の6つだ。 I ‒ Independent (独立して優先順位がつけられる) N ‒ Negotiable (何をつくるかの案が調整可能である) V ‒ Valuable (価値のある) E ‒ Estimable (見積り可能である) S ‒ Small (チームで扱いやすい手頃なサイズである) T ‒ Testable (テストできる) 頭文字をとってINVESTと呼ぶよ。 わかった。では、ストーリーとしては どういうのがよく書けていると言えるの?
  • 44. Copyright (c) 2014 Guild Works Inc. 独立して優先順位がつけられる I ‒ Independent (独立して優先順位がつけられる) N ‒ Negotiable (何をつくるかの案が調整可能である) V ‒ Valuable (価値のある) E ‒ Estimable (見積り可能である) S ‒ Small (チームで扱いやすい手頃なサイズである) T ‒ Testable (テストできる) ストーリーの間で強い依存関係があると スコープが調整しづらくなるし、完成の状態が あいまいになってしまうね。このストーリーは 完成しているように実はあっちのストーリーが 終わらないと終わりにはならない…とかね。
  • 45. Copyright (c) 2014 Guild Works Inc. 何をつくるかの案が調整可能である I ‒ Independent (独立して優先順位がつけられる) N ‒ Negotiable (何をつくるかの案が調整可能である) V ‒ Valuable (価値のある) E ‒ Estimable (見積り可能である) S ‒ Small (チームで扱いやすい手頃なサイズである) T ‒ Testable (テストできる) やりたいことを実現する手段(How)が調整可能 でなければ、相当しっかりと計画を組み立てる ことが求められているのと同じことになる。 最初に言ったとおり、Whyを実現するための 一番良いところのHowはチームから提示しよう
  • 46. Copyright (c) 2014 Guild Works Inc. 価値のある I ‒ Independent (独立して優先順位がつけられる) N ‒ Negotiable (何をつくるかの案が調整可能である) V ‒ Valuable (価値のある) E ‒ Estimable (見積り可能である) S ‒ Small (チームで扱いやすい手頃なサイズである) T ‒ Testable (テストできる) これはもう説明がいらないかな。僕達の目的はユー ザーに価値をもたらすソフトウェアを作ることだ。 一つ一つのストーリーがユーザーにとって価値を もたらすものになっていなければそれを積み重ね ても目的にはたどり着けない。おそらく関係者が 理解できる内容にもなっていないだろう。
  • 47. Copyright (c) 2014 Guild Works Inc. 見積可能である I ‒ Independent (独立して優先順位がつけられる) N ‒ Negotiable (何をつくるかの案が調整可能である) V ‒ Valuable (価値のある) E ‒ Estimable (見積り可能である) S ‒ Small (チームで扱いやすい手頃なサイズである) T ‒ Testable (テストできる) 見積ができるということは、やりたいことへの 実現手段がはっきりとしているということだ。 逆にまだ見積ができないなら、関係者との会話が 不足していそうだ。
  • 48. Copyright (c) 2014 Guild Works Inc. チームで扱いやすい手頃なサイズである I ‒ Independent (独立して優先順位がつけられる) N ‒ Negotiable (何をつくるかの案が調整可能である) V ‒ Valuable (価値のある) E ‒ Estimable (見積り可能である) S ‒ Small (チームで扱いやすい手頃なサイズである) T ‒ Testable (テストできる) ストーリーを小さくできると、見積がしやすくな る。何日もかかるような壮大なストーリーは見積 もったところで凄くブレが生まれる可能性が高い よね。それに小さくないと1回のイテレーション の中で終わらなくなっちゃうからね。
  • 49. Copyright (c) 2014 Guild Works Inc. テストできる I ‒ Independent (独立して優先順位がつけられる) N ‒ Negotiable (何をつくるかの案が調整可能である) V ‒ Valuable (価値のある) E ‒ Estimable (見積り可能である) S ‒ Small (チームで扱いやすい手頃なサイズである) T ‒ Testable (テストできる) テストができるようになっているということは、 ソフトウェアがどう動けば良いか分かっている ということだ。つまり、完成の条件が明確に なっているということだね。
  • 50. Copyright (c) 2014 Guild Works Inc. ストーリーはオブジェクトに似ている 高凝集 ! ! 疎結合 1つのストーリーには必ず1つの価値がある 十分に小さいこと ストーリーは可能な限り独立していること 単体で完成することができる 高凝集、疎結合でなければ、ユーザーストーリーだけでは プロダクトとプロジェクトの状況を把握するのが難しい
  • 51. Copyright (c) 2014 Guild Works Inc. 実は、ストーリーが足りてない 気がするんだ…
  • 52. Copyright (c) 2014 Guild Works Inc. ユーザーストーリーはやりたいことを簡潔に まとめるための道具だ。 ストーリーを洗い出すための手法は別 に必要だ。 いろいろなやり方があるよ。やり方は1つでは ない。いろいろと試してみよう。 実は、ストーリーが足りてない 気がするんだ…
  • 53. Copyright (c) 2014 Guild Works Inc. やりたいことを洗い出す さまざまな手段が取れるし、組み合せよう。 ・ペルソナ ・インセプションデッキ ・UIイメージのスケッチ ・ドメインモデル ・ユーザーの要望、インタビュー結果 そして、ユーザーストーリーマッピングも。
  • 54. Copyright (c) 2014 Guild Works Inc. 54 ユーザーストーリーマッピング ユーザーストーリーマッピングとは、時系列にユーザー行動を洗い出し、 行動に基づいて要求を見立てる手法。 関係者が集まり、付箋や模造紙を用いてワークショップ形式で行なう。 参加者の知見を活かして、要求を発見・洗い出す。また、優先度付けを行 うことでスコープ(範囲)を短時間で特定することもできる。 ユーザーストーリーマッピングのイメージ
  • 55. Toshihiro Ichitani All Rights Reserved. 時 系 列 定 点 感情ベース 行動ベース ユーザーのインサイトに踏み込むための道具 エクスペリエンスマップ ユーザーストーリーマッピング 共感マップ http://www.amazon.co.jp/gp/product/toc/4621088068/
  • 56. Copyright (c) 2014 Guild Works Inc. ユーザーストーリーで開発を駆動する ユーザーストーリーだと、やりたいことの全体像を 捉えやすくなる(重厚なドキュメントだとまず 読み込むだけで相当なコストがかかる)。 全体像が捉えられると、計画が立て やすくなる。 全体として何をやらなければならないかの把握が しやすくなるからね。 そして、ユーザーストーリーが中心の開発だと ユーザーストーリーの開発状況を押さえることで プロジェクト全体の状況も理解できるようになるんだ
  • 57. Copyright (c) 2014 Guild Works Inc. では、ユーザーストーリーを つかった開発の流れを具体的に 追ってみることにしよう。 ! ※この例ではPivotalTrackerを使うよ https://www.pivotaltracker.com/
  • 58. Copyright (c) 2014 Guild Works Inc. ①ユーザーストーリーを洗い出す
  • 59. Copyright (c) 2014 Guild Works Inc. ②洗い出したストーリーをPivotalに登録する ひとまずiceboxに登録する。 登録したら関係者でiceboxを 眺めて抜け漏れをチェックしよう ! ラベルをつけて管理しやすく しよう。Pivotalだとラベルを エピックにしてエピックとして ストーリーをまとめて管理する こともできる。 ! Whyまで書くと長くなるので descriptionに書くと良い
  • 60. Copyright (c) 2014 Guild Works Inc. ③ストーリーの完成の条件を定義しよう 何ができればこのストーリーは 終わるのか?条件が定義できるまで 関係者と話し合う。 内容は、descriptionに書いておく ! 開発が進む中で新たに分かった ことが出てくればdescriptionに 残していく
  • 61. Copyright (c) 2014 Guild Works Inc. ④ストーリーをチームで見積もろう 各ストーリーの規模をチームで 見積もる。POINTSに見積った ポイントを入れていく。 ※ポイントの単位は設定で変えられる ! 見積りはプランニングポーカーが わかりやすくて手軽でオススメ ※やり方は書籍「リーン開発の現場」に詳しい ! 相対的に見積もる。基準となる ストーリーを決めて、それの 何倍くらいの規模になるかを みたてる
  • 62. Copyright (c) 2014 Guild Works Inc. ⑤ストーリーの順序付けを行なう iceboxからbacklogレーンに 持って行き順序付けする 関係者といっしょにやろう ! チームのベロシティに基づき どのストーリーがどこの イテレーションになるかは自動的 に決まる ※チームのベロシティは倒したポイントの 実績値で決まる。初期ベロシティは設定から 変更できる。これまでいっしょにやってきた チームなら過去のプロジェクトのベロシティ を一旦参考にしても良し。
  • 63. Copyright (c) 2014 Guild Works Inc. ⑥プロジェクト開始! イテレーションの計画ミーティングとイテレーションレビュー のタイミングを決めておこう。 !  計画ミーティング    … そのイテレーションでどのストーリーを対象に               するか決める               必要に応じて作れるようにするために、               更にストーリーを詳しく理解する  イテレーションレビュー … 開発したストーリーを動くモノにて関係者で               確認する ! 例えば毎週金曜日はイテレーションレビューを実施してから 次のイテレーションの計画ミーティングも行なう、といったよ うに。
  • 64. Copyright (c) 2014 Guild Works Inc. ⑦着手するストーリーを決めて開発を始める。 担当するストーリーの Startボタンを押すと Finishに変わる。 ! 開発を終えたときにFinish を押そう。ボタンはDeliver になる ! デモ環境に対象ストーリーを 上げたらDeliverボタンを 押す。AcceptとRejectの ボタンが表示される
  • 65. Copyright (c) 2014 Guild Works Inc. ⑧イテレーションレビューで完成を判断する イテレーションレビューで関係者に対象ストーリーを デモ環境で動かしながら確認してもらおう 完成しているならばAccept、まだ完成の条件を達成 していないならばReject。Rejectはストーリーとして 残り続ける。 ! 計画ミーティングで次の開発対象を確認しよう。 ストーリーが積み残っていくと、すべてのストーリーが 完成する着地点が変わっていくことになる ※Pivotalのバーンダウンチャートで適宜確認し、必要な手を打つ ! このサイクルを繰り返していく!
  • 66. Copyright (c) 2014 Guild Works Inc. 最後にまとめておこう ユーザーストーリーとは、 ・やりたいことをまとめる手段であり、  計画を立てるための材料であり、  実績を測るための対象である。 ・ユーザーストーリーとは  「プロジェクトの中心にあって(無くてはならない)   開発を駆動する手段であり(すべてストーリーから始まる)   目標になる存在である(ストーリーが完了しないと終わらない)」 すべてはストーリーから始まる!