77
今こそスクラムを組む時だ! ~責任と権利を持つチームの振る舞 い~ 2009.10.10 minamo

今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

  • Upload
    minamo

  • View
    2.180

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞

い~2009.10.10

minamo

Page 2: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

最近マスター迎えました!!

Page 3: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

シルバーウィークは燃え尽きてました

Page 4: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

今回マスターを迎えて思った

Page 5: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

振り回されずにコントロールしたい

Page 6: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

プロジェクトを

Page 7: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

自分を

Page 8: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

チームを!

Page 9: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

今回のキーワード

Page 10: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

チーム

Page 11: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

1.スクラムとは?

Page 12: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

スクラム• スクラム(SCRUM) 1993年生まれ

• 反復型開発/素早い開発

• キャノンやM3などは以前からスクラム的手法を使っていた

• アジャイルソフトウェア開発手法の一種

Page 13: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

ゲーム業界でも・・・

• CEDEC2009「 SCM最新技術事例~「 Star Wars:The Old Republic」での大容量ゲーム開発~」

• GDCでは毎年講演がある?

• 北米が多いが、日本でも事例がちらほらと

Page 14: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

語源はラグビー

• スクラム(SCRUM)の語源は、ラグビーの「スクラム」

• スポーツのチームのように、チームが一体となって開発を進めるための手法

Page 15: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

チームが一体となって進める手法

Page 16: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

スクラムの範囲

• プロジェクトに対する思想

• プロジェクトライフサイクル

• タスクマネジメント

• (チームビルディング)

Page 17: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

チームが一体となって進める手法

Page 18: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

スクラムの範囲

• チームが一体となるためのプロジェクトに対する思想

• チームで進めるプロジェクトライフサイクル

• チームで進めるタスクマネジメント

• (チームが一体となるためのチームビルディング)

Page 19: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

スクラムの価値(思想)

Page 20: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

5つの価値• コミットすること

• 集中すること

• オープンであること

• 敬意を払うこと

• 勇気を出すこと

これらについては後で触れます

Page 21: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

2.スクラムのプラクティス

Page 22: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

プロジェクトライフサイクル

Page 23: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

スクラムのPJライフサイクル

計画

準備

リリース

スプリント(イテレーション)による繰り返し

開発

Page 24: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

計画フェイズ

• 企画立案

• 予算確保

• 初期のプロダクトバックログの作成

• (調査のための設計とプロトタイプ作成)

Page 25: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

準備フェイズ

• さらに詳細な仕様を策定

• 最初のイテレーションに必要な優先順位付け

• (調査のための設計とプロトタイプ作成)

Page 26: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

開発フェイズ

• スプリント(イテレーション)を繰り返し、実装を進める

• スプリント内のPDCA

• 各種バックログの更新

Page 27: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

リリースフェイズ

• 最終デバッグ

• リリースのための文書等の作成

• リリース

Page 28: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

バックログ

Page 29: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

バックログとは

• 平たくいえば、ToDoリストやWBSのようなもの

• 「ログ」と名前が付いているので、過去の記録と思いがちだが、全く逆の意味なので注意

Page 30: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

バックログの種類

プロダクトバックログ

リリースバックログ

リリースバックログ

スプリントバックログ

スプリントバックログ

スプリントバックログ

リリースバックログ

Page 31: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

プロダクトバックログ• 製品の機能リスト

• プロダクトオーナーによってプライオリティ付けがされたもの

ID 機能 分類 状態 プライオリティ 工数

10 ロード画面でセーブデータをロードできる セーブ・ロード 完了 1 4127 メッセージスピードを切り替えられる オプション 作業中 4 242 戦闘画面のどこでもセーブできる セーブ・ロード 未着手 2 7* ……* ……* ……

Page 32: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

リリースバックログ

• プロダクトバックログから、次期リリース( αとか βとか)の項目を抜き出したもの

• 抜き出し後、さらに粒度を細かくすることもある

Page 33: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

スプリントバックログ• あるスプリントで行うことのリスト(ToDoリスト)

• 残作業時間を日々トレースする

• ひとつのタスクは通常4~16時間くらい

ID タスク 担当者 状態 残作業時間7月10日

7月11日

7月12日

7月13日

7月14日

20 タイトル画面仕様レビュー 佐々木 完了 10h 5h 0h 0h 0h127 メッセージスピードを切り替えられる 本間 完了 12h 5h 8h 2h 0h42 戦闘画面のどこでもセーブできる 田切 作業中 16h 16h 10h 12h 6h* ……* ……* ……

Page 34: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

スプリント

Page 35: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

スプリント(イテレーション)

• 一定期間の開発サイクル

• プロダクトバックログの中から一部を抜き出して、この期間中の完成を目指す

• スクラムでは1スプリント30日が推奨されている(ただし、ゲームの場合もっと短い方がいい気がする)

Page 36: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

スプリント計画ミーティング• スプリントを開始する前(もしくはスプリントの最初)に2つのミーティングを行う

• 1つはステークホルダー(利害関係者)が集まり、プロダクトバックログとリリースバックログの精度を上げる

• もう1つは、スクラムチームとプロダクトオーナーが集まってスプリントバックログを作る

Page 37: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

スプリントの管理

• 原則、スプリント中に仕様追加を行うことは禁止とされている

• プロジェクトマネージャーは、完了の見込みがない時、スコープの縮小、スプリント再構築・中止をすることができる

Page 38: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

スプリントバックログの更新• スプリント中は、毎日スプリントバックログの更新を行う

• 残作業見積もりを行うので、バーンダウンチャートを書くことができる

Page 39: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

スクラムミーティング

• スタンドアップミーティングの名で知られるものと同様

• 毎日同じ時間・同じ場所でスクラムチームが集まり、決まった報告を行う

• 15分~20分

Page 40: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

スクラムミーティングの内容• 1.この1日で何をしたか

• 2.この1日で何を行うか

• 3.スプリントの目標を達成するための障害

• (4.スプリントバックログに追加するものはあるか?)

• (5.新たに学んだことはあったか?)

Page 41: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

スプリントレビュー

• スプリントの最後にスクラムマスター主催で行うレビュー

• ステークホルダーにスプリントの成果物を見せる

• PowerPointなどは使わずに、開発して動いている状態のものを見せることを中心に進める

Page 42: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

スクラムマスター

Page 43: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

スクラムマスターとは

• スクラムチームの代表

• スクラムを成功させる責任を持つ人

• スクラムの価値(思想)、プラクティス、ルールを正しく守って運用する人

Page 44: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

スクラムマスターの役割

• スクラムを主導する

• チームの障害を取り除く

• 決断が必要な際に素早く下す(基本1時間以内)

Page 45: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

3.スクラムに関するその他知識

Page 46: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

中規模・大規模開発の場合

Page 47: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

中規模・大規模開発の場合

• スクラムは基本的に7人(最大でも10人)以下を想定している

• 中規模・大規模開発の場合は、スクラムチームを複数で構成する

• スクラムマスターたちで、スクラムチームを組む

Page 48: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

スクラムチーム スクラムチームスクラムチーム

スクラム

複数チームでのスクラム

スクラムマスター

メンバーA

メンバーB

メンバーC

メンバーD

メンバーE

スクラムマスター

メンバーA

メンバーB

メンバーC

スクラムマスター

メンバーA

メンバーB

メンバーC

メンバーD

Page 49: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

他手法との併用

• スクラムは他のアジャイル開発手法と競合しないので、併用されることが多い

• 特にXPとの併用は有名

XP スクラム

技術的要素が強い マネジメント要素が強い

Page 50: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

苦労しそうな点

Page 51: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

タスクの見積もり

• 各タスクごとに時間で見積もりをつけるのは難しい(特にプログラム作業)

• 誤差が3倍ほど出ることは日常茶飯事

• 悩んだ時は、「三点見積もり法」でとりあえず数値を決めておけば大体問題ないはず

Page 52: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

三点見積もり法• 楽観値:全てが上手くいった場合• 通常値:期待値。普通に考えた場合。• 悲観値:進みが最悪だった場合。

• ( 楽観値 + 通常値 ×4 + 悲観値 )  ÷ 6

• 個人的には次のくらいでも悪くない気がする

• ( 楽観値 + 通常値 ×2 + 悲観値 )  ÷ 4

Page 53: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

4.スクラムの価値を振り返って

Page 54: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

5つの価値• コミットすること

• 集中すること

• オープンであること

• 敬意を払うこと

• 勇気を出すこと

Page 55: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

コミットすること

• スクラムチームは、イテレーションの達成目標にコミットする(責任を負う)

• その代わり、達成するためにどうするかを自分たちで判断する権限と自治権を与えられる

• イテレーション内での仕様追加が許されないのもこのため

Page 56: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

集中すること

• スクラムチームはイテレーションの目標に集中しなくてはならない

• 経営陣とスクラムマスターはそのためのリソースの提供や障害の排除を心がける

Page 57: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

オープンであること

• プロダクトバックログをオープンにし、作業と優先順位を各ステークホルダーが見られるようにする

• スプリントバックログをオープンにし、チームの進捗状況が分かるようにする

Page 58: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

敬意を払うこと

• チームメンバーそれぞれの長所/短所に敬意を払う

• 何か失敗しても、責任転嫁しないのはもちろんのこと、誰か一人の責任にしない

• 自己組織化と自立によって、問題を解決する

Page 59: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

勇気を出すこと

• 経営陣は勇気を持って適応型の計画や方向性を示す

• チームは自主性と自己管理を必要とする仕事に勇気を持って当たる

Page 60: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

5.スクラムは結局なんなのか

Page 61: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

こう考えると見えてくる

Page 62: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

普通にプロジェクトのフローを考える

1.基本仕様を起こして「機能リスト」を作成する

2.実装順番を考える

3.細かいタスクを考える

4.進捗を把握し、問題を解決する

5.機能がある程度出来たらフィードバックを受ける

Page 63: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

• 1.基本仕様を起こして「機能リスト」を作成する

• 2.実装順番を考える

→  計画・準備フェイズ→  プロダクトバックログの作成

Page 64: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

• 3.細かいタスクを考える

→  スプリント計画ミーティング→  スプリントバックログの作成

Page 65: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

• 4.進捗を把握し、問題を解決する

→  スクラムミーティング→  スクラムマスターの役割

Page 66: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

• 5.機能がある程度出来たらフィードバックを受ける

→  スプリントレビューミーティング

Page 67: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

“ ”当たり前のこと

Page 68: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

しかし

Page 69: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

いつも重要なのは“ ”当たり前 なこと

Page 70: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

つまりスクラムとは

Page 71: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

“ ”何が 当たり前 かを

ハッキリさせて一歩踏み込んだ手法

Page 72: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

業界内で定番のこのQ&A

• Q : ゲーム開発に一番重要なことは?

• A : チームワーク/コミュニケーション

Page 73: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

Q : スクラムとはどんな手法か?

Page 74: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

チームが一体となって進める手法

Page 75: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

スクラムを組んでみましょう!

Page 76: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

ありがとうございました!

Page 77: 今こそスクラムを組む時だ!~責任と権利を持つチームの振る舞い~ Web

参考文献

• 初めてのアジャイル開発  ~スクラム、 XP、 UP、 Evoで学ぶ反復型開発の進め方 ~ (クレーグ・ラーマン著)

• アジャイルソフトウェア開発スクラム  (ケン シュエイバー著)