【とはメモ#2】「Scrum(スクラム)」とは?
前回はアジャイルについて書きました。
今回はScrumについて学習したので、どんなものなのか復習の意味を込めて書き残します。
目次
- 目次
- 「Scrum(スクラム)」とは?
- 「プロダクト」とは?
- 「スプリント」とは?
- 「ロール」とは?
- 「プロダクトオーナー(PO)」とは?
- 「スクラムマスター(SCM)」とは?
- 「開発チーム(DEV)」とは?
- 「イベント」とは?
- 「スプリント計画会議」とは?
- 「デイリースクラム」とは?
- 「スプリントレビュー」とは?
- 「振り返り」とは?
- 「成果物」とは?
- 「プロダクトバックログ」とは?
- 「スプリントバックログ」とは?
- 「インクリメント」とは?
- 「Scrumの目的」とは?
「Scrum(スクラム)」とは?
- アジャイル開発のフレームワークの1つ
- チーム一丸となって「プロダクト」をつくるための最低限のルールを定めたもの
- 3~9人でチームを組む
- 「スプリント」を繰り返しながら開発する
- 以下が定義されている
・「ロール」
・「イベント」
・「成果物」
「プロダクト」とは?
- Scrumで開発されるソフトウェアそのもの
- マニュアルなどドキュメントが含まれていてもよい
「スプリント」とは?
- Scrumの開発の繰り返し単位
- 1スプリントの期間は1~4週間
- 開発メンバの力量で期間の長さは選べる
- スプリントの長さは固定で変更は不可
(開発リズムを一定化することで、チームの生産性の向上と測定が容易なため)
「ロール」とは?
- Scrumでチームメンバーが担う役割
- 以下のロールが定義されている
・「プロダクトオーナー(PO)」
・「スクラムマスター(SCM)」
・「開発チーム(DEV)」
「プロダクトオーナー(PO)」とは?
- プロダクトに責任を持ち管理するヒト
- プロダクトの機能や特徴を定義したり、リリース日を決める
- プロジェクトの目的やゴールをチームに示す
- スプリントで何を優先して作るか優先順位を決める
「スクラムマスター(SCM)」とは?
- Scrumの活動が上手くいくように管理するヒト
- ロールやイベントの目的、やり方などをメンバーに教える教育係
- 何か問題が起きたら解決できるようにメンバーをサポート
- とにかく開発チームが開発に専念できるように努める
「開発チーム(DEV)」とは?
- プロダクトを開発するヒト
- 個人が得意な作業だけを行うのではなく、技術やマネジメントなど機能横断的に振る舞うことが求められる
「イベント」とは?
- Scrumで実施する会議
- 以下のイベントが定義されている
・「スプリント計画会議」
・「デイリースクラム」
・「スプリントレビュー」
・「振り返り」
「スプリント計画会議」とは?
- そのスプリントで取り組む要求と実現方法を決めるための会議
- POはスプリントは達成したいことを伝え、それに対してDEVはどんな作業と見積もりで実現できそうか答える
- 時間はスプリントの期間の5%で固定
「デイリースクラム」とは?
- 毎日決まった場所、決まった時間で行う会議
- DEVが主体となり昨日やったこと、今日やること、問題になっていることを話す
- 時間は15分間で固定
「スプリントレビュー」とは?
- スプリントの「インクリメント」を確認するための会議
- 実際に動くデモを実施し、POがそのスプリントが完了かどうか判断する
- ステークホルダーを招集し、フィードバックをもらう
「振り返り」とは?
- スプリントの進め方を振り返る会議
- あくまで進め方であり、プロダクトそのものの評価は行わない
- 次のスプリントへの改善計画を立てる
「成果物」とは?
「プロダクトバックログ」とは?
- ユーザの要求を記述したもの
- 誰がどんな機能を何のために欲しいかなどを記述する
- POが優先順位をつけて、一覧化しておく
- スプリントの計画管理がしやすいため
- 誰でも更新してOKで日々更新されていく
「スプリントバックログ」とは?
- プロダクトバックログを実現するための具体的なタスクを記述するもの
- DEVがタスクの洗い出しと作業時間の見積もりを反映させる
- スプリント計画会議で作成する
「インクリメント」とは?
- スプリントで完成したプロダクトそのもの
- スプリントレビューで見せられるように動作するものである必要がある
ここまで書いてきた要素でScrumは成り立っています。
ですが、あくまでフレームワークであって、必ず成功できる方法論ではないです。
大事なことは以下の目的を忘れずにチームで協力し合い、失敗から学び、より良いものをつくっていこうとするマインドみたいです。
「Scrumの目的」とは?
- ユーザにとって価値のあるプロダクトをつくること
- 問題発見と改善を繰り返し、チームとして生産性をあげること
以上。