SCRUM BOOT CAMP THE BOOK(西村直人 永瀬美穂 吉羽龍太郎)|翔泳社の本
本を読む目的
仕事でスクラム開発をしているが、改めてスクラムのやり方を見直したいと思ったため。(今の会社に入社する前に本を読んだりしていたけれど、ふんわりとした理解になったままにしていたので、いい加減見直そうと思ったのです...)
読書メモ
# 基礎編
## アジャイル開発ってなんだろう?
- 事前にすべてを正確に予測し、計画することはできないという前提
- 要求の分析や設計などに必要以上の時間をかけない
- 重要なもの、リスクの高いものを先に作理、重要度の低いものはあとに回す
## Scrumってなんだろう?
- アジャイル開発手法の1つ
- 目的を達成できるプロダクトを作るために、全員が一丸となって行うべき作業、会議、成果物を定めたもの
## 要求を並び変える
- プロダクトへの要求を抽出し、順番に並び替えたプロダクトバックログと呼ばれるリストを1つ作成する
- プロダクトバックログの項目の書き方は、ユーザーストーリーと呼ばれる形式で書くことが多い
## プロダクトの責任者は誰?
- プロダクトオーナー
- プロダクトバックログの管理の責任がある
- プロダクトが生み出す価値を最大化する責任がある
## 動作するプロダクトを作成する
- チームは基本的に、3 ~ 9人で構成す
- 3人より少ないと個人のスキルに依存するなど、チームとして活動する効果が出にくくなる
- 9人より多いとコミュニケーションコストが増える
- 機能横断的なチーム
- プロダクトを作るために必要なすべての作業ができなければならない
- 作業を進めていく中で、個人が複数のことができるようになることが望まれる
## 短く区切ってくりかえす
- スプリント
- 最長1ヶ月までの固定の期間に区切って、くりかえし開発を行う
- プロダクトのリリース判断に必要なすべてのことを行う
- e.g. 計画、設計、開発、テスト
- メリット
- 開発チームにリズムができて集中できる
- 進捗を把握しやすくな理、リスクに対応しやすくなる
## 頻繁に計画する
- スプリント計画ミーティング
- スプリントで何を作るのか(What)、どのように作るのか(How)を計画する
- 二部構成で行う
- 第一部: プロダクトバックログのどの項目を開発するか検討し、すぐに開発が行えるように内容を詳細化する
- プロダクトオーナーは何を欲しいのか
- 開発チームはどれくらいできそうか
- 第二部: 第一部で選択したプロダクトバックログの項目を完了させるために、必要な作業を開発チームで洗い出す
- 最初にスプリントの目標をまとめる (スプリントゴール)
- 開発チームで洗い出したタスクの一覧をスプリントバックログと呼ぶ
- 各タスクは1日以下の単位にする
- 開発チームは、スプリント計画で合意した内容を完了させるために全力を尽くすが、すべて完了させることを約束している訳ではない
- 見積もりがはずれる、完了させるために必要な作業を省いてしまうなどのリスクがあるため
## リリース判断可能ってなに?
- スプリント単位でリリース可能なプロダクトを作ることが求められる
- プロダクトオーナーと開発チームでリリース判断可能の共通の基準を持つ必要がある (完了の定義)
- 完了の定義 = 品質基準
## 毎日状況を確認する
- デイリースクラム
- 15分のタイムボックス(延長禁止)で、3つの点を開発チーム全体に向けて報告する
- 前回のデイリースクラムからやったこと
- 次回のデイリースクラムまでにやること
- 困っていること
- スプリントゴールに向かっているか、進捗はどうか、協力が必要なことはないかを確認
## できあがったプロダクトを確認する
- スプリントレビュー
- スプリントの最後に、プロダクトオーナーがプロダクトを確認する機会
- 実際に動作するプロダクトで確認する
- その他として報告・議論すること
- 開発チームが、完了できなかったプロダクトバックログの項目について説明
- プロダクトオーナーが、プロダクトの状況・ビジネスの環境について説明
- プロダクトバックログに追加すべき項目の有無について議論
- プロジェクトを進める上で問題になる事項についての議論
- 所要時間
- 1ヶ月スプリント: 4時間
- 2週間スプリント: 2時間
## もっとうまくできるはず
- スプリントの最後にふりかえり(レトロスペクティブ)をおこなう
- 直近のスプリントで問題がなかったか、もっと成果を出すためにできることはなかったかを検査する
- 次回のスプリント以降のアクションプランを決める
## 縁の下の力持ち
- スクラムマスター
- スクラムのプロセスが円滑に回して、プロダクトがうまく作れるようにプロダクトオーナーと開発チームを支える役割
- プロダクトオーナー、開発チーム、スクラムマスターを合わせて、スクラムチームと呼ぶ
# 実践編
##
-