アジャイル開発のスクラムを学んでみました。
参考:
スクラムとは
一定期間で動くプロダクトを作り、それに対してのフィードバックを行いながら開発をしていくアジャイル開発のうちの開発手法の一つ
役割
プロダクトオーナー
- プロダクトの価値を最大化する
- プロダクトバックログの管理をする
- プロダクトバックログの項目の並び順を決める
スクラムマスター
- スクラムの仕組みを円滑に回るようにさせる
- 周りからの妨害からスクラムチームを守る
- タスクのアサインや進捗管理をしない
(スクラムマスターはプロジェクトをブンブン回すようなイメージがありましたが、調べてみると縁の下の力持ちのような存在でした)
開発チーム
- モノを作る
- 肩書きなどはなし(プログラマーやテスターなど)
ステークホルダー
- プロダクトの利用者、出資者などの利害関係者
用語
プロダクトバックログ
- 実現したいことをリストにして並べる
スプリントバックログ
- 選択したプロダクトバックログ項目と実行計画
- プロダクトバックログを具体的な作業に分割する
- 一つ一つのタスクは1日で終わるサイズに分割する
インクリメント
- スプリントで作成された実装・テスト済みの機能
スプリント
- スプリントゴールを達成するための一定に決められた期間のこと
- 1ヶ月以内に設定する
- 期間の長さは固定
スプリントプランニング
- プロダクトオーナーが何をして欲しいかを決める
- 開発チームはどれくらいできるか
- 開発チームはどうやって実現するか
スプリントレビュー
- 完成したものを関係者にデモする
- フィードバックをもらう
- プロダクトオーナーが主催する
- 今後の予定や見直しを共有する
スプリントレトロスペクティブ
- バグが生まれるプロセスを見直す
- うまくいったこと、今後の改善点を整理する
デイリースクラム
- 毎日決まった時間に集まって行う
- 話す内容
- スプリントゴールを達成するために昨日やったこと
- スプリントゴールを達成するために今日やること
- スプリントゴール達成の妨げになる障害や問題点
スクラム開発の流れ
プロダクトの機能や要求をリストにする(プロダクトバックログ)。
↓
スプリントのゴールを決めてそのスプリントで開発する項目をプロダクトバックログから選択し(スプリントプランニング)、その項目のためにどのような作業が必要なのか、また必要な作業を1日で開発できる単位に分割する。
↓
開発して動作するプロダクト(インクリメント)を作成する
↓
インクリメントをデモしてフィードバックを得る(スプリントレビュー)
↓
スプリントの中での改善点などを話し合う(スプリントレトロスペクティブ)
上記を繰り返す