目的
現場でスクラム開発を2年ほど経験し、短期的ではあるがスクラムマスターの経験も積む機会があったので、今後より良くスクラム開発を進める在り方を「SCRUM BOOT CAMP THE BOOK」という書籍と自分の現場の経験をもとに今回は5つにフォーカスしてまとめてみました。
スクラム開発の概要
簡単にスクラム開発とは、「アジャイル開発」のフレームワークの1つで、一定期間ごとに優先度の高い機能を盛り込んだソフトウェアを作り、それを評価しながら開発を進める手法です。計画と改善を繰り返すことでリスクやエラーを軽減でき、現在ではアジャイル開発の中では主流の手法となっています。
今回はスクラム概要については割愛します。詳しくはこちらの記事に書かれています。
より良く開発を進めるポイント
-
短期で開発を進める時はミッションとゴールを明確にする
短期で開発を進めるときは期間が決まっているので、ゴールが明確でないと逆算して計画を立てることが難しくなってしまい、なんとなくで開発が進んでしまいます。また何は絶対に実現したいというミッションもあるとさらに作業の見積りがしやすく開発全体が引き締まります。このゴールとミッションを意識してプロダクトオーナーはプロダクトバッグログを管理することが大切になってきます。
ゴールとミッションを意識したスクラム開発
ゴール:どういうことを実現するのか
ミッション:絶対に達成したいことは何か
-
インクリメントの完成の定義を決める
開発者はタスクを振られ自分で見積もりをしてタスクに着手します。ですが、タスクの終わりが明確になっていないとまたこれも見積もりが難しくなってしまいます。完了の定義は様々ですがバックログを作成するタイミングでしっかりと決めておきましょう。
完了の定義はたくさんある
コードレビュー、カバレッジ85%、テスト実施、ドキュメント作成、デプロイ、、、etc
これらが事前に決まった状態で作業に取り掛かる
-
難易度の見積は相対的に行う
作業の見積もりは、まだ行なっていない作業を一つ一つ付けていくので非常に難しく、また 「あっちの作業よりは時間がかかるけどこっちの作業よりは早くできそう」 といったことが後から出てきて正確な見積もりができなくなってしまいます。まずわかり易い作業の見積もりをしてその作業と比較して他の作業の見積もりを行うことが大事。これらはプロダクトオーナーの主観でも良いが開発チームで決めてみると人によって見積もりの差が出てさらに見積もり精度が上がる。
見積もりポーカー
開発チームで作業の見積りを決めていくための手法の一つ
詳しいやり方はこちらを参考にしてみてください
-
スプリントは一定、スプリントレビューでしっかり成果を振り返る
基本的にスプリント期間は常に一定です。後少しで作業が完了できそうだからといってスプリントに期間をその場で伸ばしたりしては意味がありません。また、100%作業を完了しなければいけない訳ではありません。 しっかりとスプリントレビューの場でどんな成果物ができたのか、できなかったことも含めて共有し次の見積もりに繋げていくことが大事。
作業が完了できなかったことでも得られるものはある
無理な見積りをしていたことがわかる
→次の見積もりに活かせる!
完了できなかった要因はチームで解決する
→他の人の同じ躓きを防ぐ!
-
スクラムルールはチームで決めることに意味がある
スクラム開発はスプリント内で行うイベントや時間などの制約が多く全員が全てを完璧に進めることはなかなか困難なケースもある。そのため独自でルールを作ることである程度の許容やリカバリー、またミスなどを防ぐことができます。大事なことは誰かが決めたルールではなく、スクラムチーム全体で話し合いルールを決めることです。自分達が決めたルールだからこそしっかりと継続して守ることができます。
みんなで決めるからこそルールはいつでも変えられる
無理なルールや不要になったルールなどが出てくることもあるので、気になったタイミングでルールの見直しをすることで窮屈にならない環境を作る
まとめ
今回まとめたポイントはスクラム開発を進めるにあたってのほんの一部です。これらのことをスクラムマスター、プロダクトオーナー、開発チーム全員が意識することでより良い開発を進めることに繋がります。スクラムマスター経験をする機会が増えたので意識して今後もスクラム開発を進めていきたいと思います。