名古屋アジャイルな
見積りと計画づくり
2014/06/28(土)
名古屋アジャイル勉強会 You&I
Agile Japan 2014 サテライト<名古屋>
ジコ、ショウカイ。
H/N: You&I(読み:ユーアンドアイ)
SNS: @you_and_i
出身: 生まれも育ちも名古屋市
年齢: 30代中盤
本職: 商学部出身の職業プログラマ
言語: C++, C#他
所属: プログラミング生放送勉強...
ATTENTION
本資料は名古屋アジャイル勉強会
のブログにて公開致します。
資料の内容について全ての
メモを取る必要はありません。
ワークショップ内容に集中して
頂ければ幸いです。
3
AGENDA
1. 趣旨説明
2. 名古屋アジャイル勉強会とは
3. アジャイル開発とは
4. 構築ワークショップ
5. アジャイルな計画づくり
6. 計画ワークショップ
7. アジャイルな見積づくり
8. 見積ワークショップ
9. まとめ
4
1.趣旨説明
名古屋アジャイルな見積りと計画づくり
5
1.趣旨説明 (1/2)
今回のワークショップは
「名古屋アジャイルな見積りと計画づくり」
という事で、
書籍「アジャイルな見積りと計画づくり」を題材に
名古屋アジャイル勉強会として見積と計画に着目
してワークショップを行いたいと思います。
6
1.趣旨説明 (2/2)
計画
–アジャイル開発では、顧客のやりたい事を顧客の言葉
で表現し、ユーザーストーリーとしてまとめます。
–今回はユーザーストーリーマッピングという手法を使って、
リリース計画の立て方を体験します。
見積
–アジャ...
2.名古屋アジャイル勉強会とは
名古屋アジャイルな見積りと計画づくり
8
2.名古屋アジャイル勉強会とは
別資料で説明します
– 名古屋アジャイル勉強会 活動紹介
– http://www.slideshare.net/youandi06021
9/ss-27115677
9
3.アジャイル開発とは
名古屋アジャイルな見積りと計画づくり
10
3. アジャイル開発とは (1/11)
単語としてのアジャイル(agile)とは、「機敏な」と
か「素早い」とか「身軽」といった意味です。
アジャイル開発の根底を成すものとして、2001
年に制定されたアジャイルマニフェスト(アジャイル
ソ...
12
3. アジャイル開発とは (3/11)
アジャイルマニフェストには、以下のものが定義さ
れています。
–4つの価値
–12の原則
そしてアジャイルマニフェストに基づく様々なアジャ
イルプラクティスが存在します。
–TDD、CI、ペアプログラ...
http://blogs.itmedia.co.jp/hiranabe/2012/09/rightwing-and-leftwing-of-agile.html
14
3. アジャイル開発とは (5/11)
アジャイル開発の目的・ゴールは顧客満足を最
大化する事です。
その為に、その時点でビジネス価値を高めるのに
最適な手段・方法を選択します。
これらを実現する為に、絶え間ない改善活動を
通じて自分達の...
3. アジャイル開発とは (6/11)
現在ではアジャイル開発といえばScrumが採用
される事が多いです。
Scrumチームは10名未満で構成されます。
–製品ビジョンを司る、プロダクトオーナーが1名
–チーム活動を支援する、スクラムマス...
17
http://scrumprimer.org/jp/anime
3. アジャイル開発とは (8/11)
従来の開発のやり方では、アレも欲しい・コレも
欲しいと進める内に色々と盛り込んでしまい、この
ようになりがちですが・・・。
18
3. アジャイル開発とは (9/11)
アジャイル開発が目指している事は、開発の早い
時期から継続的にコレを作り出す為にどうする
か?です。
当然ホールケーキから切り分けてしまっては、ダメ。
ゼッタイ。
19
3. アジャイル開発とは (10/11)
開発チームはお腹を空かした顧客に素早くそして
数回に分けてショートケーキを提供します。
また提供する度に顧客からショートケーキについて
のフィードバックを得ます。
また、顧客は途中でケーキではなく...
3. アジャイル開発とは (11/11)
ホールケーキと同じ量になるだけのショートケーキ
を用意すると割高になるかも知れませんし、ショー
トケーキを組み合わせてもホールケーキにはなりま
せん。
そして、顧客が当初食べたいと思っていたホール
...
3. アジャイル開発とは:確認
ここまでの説明はご理解頂けましたでしょうか?
表明じゃんけんで理解度をお知らせ下さい
–グー
お前は何を言っているんだ?
–チョキ
大体理解した。次に進めてOK。
–パー
全て理解した。
22
4.構築ワークショップ
名古屋アジャイルな見積りと計画づくり
23
4.構築ワークショップ (1/4)
本日のワークショップはグループ単位で行います。
まずはグループ内で自己紹介を行いましょう。
1人1分位で自己紹介をお願いします。
1. お名前
2. 見積や計画をした事があるか?
3. ここ最近で、サー...
4.構築ワークショップ (2/4)
構築ワークショップと言う事で、たった今グループの
構築は出来ましたね?
続いては、プロジェクト・プロダクトの構築を行いた
いと思います。
今回は、見積や計画に着目してワークショップを
進める為に、お題に...
4.構築ワークショップ (3/4)
(提案)お題「ショーでの出し物を考えよう」
–サーカスやイルカショーを見た事がありますか?
–これらのショーでは、どの順番で芸を見せるかが重要な
要素になりますね。
但し、実際のシステム開発と異なるのは・...
4.構築ワークショップ (4/4)
それでは、各テーブルでプロダクトを決めて頂きた
いと思います。以下の事を決めて下さい。
1. プロダクト名(プロジェクト名)
2. プロダクトオーナー
進め方
–まずはこちらから提案したお題に乗るのか、そ...
5.アジャイルな計画づくり
名古屋アジャイルな見積りと計画づくり
28
5.アジャイルな計画づくり (1/11)
ここからいよいよ実践的な内容になってきます。
但し説明すべき事が沢山・・・。
アジャイル開発においては、ユーザーストーリーは
とても重要な要素で、ユーザーストーリーが起点と
なって開発に関する物事...
5.アジャイルな計画づくり (2/11)
ユーザーストーリーは、顧客の視点から顧客に価
値をもたらすサービスや商品といったプロダクトの
振る舞いを記述したものです。
通常はインデックスカード等の紙に書いて管理し
ます。
30
<役割>として...
5.アジャイルな計画づくり (3/11)
ユーザーストーリーとは、XP(eXtreme
Programming)で取り入れられたアジャイルプ
ラクティスの一つであり、同じくXPのプラクティスで
ある1週間サイクルと組み合わせて利用されます。
...
5.アジャイルな計画づくり (4/11)
XPは1999年に Kent Beck氏 の著書
「eXtreme Programming explained」 (日
本語訳:XP エクストリーム・プログラミング入門)
としてまとめられたアジャイル...
33
5.アジャイルな計画づくり (5/11)
http://www.extremeprogramming.org/map/project.html
5.アジャイルな計画づくり (6/11)
先程以下のように説明しました。
ユーザーストーリーは、顧客の視点から
プロダクトの動作を記述したものです。
XPとScrumとではユーザーストーリーを誰が書く
のかが異なりますが、それ以外の部分は同...
5.アジャイルな計画づくり (7/11)
ユーザーストーリーの記述方法について、これまた
先程以下のように説明しました。
この記述方法は、ユースケース記述の書き方と
似ています。但し、ユースケースとユーザーストー
リーはまた別な概念です。
...
5.アジャイルな計画づくり (8/11)
<役割>
– プロダクトの利用者
– 人ではなくシステムの場合もあります
<活動>
– プロダクトの動作(=フィーチャー)
<ビジネス価値>
– 顧客や利用者がどのような利益を得るのか
(例)
– <書...
5.アジャイルな計画づくり (9/11)
ユーザーストーリーは要求・要件ではない
–「えっ」と思う人もいらっしゃるかも知れません。
–ユーザーストーリーでは、プロダクトの動作については詳
細には書かれません。但しプロジェクトの進行と共に詳
細...
5.アジャイルな計画づくり (10/11)
ここまで時間をかけてユーザーストーリーについて
説明してきました。ここからはそのユーザーストー
リーを使ってどのように計画を立てるのかを説明し
ます。
今回のテーマであるユーザーストーリーマッピン...
5.アジャイルな計画づくり (11/11)
ユーザーストーリーマッピングでは、この順番で計
画づくりをしていきます
1. ワークフロー/ビジネスフロー/アクティビティフロー
 ユーザーの利用側面からの分類
2. タスク/サブタスク
 開発...
5.アジャイルな見積づくり:確認
ここまでの説明はご理解頂けましたでしょうか?
表明じゃんけんで理解度をお知らせ下さい
–グー
お前は何を言っているんだ?
–チョキ
大体理解した。次に進めてOK。
–パー
全て理解した。
40
6.計画ワークショップ
名古屋アジャイルな見積りと計画づくり
41
6.0 計画ワークショップの前に (1/9)
では早速ユーザーストーリーを書いてみましょう!
でもなんだか難しそう・・・。そもそもユーザーストー
リーはどう書けば良いの?
ちゃんと指針があります!
–3C
–フィーチャーの粒度
–ストーリ...
6.0 計画ワークショップの前に(2/9)
3C
1. Card(カード)
意図を要約する
2. Conversation(会話)
意図を実装する為の聞き取り調査
3. Confirmation(確認)
DONEの定義、受け入れテストの実施。...
フィーチャーの粒度 (1/3)
–先程から出てきているフィーチャーって何でしょう?先程
以下のように説明しました。
プロダクトの目玉・特徴点
プロダクトの動作
–皆さんが思い描くフィーチャーってどんなイメージでしょう
か?
44
6.0 ...
フィーチャーの粒度 (2/3)
–私のイメージではこんな感じです。
45
6.0 計画ワークショップの前に(4/9)
顧客のやりたい事・ビジョン
エピック
エピック
サーガ
エピック
エピック
フィーチャー
フィーチャー
フィーチャー
フィー...
6.0 計画ワークショップの前に(5/9)
フィーチャーの粒度 (3/3)
–サーガ > エピック > フィーチャー の順に作業規模は
小さくなっていきます。
–ユーザーストーリーは、最終的にはフィーチャーの粒度か、
もう1段階細かく分割され...
6.0 計画ワークショップの前に(6/9)
ストーリーへの分割 (1/3)
 アジャイル開発の項で説明したように、エピックからフィー
チャー、更にストーリーへの分割を行う場合には、End-
to-Endに垂直分割する事が望ましいです。
ht...
6.0 計画ワークショップの前に(7/9)
ストーリーへの分割 (2/3)
1. ワークフローステップ
処理の流れに沿って分割
2. ビジネスルールのバリエーション
複雑なビジネスルールを分割
3. 大半の労力
一つ目は時間が掛かるが、それ以...
6.0 計画ワークショップの前に(8/9)
ストーリーへの分割 (3/3)
6. データ入力方法
シンプルなUIから実装を始める
7. システム品質を後回しにする
性能、セキュリティ、可用性などで分割する
8. 操作(CRUD)
生成・破棄、...
6.0 計画ワークショップの前に(9/9)
INVEST
– Independent
他のストーリーからの独立性があるか
– Negotiable
ガチガチに決めすぎず、交渉の余地を残しているか
– Valuable
顧客にとって価値があるか...
6.1 アイデア出しワークショップ (1/2)
色々と紹介しましたが、まずは皆さんのプロダクト
に対するアイデア(出し物等)を出していきましょう。
最初はブレインストーミング方式で、意見の重複
など気にせず沢山書き出してみましょう。
但し...
6.1 アイデア出しワークショップ (2/2)
ショーのお題でのユーザーストーリー例
52
[調教師]として、[トラのお手
芸]を行う事ができる。
それにより[観客をビックリ]させら
れる。
[調教師]として、[トラの火の輪
くぐり]を行う事...
6.2 グルーピング&コンテキスト合わせ
続いては、出たアイデアを整理したいと思います。
話し合いながら、以下のように進めて下さい。
1. 出たアイデアを同類やカテゴリ等でひとまとめにする
2. ユーザーストーリーについて、指針に沿っている...
6.3 時間軸での並べ替え&アクティビティ名前付け (1/3)
ここまででユーザーストーリーの分類は完了しまし
たので、ここからは優先順位付けを行います。
1. 最初に分類したユーザーストーリー群(=アクティビ
ティ)に名前付けをしましょう。...
55
6.3 時間軸での並べ替え&アクティビティ名前付け (2/3)
10分間
時間:先
ユーザーストーリーの時間軸での並べ替えとカテゴリ名付け
アクティビティ
1
アクティビティ
2
アクティビティ
3
アクティビティ
4
時間:後
56
6.3 時間軸での並べ替え&アクティビティ名前付け (3/3)
時間:先
2人で
ジャンプ
人体
切断
ジャグリ
ング
1人で
ジャンプ
火の輪 ステッキ
人体
浮遊
大玉
乗り
綱渡り
お手
ジャンプ
消失
パント
マイム
バランス
シ...
6.4 アクティビティ内での順序付け (1/2)
アクティビティに属するユーザーストーリーについて、
重要度や作業順などで順位付けしましょう。
575分間
時間:先 時間:後
アクティビティ
1
アクティビティ
2
アクティビティ
3
順序:...
58
6.4 アクティビティ内での順序付け (2/2)
時間:先
2人で
ジャンプ
人体
切断
ジャグリ
ング
1人で
ジャンプ
火の輪 ステッキ
人体
浮遊
大玉
乗り
綱渡り
お手
ジャンプ
消失
パント
マイム
バランス
ショーのお題での...
6.5 リリースプランニング (1/3)
いよいよ計画づくりも大詰めになってきました。
リリースプランニングでは、最初に初回リリースの内容
を決めます。そして2回目のリリース内容を決めて・・・
という流れです。
– マスキングテープで各リリ...
6.5 リリースプランニング (2/3)
–各リリースに含めるユーザーストーリーを決めましょう。
60
時間:先 時間:後
アクティビティ
1
アクティビティ
2
アクティビティ
3
順序:先
順序:後
10分間
初回
リリース
2回目
リリー...
61
6.5 リリースプランニング (3/3)
時間:先
2人で
ジャンプ
人体
切断
ジャグリ
ング
1人で
ジャンプ
火の輪 ステッキ
人体
浮遊
大玉
乗り
綱渡り
お手
ジャンプ
消失
パント
マイム
バランス
ショーのお題での例:リリ...
7.アジャイルな見積づくり
名古屋アジャイルな見積りと計画づくり
62
7.アジャイルな見積づくり (1/6)
ここまでユーザーストーリーについて説明してきまし
たが、ここからはユーザーストーリーの作業量につ
いて説明していきたいと思います。
ユーザーストーリーの作業量の大きさの事を、ス
トーリーポイントと呼び...
アジャイル開発において、見積を行う際の基準と
なるのがベロシティです。
ベロシティはタイムボックス毎に変化する指標とな
ります。
開発の初期ではタイムボックス毎のベロシティの変
化が大きくなりますが、開発が進むにつれて安定
した値となりま...
ベロシティは、作業内容に依存しないチームの生
産性を示す指標となります。
アジャイル開発ではチームメンバーは固定化する
事が推奨されていますので、作業内容は変わっ
たとしても、チームメンバーが同じであればベロシ
ティは同じです。
逆にメン...
ユーザーストーリーの見積は・・・、
1. プロダクトオーナーと開発チームメンバーで行います。
 プロダクトについての知識のある人・ない人を含めて行い、
属人性を排除した見積を行います。
2. ユーザーストーリーの見積は相対的な指標を用いて
...
プランニングポーカー
http://softwareengineeringplatform.com/articles/planning-poker/
67
7.アジャイルな見積づくり (5/6)
7.アジャイルな見積づくり (6/6)
プランニングポーカーの数値は、フィボナッチ数列
(1・2・3・5・8・13・20・40・・・)になっています。
この数値がそのままストーリーポイントになります。
–2ptに対して5ptの作業は2.5倍...
7.アジャイルな見積づくり:確認
ここまでの説明はご理解頂けましたでしょうか?
表明じゃんけんで理解度をお知らせ下さい
–グー
お前は何を言っているんだ?
–チョキ
大体理解した。次に進めてOK。
–パー
全て理解した。
69
8.見積ワークショップ
名古屋アジャイルな見積りと計画づくり
70
8.見積ワークショップ (1/4)
プランニングポーカーは色分けされているので、一
人一色ずつ持ちます。間違ってもシャッフルしない
ようにして下さい(´・ω・`)
ポーカーと名前が付いていますが、揃えるのは自
分の手札ではなく、チームメンバ...
8.見積ワークショップ (2/4)
プランニングポーカーの前準備
–小規模と大規模の指標と対象のストーリーを使って、
三角測量の要領で見積を行っていきます。
小規模未満
小規模以上、大規模未満
大規模以上
–最初に基準となるストーリーを...
8.見積ワークショップ (3/4)
プランニングポーカーの進め方
–1つストーリーを選び、どのような内容なのかコンテキス
トを合わせて、それが「ストーリーポイント」幾つになるか
を各自が考えます。
–「せーの!」で一斉に手札からカードを1枚出...
8.見積ワークショップ (4/4)
それでは早速プランニングポーカーでユーザース
トーリーの作業量を見積もってみましょう。
作成したユーザーストーリーについて、まず基準と
なる小規模・大規模のストーリーを決めて下さい。
そしてリリース毎に...
9.まとめ
名古屋アジャイルな見積りと計画づくり
75
9.まとめ (1/2)
今回はユーザーストーリーマッピングをテーマに、
以下の事を行いました。
–ユーザーストーリー作成
ブレインストーミング
グルーピング
–ユーザーストーリーマッピング実施
アクティビティ分類
アクティビティ内優先...
9.まとめ (2/2)
ユーザーストーリーについては盛り沢山で理解が
追いつかなかったかも知れません。
本日のイベントのふりかえり会を来月開催します。
–分科会「アジャイルな見積りと計画づくり」読書会
–http://connpass.co...
5.まとめ:確認
今回のワークショップについてご理解頂けましたで
しょうか?
表明じゃんけんで理解度をお知らせ下さい
–グー
お前は何を言っているんだ?
–チョキ
大体理解した。復習しつつ実践に繋げたい。
–パー
全て理解した。早速明...
Upcoming SlideShare
Loading in …5
×

名古屋アジャイルな見積りと計画づくり

573 views

Published on

Agile Japan 2014 サテライト<名古屋>のワークショップ資料
http://connpass.com/event/6869/

Published in: Software
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
573
On SlideShare
0
From Embeds
0
Number of Embeds
109
Actions
Shares
0
Downloads
13
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

名古屋アジャイルな見積りと計画づくり

  1. 1. 名古屋アジャイルな 見積りと計画づくり 2014/06/28(土) 名古屋アジャイル勉強会 You&I Agile Japan 2014 サテライト<名古屋>
  2. 2. ジコ、ショウカイ。 H/N: You&I(読み:ユーアンドアイ) SNS: @you_and_i 出身: 生まれも育ちも名古屋市 年齢: 30代中盤 本職: 商学部出身の職業プログラマ 言語: C++, C#他 所属: プログラミング生放送勉強会 名古屋支部 名古屋アジャイル勉強会 わんくま同盟 名古屋勉強会 2
  3. 3. ATTENTION 本資料は名古屋アジャイル勉強会 のブログにて公開致します。 資料の内容について全ての メモを取る必要はありません。 ワークショップ内容に集中して 頂ければ幸いです。 3
  4. 4. AGENDA 1. 趣旨説明 2. 名古屋アジャイル勉強会とは 3. アジャイル開発とは 4. 構築ワークショップ 5. アジャイルな計画づくり 6. 計画ワークショップ 7. アジャイルな見積づくり 8. 見積ワークショップ 9. まとめ 4
  5. 5. 1.趣旨説明 名古屋アジャイルな見積りと計画づくり 5
  6. 6. 1.趣旨説明 (1/2) 今回のワークショップは 「名古屋アジャイルな見積りと計画づくり」 という事で、 書籍「アジャイルな見積りと計画づくり」を題材に 名古屋アジャイル勉強会として見積と計画に着目 してワークショップを行いたいと思います。 6
  7. 7. 1.趣旨説明 (2/2) 計画 –アジャイル開発では、顧客のやりたい事を顧客の言葉 で表現し、ユーザーストーリーとしてまとめます。 –今回はユーザーストーリーマッピングという手法を使って、 リリース計画の立て方を体験します。 見積 –アジャイル開発では、そのユーザーストーリーの作業量 見積を行う事で、プロジェクト全体の見通しや、近々の 作業の詳細なスケジュール計画に利用します。 –今回はプランニングポーカーという手法を使って、見積 を行う方法を体験します。 7
  8. 8. 2.名古屋アジャイル勉強会とは 名古屋アジャイルな見積りと計画づくり 8
  9. 9. 2.名古屋アジャイル勉強会とは 別資料で説明します – 名古屋アジャイル勉強会 活動紹介 – http://www.slideshare.net/youandi06021 9/ss-27115677 9
  10. 10. 3.アジャイル開発とは 名古屋アジャイルな見積りと計画づくり 10
  11. 11. 3. アジャイル開発とは (1/11) 単語としてのアジャイル(agile)とは、「機敏な」と か「素早い」とか「身軽」といった意味です。 アジャイル開発の根底を成すものとして、2001 年に制定されたアジャイルマニフェスト(アジャイル ソフトウェア開発宣言)があります。 アジャイル開発とは、広範囲に渡る概念です。 11
  12. 12. 12
  13. 13. 3. アジャイル開発とは (3/11) アジャイルマニフェストには、以下のものが定義さ れています。 –4つの価値 –12の原則 そしてアジャイルマニフェストに基づく様々なアジャ イルプラクティスが存在します。 –TDD、CI、ペアプログラミング、ふりかえり –朝会、ユーザーストーリー、etc。 13
  14. 14. http://blogs.itmedia.co.jp/hiranabe/2012/09/rightwing-and-leftwing-of-agile.html 14
  15. 15. 3. アジャイル開発とは (5/11) アジャイル開発の目的・ゴールは顧客満足を最 大化する事です。 その為に、その時点でビジネス価値を高めるのに 最適な手段・方法を選択します。 これらを実現する為に、絶え間ない改善活動を 通じて自分達のやり方を作り上げていきます。 改善活動を通じて、物事を自分達の問題である と捉えたり、自己組織化が促進されます。 15
  16. 16. 3. アジャイル開発とは (6/11) 現在ではアジャイル開発といえばScrumが採用 される事が多いです。 Scrumチームは10名未満で構成されます。 –製品ビジョンを司る、プロダクトオーナーが1名 –チーム活動を支援する、スクラムマスターが1名 –実務を担当する、開発チームメンバー Scrumに限らず、アジャイル開発ではチームメン バーは10名未満が推奨されています。 16
  17. 17. 17 http://scrumprimer.org/jp/anime
  18. 18. 3. アジャイル開発とは (8/11) 従来の開発のやり方では、アレも欲しい・コレも 欲しいと進める内に色々と盛り込んでしまい、この ようになりがちですが・・・。 18
  19. 19. 3. アジャイル開発とは (9/11) アジャイル開発が目指している事は、開発の早い 時期から継続的にコレを作り出す為にどうする か?です。 当然ホールケーキから切り分けてしまっては、ダメ。 ゼッタイ。 19
  20. 20. 3. アジャイル開発とは (10/11) 開発チームはお腹を空かした顧客に素早くそして 数回に分けてショートケーキを提供します。 また提供する度に顧客からショートケーキについて のフィードバックを得ます。 また、顧客は途中でケーキではなく和菓子が食 べたくなるかも知れません。 20
  21. 21. 3. アジャイル開発とは (11/11) ホールケーキと同じ量になるだけのショートケーキ を用意すると割高になるかも知れませんし、ショー トケーキを組み合わせてもホールケーキにはなりま せん。 そして、顧客が当初食べたいと思っていたホール ケーキと同じ量になる前に顧客はお腹いっぱいに なるかも知れません。 顧客の要望に応えるには、物事は小さくシンプル にし、素早く対応できる仕組み作りが重要です。 21
  22. 22. 3. アジャイル開発とは:確認 ここまでの説明はご理解頂けましたでしょうか? 表明じゃんけんで理解度をお知らせ下さい –グー お前は何を言っているんだ? –チョキ 大体理解した。次に進めてOK。 –パー 全て理解した。 22
  23. 23. 4.構築ワークショップ 名古屋アジャイルな見積りと計画づくり 23
  24. 24. 4.構築ワークショップ (1/4) 本日のワークショップはグループ単位で行います。 まずはグループ内で自己紹介を行いましょう。 1人1分位で自己紹介をお願いします。 1. お名前 2. 見積や計画をした事があるか? 3. ここ最近で、サーカスやイルカショーのような催しを見 たことがありますか? 10分間 24
  25. 25. 4.構築ワークショップ (2/4) 構築ワークショップと言う事で、たった今グループの 構築は出来ましたね? 続いては、プロジェクト・プロダクトの構築を行いた いと思います。 今回は、見積や計画に着目してワークショップを 進める為に、お題についてはこちらから提案させて 頂きます。 但し、あくまで「提案」ですので、各グループでもっ と実践的な製品開発でチャレンジしたいという意 見があるならば、そちらでもOKです。 25
  26. 26. 4.構築ワークショップ (3/4) (提案)お題「ショーでの出し物を考えよう」 –サーカスやイルカショーを見た事がありますか? –これらのショーでは、どの順番で芸を見せるかが重要な 要素になりますね。 但し、実際のシステム開発と異なるのは・・・、  ショーでは一番の見せ場は最後に持ってくる。  アジャイル開発では一番欲しい機能は最初に実装します。 今回のお題では以下のように考えてみたいと思います。  ショーを1つのプロダクトと見なす  ショーは複数の出し物で構成される 26
  27. 27. 4.構築ワークショップ (4/4) それでは、各テーブルでプロダクトを決めて頂きた いと思います。以下の事を決めて下さい。 1. プロダクト名(プロジェクト名) 2. プロダクトオーナー 進め方 –まずはこちらから提案したお題に乗るのか、それとも別 なお題にするのか、検討を進めて下さい。 –プロダクトが決まったら、プロダクト名を付箋紙に書き出 して下さい。 –プロダクトオーナーには、そのプロダクトへの熱いビジョン を持った人を1人選んで下さい。 2710分間
  28. 28. 5.アジャイルな計画づくり 名古屋アジャイルな見積りと計画づくり 28
  29. 29. 5.アジャイルな計画づくり (1/11) ここからいよいよ実践的な内容になってきます。 但し説明すべき事が沢山・・・。 アジャイル開発においては、ユーザーストーリーは とても重要な要素で、ユーザーストーリーが起点と なって開発に関する物事が進んでいきます。 ユーザーストーリーとは顧客に価値をもたらす何ら かのフィーチャー(目玉・特徴点・着目)を表します。 29
  30. 30. 5.アジャイルな計画づくり (2/11) ユーザーストーリーは、顧客の視点から顧客に価 値をもたらすサービスや商品といったプロダクトの 振る舞いを記述したものです。 通常はインデックスカード等の紙に書いて管理し ます。 30 <役割>として、 <活動>を行う事ができる。 それにより<ビジネス価値>がもたらされる。
  31. 31. 5.アジャイルな計画づくり (3/11) ユーザーストーリーとは、XP(eXtreme Programming)で取り入れられたアジャイルプ ラクティスの一つであり、同じくXPのプラクティスで ある1週間サイクルと組み合わせて利用されます。 これらは、アジャイル開発の特徴である反復型開 発を進めていく上でとても重要な要素です。 Scrumにおいては、プロダクトのフィーチャーをリス ト化して優先順位付けしたプロダクトバックログの リスト項目にユーザーストーリーが使われます。 31
  32. 32. 5.アジャイルな計画づくり (4/11) XPは1999年に Kent Beck氏 の著書 「eXtreme Programming explained」 (日 本語訳:XP エクストリーム・プログラミング入門) としてまとめられたアジャイル開発手法の一つです。 32
  33. 33. 33 5.アジャイルな計画づくり (5/11) http://www.extremeprogramming.org/map/project.html
  34. 34. 5.アジャイルな計画づくり (6/11) 先程以下のように説明しました。 ユーザーストーリーは、顧客の視点から プロダクトの動作を記述したものです。 XPとScrumとではユーザーストーリーを誰が書く のかが異なりますが、それ以外の部分は同じです。 –XP 顧客 –Scrum プロダクトオーナーや開発チーム 34
  35. 35. 5.アジャイルな計画づくり (7/11) ユーザーストーリーの記述方法について、これまた 先程以下のように説明しました。 この記述方法は、ユースケース記述の書き方と 似ています。但し、ユースケースとユーザーストー リーはまた別な概念です。 35 <役割>として、 <活動>を行う事ができる。 それにより<ビジネス価値>がもたらされる。
  36. 36. 5.アジャイルな計画づくり (8/11) <役割> – プロダクトの利用者 – 人ではなくシステムの場合もあります <活動> – プロダクトの動作(=フィーチャー) <ビジネス価値> – 顧客や利用者がどのような利益を得るのか (例) – <書籍の購入者>として、<ISBNで書籍の検索を行い >たい。それは<探している書籍を素早く見つける>為だ。 36
  37. 37. 5.アジャイルな計画づくり (9/11) ユーザーストーリーは要求・要件ではない –「えっ」と思う人もいらっしゃるかも知れません。 –ユーザーストーリーでは、プロダクトの動作については詳 細には書かれません。但しプロジェクトの進行と共に詳 細・明確に書き換えていきます。 –フィーチャーをどのように実現するのか(How)は書きま せん。 –顧客には無価値な非機能要件も書きません。 37
  38. 38. 5.アジャイルな計画づくり (10/11) ここまで時間をかけてユーザーストーリーについて 説明してきました。ここからはそのユーザーストー リーを使ってどのように計画を立てるのかを説明し ます。 今回のテーマであるユーザーストーリーマッピング では大きく3つの側面でプロダクトを捉えます。 1. ワークフロー/ビジネスフロー/アクティビティフロー 2. タスク/サブタスク 3. リリース 38
  39. 39. 5.アジャイルな計画づくり (11/11) ユーザーストーリーマッピングでは、この順番で計 画づくりをしていきます 1. ワークフロー/ビジネスフロー/アクティビティフロー  ユーザーの利用側面からの分類 2. タスク/サブタスク  開発者側面からの分類 3. リリース  ユーザーに提供するフィーチャー群(アクティビティ)からの分類  早速ワークショップで体験していきましょう。 39
  40. 40. 5.アジャイルな見積づくり:確認 ここまでの説明はご理解頂けましたでしょうか? 表明じゃんけんで理解度をお知らせ下さい –グー お前は何を言っているんだ? –チョキ 大体理解した。次に進めてOK。 –パー 全て理解した。 40
  41. 41. 6.計画ワークショップ 名古屋アジャイルな見積りと計画づくり 41
  42. 42. 6.0 計画ワークショップの前に (1/9) では早速ユーザーストーリーを書いてみましょう! でもなんだか難しそう・・・。そもそもユーザーストー リーはどう書けば良いの? ちゃんと指針があります! –3C –フィーチャーの粒度 –ストーリーへの分割 –INVEST 42
  43. 43. 6.0 計画ワークショップの前に(2/9) 3C 1. Card(カード) 意図を要約する 2. Conversation(会話) 意図を実装する為の聞き取り調査 3. Confirmation(確認) DONEの定義、受け入れテストの実施。 http://xprogramming.com/articles/expcardconversationconfirmation/ ※カードは裏側も使います。裏面には主に受け入れテスト 内容を記述します。 43
  44. 44. フィーチャーの粒度 (1/3) –先程から出てきているフィーチャーって何でしょう?先程 以下のように説明しました。 プロダクトの目玉・特徴点 プロダクトの動作 –皆さんが思い描くフィーチャーってどんなイメージでしょう か? 44 6.0 計画ワークショップの前に(3/9)
  45. 45. フィーチャーの粒度 (2/3) –私のイメージではこんな感じです。 45 6.0 計画ワークショップの前に(4/9) 顧客のやりたい事・ビジョン エピック エピック サーガ エピック エピック フィーチャー フィーチャー フィーチャー フィーチャー フィーチャー フィーチャー フィーチャー フィーチャー フィーチャー
  46. 46. 6.0 計画ワークショップの前に(5/9) フィーチャーの粒度 (3/3) –サーガ > エピック > フィーチャー の順に作業規模は 小さくなっていきます。 –ユーザーストーリーは、最終的にはフィーチャーの粒度か、 もう1段階細かく分割された大きさになります。 最初に書かれたユーザーストーリーはサーガの粒度になるかも 知れません。 そこから作業の優先度の高いものについて、顧客との対話を 通じて順次エピックやフィーチャーの粒度に分割していきます。 46
  47. 47. 6.0 計画ワークショップの前に(6/9) ストーリーへの分割 (1/3)  アジャイル開発の項で説明したように、エピックからフィー チャー、更にストーリーへの分割を行う場合には、End- to-Endに垂直分割する事が望ましいです。 http://blogs.itmedia.co.jp/hiranabe/2012/09/agile-and-data-modeling.html  小さく分割したユーザーストーリーは、同じようなストー リーをまとめて一つのストーリーに統合する事もあります。  ストーリーを分割する10のパターンを紹介します。 47
  48. 48. 6.0 計画ワークショップの前に(7/9) ストーリーへの分割 (2/3) 1. ワークフローステップ 処理の流れに沿って分割 2. ビジネスルールのバリエーション 複雑なビジネスルールを分割 3. 大半の労力 一つ目は時間が掛かるが、それ以降は楽になるケース 4. 単純/複雑 最もシンプルなケースから手を付ける 5. データのバリエーション 多言語対応や、複数RDBMS対応等。 48
  49. 49. 6.0 計画ワークショップの前に(8/9) ストーリーへの分割 (3/3) 6. データ入力方法 シンプルなUIから実装を始める 7. システム品質を後回しにする 性能、セキュリティ、可用性などで分割する 8. 操作(CRUD) 生成・破棄、読み書きの操作で分割する 9. ユースケースシナリオ シナリオ単位で分割する 10.スパイクを始める リスクや不確実性をプロトタイプ作成等により取り除く 49
  50. 50. 6.0 計画ワークショップの前に(9/9) INVEST – Independent 他のストーリーからの独立性があるか – Negotiable ガチガチに決めすぎず、交渉の余地を残しているか – Valuable 顧客にとって価値があるか – Estimable 見積り可能か – SizedRight / Small 適切な大きさか – Testable 受け入れテスト可能か 50
  51. 51. 6.1 アイデア出しワークショップ (1/2) 色々と紹介しましたが、まずは皆さんのプロダクト に対するアイデア(出し物等)を出していきましょう。 最初はブレインストーミング方式で、意見の重複 など気にせず沢山書き出してみましょう。 但し、書き出す際にはユーザーストーリーのフォー マットは守るようにして下さい。 51 <役割>として、 <活動>を行う事ができる。 それにより<ビジネス価値> がもたらされる。 20分間
  52. 52. 6.1 アイデア出しワークショップ (2/2) ショーのお題でのユーザーストーリー例 52 [調教師]として、[トラのお手 芸]を行う事ができる。 それにより[観客をビックリ]させら れる。 [調教師]として、[トラの火の輪 くぐり]を行う事ができる。 それにより[観客をビックリ]させら れる。 [調教師]として、[トラの綱渡 り]を行う事ができる。 それにより[観客をビックリ]させら れる。 [ピエロ]として、[大玉乗り]を行 う事ができる。 それにより[観客をハラハラ]させ られる。 [ピエロ]として、[ジャグリング]を 行う事ができる。 それにより[観客を魅了]させら れる。 [ピエロ]として、[パントマイム]を 行う事ができる。 それにより[観客を笑わせ]られ る。
  53. 53. 6.2 グルーピング&コンテキスト合わせ 続いては、出たアイデアを整理したいと思います。 話し合いながら、以下のように進めて下さい。 1. 出たアイデアを同類やカテゴリ等でひとまとめにする 2. ユーザーストーリーについて、指針に沿っているか見直す 3C フィーチャーの粒度 ストーリーへの分割 INVEST 3. ストーリーカードの裏側にそのストーリーの完了条件を書く  新たなユーザーストーリーの追加もOKです。 5320分間
  54. 54. 6.3 時間軸での並べ替え&アクティビティ名前付け (1/3) ここまででユーザーストーリーの分類は完了しまし たので、ここからは優先順位付けを行います。 1. 最初に分類したユーザーストーリー群(=アクティビ ティ)に名前付けをしましょう。 2. 次にアクティビティを時間軸で横一列に並べ替えます。 アクティビティをワークフロー、ビジネスフロー、アクティビティフ ロー等に沿った流れで(AがないとBができない等)で並べましょ う。(ショーの場合は出し物順) 前後関係のない独立したアクティビティについても、どこかに入 れて下さい。 アクティビティ内のユーザーストーリーは、縦方向で並べます。 54
  55. 55. 55 6.3 時間軸での並べ替え&アクティビティ名前付け (2/3) 10分間 時間:先 ユーザーストーリーの時間軸での並べ替えとカテゴリ名付け アクティビティ 1 アクティビティ 2 アクティビティ 3 アクティビティ 4 時間:後
  56. 56. 56 6.3 時間軸での並べ替え&アクティビティ名前付け (3/3) 時間:先 2人で ジャンプ 人体 切断 ジャグリ ング 1人で ジャンプ 火の輪 ステッキ 人体 浮遊 大玉 乗り 綱渡り お手 ジャンプ 消失 パント マイム バランス ショーのお題での例 鳩 トラ芸 マジック ショー ピエロ 芸 空中 ブランコ 時間:後
  57. 57. 6.4 アクティビティ内での順序付け (1/2) アクティビティに属するユーザーストーリーについて、 重要度や作業順などで順位付けしましょう。 575分間 時間:先 時間:後 アクティビティ 1 アクティビティ 2 アクティビティ 3 順序:先 順序:後
  58. 58. 58 6.4 アクティビティ内での順序付け (2/2) 時間:先 2人で ジャンプ 人体 切断 ジャグリ ング 1人で ジャンプ 火の輪 ステッキ 人体 浮遊 大玉 乗り 綱渡り お手 ジャンプ 消失 パント マイム バランス ショーのお題での例:目玉の出し物が上にくる 鳩 トラ芸 マジック ショー ピエロ 芸 空中 ブランコ 時間:後 順序 :先 順序 :後
  59. 59. 6.5 リリースプランニング (1/3) いよいよ計画づくりも大詰めになってきました。 リリースプランニングでは、最初に初回リリースの内容 を決めます。そして2回目のリリース内容を決めて・・・ という流れです。 – マスキングテープで各リリースを区切ります。 リリース内容を決めるにあたっては、MVP (Minimum Viable Product:実用最小限の製 品)で考えましょう。 – 実用とあるように、製品として使えるレベルのギリギリまで機 能をそぎ落としたものでリリースする事を考えます。 – それなので実用レベルに必要となるユーザーストーリーは、リ リースに含める必要があります。 59
  60. 60. 6.5 リリースプランニング (2/3) –各リリースに含めるユーザーストーリーを決めましょう。 60 時間:先 時間:後 アクティビティ 1 アクティビティ 2 アクティビティ 3 順序:先 順序:後 10分間 初回 リリース 2回目 リリース 順序:先 順序:後
  61. 61. 61 6.5 リリースプランニング (3/3) 時間:先 2人で ジャンプ 人体 切断 ジャグリ ング 1人で ジャンプ 火の輪 ステッキ 人体 浮遊 大玉 乗り 綱渡り お手 ジャンプ 消失 パント マイム バランス ショーのお題での例:リリースはショーの完成度だと見なす 鳩 トラ芸 マジック ショー ピエロ 芸 空中 ブランコ 時間:後 ショー α版 ショー β版
  62. 62. 7.アジャイルな見積づくり 名古屋アジャイルな見積りと計画づくり 62
  63. 63. 7.アジャイルな見積づくり (1/6) ここまでユーザーストーリーについて説明してきまし たが、ここからはユーザーストーリーの作業量につ いて説明していきたいと思います。 ユーザーストーリーの作業量の大きさの事を、ス トーリーポイントと呼びます。 あるチームが、固定化されたタイムボックス(イテ レーション/スプリント)において、完了させる事ので きたユーザーストーリーのストーリーポイントの合計 値をベロシティと呼びます。 63
  64. 64. アジャイル開発において、見積を行う際の基準と なるのがベロシティです。 ベロシティはタイムボックス毎に変化する指標とな ります。 開発の初期ではタイムボックス毎のベロシティの変 化が大きくなりますが、開発が進むにつれて安定 した値となります。 この変化を見る事でチームの状況を知る事がで きます。 64 7.アジャイルな見積づくり (2/6)
  65. 65. ベロシティは、作業内容に依存しないチームの生 産性を示す指標となります。 アジャイル開発ではチームメンバーは固定化する 事が推奨されていますので、作業内容は変わっ たとしても、チームメンバーが同じであればベロシ ティは同じです。 逆にメンバーが替わった場合はベロシティは変わっ てしまい、再計測が必要です。 65 7.アジャイルな見積づくり (3/6)
  66. 66. ユーザーストーリーの見積は・・・、 1. プロダクトオーナーと開発チームメンバーで行います。  プロダクトについての知識のある人・ない人を含めて行い、 属人性を排除した見積を行います。 2. ユーザーストーリーの見積は相対的な指標を用いて 行います。  一般的に、見積において10倍を超える規模の差が出ると、 見積の精度が悪くなります。  大小の基準を決めて三角測量にて見積を行います。 3. ストーリーポイントを決める方法としては、プランニング ポーカーが使われる事が多いです。 66 7.アジャイルな見積づくり (4/6)
  67. 67. プランニングポーカー http://softwareengineeringplatform.com/articles/planning-poker/ 67 7.アジャイルな見積づくり (5/6)
  68. 68. 7.アジャイルな見積づくり (6/6) プランニングポーカーの数値は、フィボナッチ数列 (1・2・3・5・8・13・20・40・・・)になっています。 この数値がそのままストーリーポイントになります。 –2ptに対して5ptの作業は2.5倍の規模の差がある事 を示します。 それ以外に、自分の意思表示を行う目的のカー ドがあります。 –?,∞:見積もれない・判断できない –0:作業としては発生するが別計上だったり、本当に 作業量しては些細なもの。 68
  69. 69. 7.アジャイルな見積づくり:確認 ここまでの説明はご理解頂けましたでしょうか? 表明じゃんけんで理解度をお知らせ下さい –グー お前は何を言っているんだ? –チョキ 大体理解した。次に進めてOK。 –パー 全て理解した。 69
  70. 70. 8.見積ワークショップ 名古屋アジャイルな見積りと計画づくり 70
  71. 71. 8.見積ワークショップ (1/4) プランニングポーカーは色分けされているので、一 人一色ずつ持ちます。間違ってもシャッフルしない ようにして下さい(´・ω・`) ポーカーと名前が付いていますが、揃えるのは自 分の手札ではなく、チームメンバー全員の出した 札が同じになる、又は値が近くなるようにします。 ワイドバンド・デルファイ法(広帯域デルファイ法)を 使ってユーザーストーリーについて意見を出したり コンテキスト合わせしながら見積ります。 71
  72. 72. 8.見積ワークショップ (2/4) プランニングポーカーの前準備 –小規模と大規模の指標と対象のストーリーを使って、 三角測量の要領で見積を行っていきます。 小規模未満 小規模以上、大規模未満 大規模以上 –最初に基準となるストーリーを2つ決めましょう。 小規模(3ポイント位) 大規模(13ポイント位) ※決めずに進める事も可 –基準となったストーリーの右上にポイントを書きましょう。 72
  73. 73. 8.見積ワークショップ (3/4) プランニングポーカーの進め方 –1つストーリーを選び、どのような内容なのかコンテキス トを合わせて、それが「ストーリーポイント」幾つになるか を各自が考えます。 –「せーの!」で一斉に手札からカードを1枚出します。 –場に出された数値が一致しなかったら、最大及び最小 値を出した人にその理由を聞いたりして、コンテキストを 合わせます。 –3回繰り返して一致しなかったらそのストーリーは後回し にします。 –インデックスカードの右上に確定したストーリーポイントを 記入しましょう。 73
  74. 74. 8.見積ワークショップ (4/4) それでは早速プランニングポーカーでユーザース トーリーの作業量を見積もってみましょう。 作成したユーザーストーリーについて、まず基準と なる小規模・大規模のストーリーを決めて下さい。 そしてリリース毎に優先度の高いものから順次見 積もりを進めて下さい。 7430分間
  75. 75. 9.まとめ 名古屋アジャイルな見積りと計画づくり 75
  76. 76. 9.まとめ (1/2) 今回はユーザーストーリーマッピングをテーマに、 以下の事を行いました。 –ユーザーストーリー作成 ブレインストーミング グルーピング –ユーザーストーリーマッピング実施 アクティビティ分類 アクティビティ内優先順位付け リリースプランニング –プランニングポーカーによる見積 76
  77. 77. 9.まとめ (2/2) ユーザーストーリーについては盛り沢山で理解が 追いつかなかったかも知れません。 本日のイベントのふりかえり会を来月開催します。 –分科会「アジャイルな見積りと計画づくり」読書会 –http://connpass.com/event/7102/ 復習したいとお考えの方は是非ご参加下さい。 77
  78. 78. 5.まとめ:確認 今回のワークショップについてご理解頂けましたで しょうか? 表明じゃんけんで理解度をお知らせ下さい –グー お前は何を言っているんだ? –チョキ 大体理解した。復習しつつ実践に繋げたい。 –パー 全て理解した。早速明日から実践する。 78

×