An Introduction to Scrum

Scrumの紹介
<あなたの名前>
<日付>
Mountain Goat Software,
LLC
Scrumの紹介
発表者
<名前>
<日付>
Mountain Goat Software,
LLC
リレー競走にまける
製品開発におけるリレー競走のアプローチは、
最大のスピートと柔軟性というゴールとは競合す
るだろう。代わりに、 全体的もしくはラグビーの
ようなアプローチ(チームは離れたゴールまでか
たまりとして進もうとし、ボールを後ろへ前へパス
する)は、今日の競争力のある要求の実現にと
って、より役立つだろう
竹内弘高・野中郁次郎「The New New Product
Development Game」ハーバードビジネスレビュー
1986年1月号
Mountain Goat Software,
LLC
Scrumを100語で説明
• スクラムはアジャイルプロセスの1つで、高いビ
ジネス価値をより早期に顧客に提供することを可
能にする.
• スクラムは動作するソフトウェアを速やかに繰り
返し確認していく(2週間~1か月周期で).
• 顧客は要件の優先順位をつける. チームは優先度
の高い機能を顧客に納める最良の方法を自分たち
で決定する.
• 2週間~1か月ごとに動作するソフトウェアをみる
ことができ、そのままリリースするか、別のスプ
リントで機能拡張するかを決めることができる.
Mountain Goat Software,
LLC
Scrumの起源
•
•
•
•
ジェフ・サザーランド
•
•
1993年にEasel社で最初のScrum
IDX社で500人以上の規模でScrum
ケン・シュエイバー
•
•
•
ADM社
OOPSLA 95でサザーランド氏とスクラムを定義
3つのScrumに関する書籍の著者
マイク・ビードル
•
PLOPD4におけるスクラムパターン
ケン・シュエイバー/マイク・コーン
•
2002年にScrum Allianceを設立,
(当初はAgile Allianceに含まれていた)
Mountain Goat Software,
LLC
Scrumの利用例:
•Microsoft
•Yahoo
•Google
•Electronic Arts
•Lockheed Martin
•Philips
•Siemens
•Nokia
•IBM
•Capital One
•BBC
Mountain Goat Software,
LLC
•Intuit
•Nielsen Media
•First American Real Estate
•BMC Software
•Ipswitch
•John Deere
•Lexis Nexis
•Sabre
•Salesforce.com
•Time Warner
•Turner Broadcasting
•Oce
Scrumの利用例:
•
•
•
•
•
•
商用ソフトウェア
•
•
組み込みシステム
24時間365日、稼働率
99.999%の高信頼性システム
戦闘機の開発
•
社内開発
受託開発
定額費用のプロジェクト
金融アプリケーション
ISO 9001認定アプリケーショ
ン
Mountain Goat Software,
LLC
• ビデオゲーム開発
• 食品医薬品局が承認する生命に
関するシステム
衛星管理システム
•
• Webサイト
• 携帯用ソフトウェア
• 携帯電話
• ネットワーク機器のアプリケーショ
•
•
ン
サードパーティアプリケーション
大規模アプリケーション
特徴
•
•
•
•
•
•
自己組織化されたチーム
2~4週間の”スプリント”を繰り返すことでプロダクト
を進化させる。
要求事項は”プロダクトバックログ”と呼ばれるリスト
で捕捉する。
特定の技術的なプラクティスは定められていない。
アジャイルな環境をつくるためにいくつかの一般
的なルールを適用する。
“アジャイルプロセス”の1つ
Mountain Goat Software,
LLC
アジャイルマニフェスト
–価値について述べたもの
人同士の相互作用
>
プロセスやツール
動くソフトウェア
>
包括的なドキュメント
顧客との協調
>
契約交渉
変化への対応
>
計画の順守
出典: www.agilemanifesto.org
Mountain Goat Software,
LLC
プロジェクトのノイズレベル
非合意
無秩序
要求
複雑
Mountain Goat Software,
LLC
技術
非確実
シンプル
確実
合意
出典: Strategic Management and
Organizational Dynamics by Ralph
Stacey in Agile Software Development
with Scrum by Ken Schwaber and Mike
Beedle.
Scrum
24時間
スプリント
2~4週間
スプリントゴール
返品
Return
キャンセル
Gift wrap
クーポン
Cancel
ギフト包装
スプリント
バックログ
クーポン
プロダクトバックログ
Mountain Goat Software,
LLC
出荷可能な製品の
積み上げ
まとめ
画像は以下より入手可能
www.mountaingoatsoftware.com/scrum
Mountain Goat Software,
LLC
スプリント
• Scrumプロジェクトは”スプリント”の繰り返しで
進められる。
•
XPの”イテレーション”と類似
• 一般的には2~4週間で、最大でもカレンダー
上の一カ月を1スプリントとする
• 一定の期間がよりよいリズムを生む
• 製品はスプリント期間中に、設計、コーディン
グ、テストされる。
Mountain Goat Software,
LLC
逐次開発とオーバーラップ開発の比
較
要求
設計
コード
テスト
1つのことを一度に全部実
施するのではなく...
...スクラムチームは全部を
少しづつ実施する
出典: “The New New Product Development Game” 竹内・野中. ハー
バードビジネスレビュー 1986年1月号.
Mountain Goat Software,
LLC
スプリント中の変更はなし
変更
• 変化を受け入れないでいられる期間をスプリ
ント期間として定める
Mountain Goat Software,
LLC
Scrum フレームワーク
役割
•プロダクトオーナー
•スクラムマスター
•チーム
儀式
•スプリント計画
•スプリントレビュー
•スプリント振り返り
•デイリースクラム
道具
•プロダクトバックログ
•スプリントバックログ
•バーンダウンチャート
Mountain Goat Software,
LLC
Scrum フレームワーク
役割
•プロダクトオーナー
•スクラムマスター
•チーム
儀式
•スプリント計画
•スプリントレビュー
•スプリント振り返り
•デイリースクラム
道具
•プロダクトバックログ
•スプリントバックログ
•バーンダウンチャート
Mountain Goat Software,
LLC
プロダクトオーナー
• 製品の機能を決める
• リリース日とリリース内容を決める
• 製品が生む利益(ROI)について責任を持つ
• マーケット価値に従って機能の優先順位を定
める
• 各イテレーションごとに必要に応じて機能と優
先順位を見直す
• 作業の結果を受け入れる、または拒否する
Mountain Goat Software,
LLC
スクラムマスター
•
•
•
•
•
•
プロジェクトのマネジメントの代表
スクラムの価値とプラクティスの実現に責任を負う
障害事項を取り除く
チームが十分に機能し生産的であることを保証す
る
全ての役割の人たちと密接な協力関係を保てるよ
うにする
外部の干渉からチームを守る
Mountain Goat Software,
LLC
チーム
•
•
•
•
•
一般的に5~9人
機能横断的:
•
プログラマー, テスター, ユーザーエクスペリエンス設
計者, など.
メンバーはフルタイムプロジェクトへ参加
•
例外あり (例えばデータベース管理者など)
チームは自己組織化されている
•
理想的には肩書はなし(まれだが・・・)
メンバーの交代はスプリントとスプリントの間のみ
Mountain Goat Software,
LLC
Scrum フレームワーク
役割
•プロダクトオーナー
•スクラムマスター
•チーム
儀式
•スプリント計画
•スプリントレビュー
•スプリント振り返り
•デイリースクラム
道具
•プロダクトバックログ
•スプリントバックログ
•バーンダウンチャート
Mountain Goat Software,
LLC
チームの
キャパシ
ティ
プロダク
トバック
ログ
ビジネス
の状況
スプリント計画会議
スプリント優先付け
•
•
技術要素
スプリン
トゴール
スプリント計画
•
現在のプ
ロダクト
プロダクトバックログを分析・評価
する
スプリントのゴールを選択する
•
•
Mountain Goat Software,
LLC
どのようにスプリントゴールを達成す
るか決める (計画)
プロダクトバックログアイテム(ユーザ
ーストーリーやフィーチャー)からスプ
リントバックログの作成 (タスク)
スプリントバックログを時間で見積る
スプリン
トバック
ログ
スプリント計画
•
•
チームは、チームが完了を約束できるプロダクトバック
ログ項目を選択する
スプリントバックログの作成
•
•
•
タスクが分類され、それぞれが1~16時間の間で見積りされ
る。
チーム共同で実施し、スクラムマスター単独では実施しな
い
上位レベルの設計を検討する
休暇のプランナーと
して、ホテルの写真
をみることができる
Mountain Goat Software,
LLC
中間層をコーディング (8時間)
UIのコーディング (4時間)
テスト用のfixtureの作成 (4時間)
Fooクラスのコーディング (6時間)
性能テストの更新 (4時間)
デイリースクラム
• パラメーター
•
•
•
毎日
15分
立って
•
•
誰でも参加可能
ただしチームメンバー、スクラムマスター、プロダク
トオーナーのみ発言できる
• 問題解決の場ではない
• 他の不要なミーティングへの出席を避けるの
を助ける
Mountain Goat Software,
LLC
全員が3つの質問に答える
昨日何をやったか?
今日何をするか?
困っていることは?
•
•
1
2
3
スクラムマスターへの進捗報告の場ではない
みんなの前でコミットする
Mountain Goat Software,
LLC
スプリントレビュー
• チームはスプリント中に成し遂げたことを発表
•
•
する
一般的には、新しい機能のデモや土台のア
ーキテクチャーをデモする
非公式
•
•
準備に2時間以上使わない
スライドは使わない
• チーム全員が参加
• 誰でも招待できる
Mountain Goat Software,
LLC
スプリント振り返り
• 定期的にうまくいったこと、いかなかったことを
振り返る
• 通常 15~30分
• 各スプリントの後に実施する
• チーム全員が参加
•
•
•
•
スクラムマスター
プロダクトオーナー
チーム
可能なら顧客やその他の関係者も
Mountain Goat Software,
LLC
やること / やめること / 継続すること
• チーム全体で以下の点についてまとめ、議論
する:
やること
やめること
これはスプリント振
り返りの数あるやり
方のひとつである
Mountain Goat Software,
LLC
継続すること
Scrum フレームワーク
役割
•プロダクトオーナー
•スクラムマスター
•チーム
儀式
•スプリント計画
•スプリントレビュー
•スプリント振り返り
•デイリースクラム
道具
•プロダクトバックログ
•スプリントバックログ
•バーンダウンチャート
Mountain Goat Software,
LLC
プロダクトバックログ
• 要求事項
• プロジェクト中求められる全て
プロダクトバック
ログ
Mountain Goat Software,
LLC
の成果の一覧
• 理想的には、各アイテムごとに
利用者、顧客における価値が
記述されていることが望ましい
• プロダクトオーナーによって優
先順位付けされる
• 各スプリントの開始前に再度優
先順位は振り直される
プロダクトバックログのサンプル
バックログアイテム
ゲストが予約することができる
ゲストとして、予約をキャンセルすることがで
とができる
ゲストとして、予約日時を変更することがで
ができる
ホテルの従業員として, 部屋ごとの収支レポ
レポートを作成することができる
見積り
3
5
3
8
例外処理を改善する
8
・・・
30
・・・
50
Mountain Goat Software,
LLC
スプリントのゴール
• スプリント中に集中すべき事項について短くま
とめたもの
ライフサイエンス
データベースアプリケーション
遺伝学の研究に必要な機能を
実現する
Oracleの他にSQL Server上
でもアプリケーションが動作す
金融サービス
るようにする
リアルタイムのストリーミングデータを
利用して、ABC社より優れたテクニカ
ル指標を実現する
Mountain Goat Software,
LLC
スプリントバックログの扱い方
•
•
•
•
•
•
チームメンバーが自身でタスクを選択する
• 他人によって割り当てられない
作業の想定残り時間は毎日更新される
チームメンバーのだれでも、スプリントバックログの追
加、削除、変更ができる
スプリントでの作業は明確である
作業が不明確な場合, 大きな時間を割り当てたスプリ
ントバックログ項目を定義し、後で細分化する
中身がはっきりしてきたら、残り時間の見積りを更新す
る
Mountain Goat Software,
LLC
スプリントバックログ
タスク
UIのコーディング
中間層のコーディング
中間層のテスト
オンラインヘルプ準備
Fooクラスを書く
エラーログ機能追加
Mountain Goat Software,
LLC
月
火
水
木
金
8
4
8
16
12
10
4
8
16
16
11
8
8
8
8
8
8
4
12
8
時間
スプリントバーンダウンチャート
Mountain Goat Software,
LLC
タスク
月
火
8
16
8
12
UIのコーディング
中間層のコーディング
中間層のテスト
オンラインヘルプ準備
水
4
12
16
8
10
16
木
7
11
50
時間
40
30
20
10
0
月
Mountain Goat Software,
LLC
火
水
木
金
金
8
スケーラビリティ
•
•
•
通常、1チームは7±2人から構成される
•
スケーラビリティは複数チームをチーム化することで
実現する
スケーリングにおける要素
•
•
•
•
アプリケーションの種類
チームのサイズ
チームの地理的分散
プロジェクト期間
スクラムは500人以上の要員からなるプロジェクト
で利用された例もある
Mountain Goat Software,
LLC
スクラム オブ スクラムによる規模の拡大
Mountain Goat Software,
LLC
スクラム オブ スクラム オブ スクラム
Mountain Goat Software,
LLC
次にアクセスすべき情報
•
•
•
•
www.mountaingoatsoftware.com/scrum
www.scrumalliance.org
www.controlchaos.com
[email protected]
Mountain Goat Software,
LLC
参考文献
•
Agile and Iterative Development: A Manager’s Guide by Craig Larman
•
Agile Estimating and Planning by Mike Cohn
•
Agile Project Management with Scrum by Ken Schwaber
•
Agile Retrospectives by Esther Derby and Diana Larsen
•
Agile Software Development Ecosystems by Jim Highsmith
•
Agile Software Development with Scrum by Ken Schwaber and Mike Beedle
•
•
•
初めてのアジャイル開発 ~スクラム,XP,UP,Evoで学ぶ反復型開発の進め方 ISBN:978-4822281915
アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~ ISBN:978-4839924027
スクラム入門 - アジャイルプロジェクトマネジメント ISBN:978-4891004408
アジャイルレトロスペクティブズ 強いチームを育てる「ふりかえり」の手引き ISBN:978-427406698
アジャイルソフトウェア開発エコシステム ISBN:978-4894717374
アジャイルソフトウェア開発スクラム ISBN:978-4894715899
Scrum and The Enterprise by Ken Schwaber
User Stories Applied for Agile Software Development by Mike Cohn
Lots of weekly articles at www.scrumalliance.org
Mountain Goat Software,
LLC
帰属
• 以下の行為は自由です:
•
• この文書の共有(コピー、配布、送信)
• 改変(仕事での利用)
ただし以下の条件を満たす必要があります
• 帰属: 作者もしくは権利保持者が指定する方法で、本書の帰属
を示す必要があります (なんらかの方法で作者もしくは原著作者
名を記述しておくことを推奨).
• このライセンスが作者の人格権を侵害したり何
かを制限することはありません
•
詳細についてはhttp://creativecommons.org/licenses/by/3.0/を確
認してください
Mountain Goat Software,
LLC
連絡先
プレゼンテーション作者: Mike Cohn
[email protected]
www.mountaingoatsoftware.com
(720) 890-6110
Mountain Goat Software,
LLC
日本語訳について
•
•
•
•
本文書は、マイク・コーン氏が執筆した「
RedistributableIntroToScrum」の日本語訳です。
本文書は、マイク・コーン氏およびそれに関係する方が公
式に作成した文書ではありません。
本文書の配布、編集は、オリジナルのライセンス(CC
Attribute)に準じます。
日本語訳は、Ryuzee (Ryutaro YOSHIBA)が行いました。
綺麗な訳になっていなかったり誤訳している点があるかと思
いますので、お気づきの方はご連絡ください。連絡先
(http://www.ryuzee.com http://twitter.com/ryuzee)
Mountain Goat Software,
LLC