
スクラム開発とは?/「SCRUM BOOTCAMP」要約
こんにちは。あらためてスクラムについて基礎から理解したくて「SCRUM BOOTCAMP」という本を読みました。その内容と、個人の経験から重要だと感じたポイントを書いていきます。
読んだ目的
なんとなく理解し業務に携わっていた「スクラム開発」についてあらためて理解をし、自身のプロダクト開発案件に活かすため。
この記事で学べること
スクラム開発の全体像とやることや役割について
実際の開発をうまく進めていくためのポイント
アジャイル開発手法の比較
そもそもスクラムとはアジャイル開発の手法の一つであり、分からないことが多いような複雑な問題を扱うのに適している。
要求を価値やリスク、必要性などを基準に優先度付けし、その順にプロダクトを作ることで成果を最大化する。

スクラムの全体像

スクラムを構成するもの
大きく分けて5つのイベント、3つのロール、3つの作成物に分かれる。
5つのイベント
【イベント1】スプリント
1ヶ月までの同じ期間に区切って繰り返す。期間の長さは変えない。
計画/設計/開発/テストなど必要な作業すべてを行う。
【イベント2】スプリントプランニング
スプリントで何を作るのか(What)、またどうやって作るのか(How)を決める。考慮すべき点は以下の3点。
POは、このスプリントで何を達成したいのか。
そのためには、どのバックログ項目を選ぶか。
スプリントゴールはなにか。簡潔なゴール。
スプリントバックログリファインメントを行う。
項目の中身を具体化、疑問点を解決し、項目は何をもって完成か。項目を見積もる。
【イベント3】デイリースクラム
開発チームが行う。スプリントバックログの残作業を確認し、このまま進めて達成 でけいるかを毎日同じ時間に検査。
【イベント4】スプリントレビュー
スプリントでの成果物を関係者にデモをし、フィードバックを得てプロダクトバックログを見直す
Point : 完成したプロダクトバックログ項目と、完成しなかったプロダクトバックログ項目を明らかにしておく。
【イベント5】スプリントレトロスペクティブ
もっとうまく進めれるように振り返り改善する
Point : 一度のたくさんのことを変更しようとしない
次にロール(役割)について。
3つのロール
【ロール1】プロダクトオーナー(PO)
プロダクトのWhatを担当
プロダクトバックログの責任者
プロダクトビジョンを明らかにし、共有し、リリース計画を定め、予算を管理する
プロダクトの責任者であり、プロダクトに1人必要
【ロール2】開発チーム
プロダクトのHowを担当
3-9人が適切な規模
【ロール3】スクラムマスター
スクラムというフレームワークがうまく回るようにする
スクラムのルールや数s目方をPOや開発チームに理解させ、妨害からチームを守る。
この3つのロールを合わせて、スクラムチームという
最後に作成物について。
3つの作成物
【作成物1】プロダクトバックログ
実現したいことをリストにしたもの
【作成物2】スプリントバックログ
選択したバックログ項目と実行計画
プロダクトバックログを具体的な作業に分割する
1タスクは1日以内で終わるサイズにする
【作成物3】インクリメント
開発チームが作る。これまでのスプリントでの成果と、今スプリントで完成したプロダクトバックログ項目を合わせたもの。
リリースに関係なく、動作して検査可能でなければいけない。
重要ポイント
個人的の経験と照らし合わせて重要だなと感じた点をピックアップ。
・プロダクトのゴールとミッションを明確に定義しておく
スクラムは、ゴールに向かって進んでいき、バックログもゴールに向けて積まれている。
例えばエレベーターピッチなどを作成し、ゴールを言語化しておくと良い。
・分からないことや不安を、会話を通じて取り除く
とことん会話して、不安や疑問点を潰していく。疑問がある状態でゴールやミッションを達成することは難しいから。能動的に会話の時間を捻出し、目線を合わせよう。
・スクラムチーム全員で、プロダクトバックログに積んでおくべき項目を、最初に洗い出しておく
とにかく致命的な漏れがないように、時間をかけてもいいので最初に洗い出す。超重要、最低限必要、あれば嬉しいなど、
様々な視点で書き出そう。
・プロダクトバックログは、ユーザーストーリー単位で書く
ユーザーストーリー単位で実現していくことで、達成すべきゴールを満たせそうかをユーザに提供したもので判断可能となる。
ユーザーストーリーは、「こんなものがほしい」の背景や意図を伝えることができる。これがデザインプロセスや開発段階で大いに役立つ。
「なぜ、それが必要なのか。それは、なぜ?」と問い続けよう。そして会話を通じて相互理解していこう。
・スクラムチーム全員が、プロダクトバックログを十分理解する
スプリントが始まるとプロダクトバックログを道しるべに開発が進むため、何が重要かを知って置かなければ作業はうまく進まない。
・見積=作業の量=推測。素早くやる
そもそも見積は、作業者(開発)が作業の量で行う。簡単/少し大変/結構大変、の3つで分類し、少し大変くらいを基準に見積もる。曖昧なものは会話して解いていく。
・ベロシティ(スクラムチームの開発スピード)が分かれば、先を見通せる
・絶対に必要な項目の見積の合計 / ベロシティ = 必要なスプリント数
・ベロシティ × 期間内に実施できるスプリント数 = 実現できるポイント (どこまで実現できそうか)
ベロシティを図ることで、次のスプリントでどこまで実装できるか、また最終ゴールにはいつたどり着くかが分かる。
・楽しく振り返るためのTIPS
・お菓子を食べながらやる
・少しでも良かった点から振り返る
・手戻りを防ぐTIPS
実現したいことを深く理解し、決めるべき仕様を決め、技術的にどう実現するといいかを確認しておく。そのために会話を重ねる。なぜなら、実現したいことが曖昧だと、作るものも曖昧になり、やり直しが発生する。
・開発チームのスキルや考え方、得意分野や特性を理解しておく
考え方、経験、仕事のやり方などを理解し、100%力を出せるようにする。
・失敗から学ぶ姿勢を忘れない。コミットしてくれるように取り組んでいく
コミット=責任が伴う約束。常にベストを尽くし、失敗したら改善してまた取り組んでいく。スプリントは続く。チームとして成長していく。
・リリーススプリントはスプリントと別で取る。
理想はスプリント内でのリリースだが、最初は難しい。別途時間を取って向き合う。
その他、気になった点
Q : プロダクトオーナーには、どんな人がなるべき?
A : 自分たちが作ったものがどうすれば少しでも良くなるか、熱心に取り組める人。またマーケットの知識があれば尚良し。
Q : プロダクトオーナーがスクラムマスターを兼任してもいい?
A : 絶対にNO。POは熱意はあるが、知らずのうちに開発にプレッシャーを与えがち。一方でスクラムマスターは無理せず開発が行われる環境を作らないといけない。つまり、両者の考え方の方向性が違う。
Q : PdMはどんな役割?
スクラムでのPOに近いが、一方でスクラムマスターのように開発体制を整える役目もある。さらに高い視座でプロダクトの成功に責任をもち、開発、ビジネス両方の視点でプロダクトチームをリードする。
またビジネスでの成功のためにメトリクスの設計やマーケティング戦略の立案まで行う。

最後に
今回は「SCRUM BOOTCAMP」を読んで感じたことや、重要ポイントをまとめてみました。
プロダクト開発は奥が深く、まだまだ自分に足りない点がたくさんあるなと日々実感します。これからもインプットとアウトプットを繰り返していきます。