アジャイル・スクラム開発の作業見積(理論編)
ごあいさつ
DWSのみやたんでございます。
前回冒頭でお伝えした、スクラムマスターとしての立て直しプロジェクトが順調に動けており、始動段階では一安心しているところです。引き続き、開発するプロダクトの価値を考えながら、スクラムチームの能力を最大限に引き出すように精進していきます。
私の投稿するブログでは、定期的にスクラムに関連する記事を作成していこうと思います。
スクラムにつきましては、以前に記事を作成しておりますので、「スクラムって何?」という方は、ぜひ以前私が掲載した記事をご覧ください。
前回までは主要なスクラムイベントをご紹介させていただきました。
今回は、アジャイル・スクラム開発の作業工数見積(以下、「作業見積」といいます)についてまとめてみようと思います。
従来型プロジェクトの作業見積について
システムなどの開発を進めるうえで、実施する作業がどのくらいかかるのかを見積もる必要があります。
理由は複数ありますが、代表的なものは以下だと考えます。
- ビジネス上、いつリリースできるのか検討したい
- 作業や機能開発の優先度を判断するために、どのくらい作業工数がかかるのか確認したい
従来型プロジェクトの作業見積は、要件に基づいて作業を割り出し、「時間」で見積もるというケースが多いと思われます。この手法で用いることで以下のような課題がありました。
- 時間見積は間違いが多く、変動も大きい。
- 時間で見積もった場合、担当する作業者が複数いた場合、能力により差が出る。
- プロジェクト管理者が見積もった場合、作業者と考えや工数に乖離が出ることがある。
- プロジェクト開始前とプロジェクト対応中で要件や状況が変化すると当初の見積が変わってしまう。
「アジャイル・スクラム開発における作業見積」とは
前項のような課題対して、アジャイルな見積として以下のような戦略を取ります。
-
時間を見積もらない。
- 基準作業を決定して、基準作業と見積りたい作業で、作業量による相対的な比較をする。
- 基準作業には「時間」ではなく、「ポイント」を付与して比較する。
- 「ポイント」見積とすることで、「時間」見積と比較して、作業者の能力差を緩和できる。(基準作業からの作業量の相対比較の見積なので、能力に関わらず同じ目線で対応ができる。)
- 人間は相対的な大きさで区別するのが得意という研究結果があり、速度向上にもつながる。
-
実際に作業をする人が見積もる。
- チームの一人だけで作業実施することを想定しない。
- 管理者ではなく、実際に作業を実施する人が見積もることで精度があがる。(作業内容もしっかり把握や検討ができる。)
-
見積を1回だけで終わらせない。
- プロジェクト期間を通じて常に見積もりを行なう。
- 要件が変更されると見積が変わったり、優先順位が変わる。
- 優先度の高いものから見積もり、必要な機能を実装して素早くプロダクト価値を届けられるようにする。
- 上述の理由より、最初から全工程全作業を見積もらない。(必要機能や優先する作業などを決めてやるのが効率的。この考え方はプロジェクト状況により変わる。)
なぜ上記のような作業見積戦略を取るのか
作業見積(理論編)のポイントとして、箇条書きでまとめてみます。
- 作業見積が「目的」ではない。(本当に欲しいのは顧客に届ける「 価値あるプロダクト 」)
- 対応速度が要求される。
- 顧客に価値あるプロダクトを早く届けるなら作業見積に時間をかけるべきではない。
- 効率的に作業見積するため、人間の得意な相対評価で実施。
- 要求(需要)は日々変化する。
- 本当に必要なものから対応して、重要な機能やパーツを優先的に対応する。
- 全作業見積もっても、要件変更で無駄になる可能性がある。
- 「価値あるプロダクト」を実装するために、変更を喜んで受け入れる必要がある。
まとめ
今回は、アジャイル・スクラム開発の作業見積についてご紹介しました。
従来型プロジェクトの作業見積における課題をもとに、アジャイル・スクラム開発では、従来とは異なる考え方で作業見積を進めていくのが一般的です。
次回は実際にどのように作業見積を進めていくのか「実践編」としてまとめていきたいと思います。
最後までご覧いただきありがとうございました。