なぜストーリーポイントはフィボナッチ数列の数でつけるのか?
ストーリーポイントはフィボナッチ数列の数でつけられる
アジャイル開発の手法の1つであるスクラム開発では、タスクにストーリーポイントというものをつけます。
ストーリーポイントとは、そのタスクを実装するのに必要なコストを見積もるための単位です。
ストーリーポイントについては、下記の記事もご参照ください。
このストーリーポイントはフィボナッチ数列の数でつけるのが一般的です。
フィボナッチ数列とは、2つ前の数と1つ前の数を足して、0、1、1、2、3、5、8、13……のように続く数列のことを言います。
なぜフィボナッチ数列を使うのか?
ではなぜフィボナッチ数列の数をストーリーポイントにつけるのでしょうか?
それはフィボナッチ数列は、1以外の数であれば、2つに分けられるからです。
例えば、あるタスクに13のストーリーポイントが付けられたとします。
多くの場合、ストーリーポイントは1時間を1点としてカウントしているため、ストーリーポイント13というのはかなりの工数が見積もられている状態で、1日では終わらない作業だということが分かります。
では、このストーリーポイント13の作業を1日で終わるような作業に分割しようとした時に、どのようにすればよいのでしょうか?フィボナッチ数列の性質上、13という数字は5と8を足し合わせてできているため、一番簡単な方法は、ストーリーポイント5の作業とストーリーポイント8の作業に分けることです。
例えば、「モジュールAを開発する」というタスクにストーリーポイント13が付けられたとしたら、ストーリーポイント5程度の「モジュールAの○○部分の開発」、ストーリーポイント8の「モジュールAの××部分の開発」という風に分けていきます。
このストーリーポイント8というのも、1日8時間働くとすると、その作業に完全に専念しないと1日で終わるものではありません。
そのため、ストーリーポイント8のタスクもストーリーポイント3とストーリーポイント5のタスクに分けて管理するというのも視野に入れる必要があります。
このように、ストーリーポイントをフィボナッチ数列で付ける理由は、ストーリーポイントが大きい場合に、作業を分割しやすくするためです。
スクラム開発でタスクにストーリーポイントを付ける際は、参考にしてみてください。