クネビンフレームワークを活用したストーリーポイントの考え方

ソフトウェア工学

ストーリーポイントの基準を考える方法についてアイデアが浮かんだので、それについて書き残しておく。

もしかして世界初では!?とは思ったが、Demystifying Story Point Estimation Using the Cynefin Frameworkという記事を見つけたのでそうではなさそう。

ストーリーポイントとは何か

ストーリーポイント(Story Points)とは、作業の「相対的な作業量・複雑さ・不確実性」を測るための単位である。 一般的な「時間(工数)」とは異なり、作業の難易度やリスク、不確実性などを考慮して見積もることが特徴である。

ポイントの値自体に絶対的な意味はなく、「AタスクよりBタスクのほうが約2倍大変そうだ」といった相対的な尺度として使うものである。多くのチームでは、フィボナッチ数列(1, 2, 3, 5, 8, 13…)を採用することが多いが、これは数値の差が大きくなることで「不確実性」や「リスク」を表しやすいからである。

ストーリーポイントの考え方

ストーリーポイントを扱う際の大前提として、「時間ではなく、作業の難易度や不確実性で見る」という発想が重要である。 実際にどれほどの工数がかかるかは別途推測する場合があるが、ストーリーポイントを設定するときは「予想される難しさ」を基準にする。

また、ストーリーポイントは絶対的な基準ではなく、チーム内での相対的な基準である。チームが変わったり、開発環境が変化したりすると、同じタスクでも難易度の評価が大きく変わる場合がある。そのため、そうした際には都度見直しを行い、チーム全員で認識をアップデートすることが重要である。

いい感じのストーリーポイントがもたらすこと

ストーリーポイントを適切に運用すると、以下のように計画性の向上につながる。

  • スプリントゴールを達成する確度が上がる (チームが実現可能な範囲を把握しやすくなる)
  • 作業に対する認識が揃いやすくなる (メンバー間で「このタスクはどれくらい難しいか」を共通理解しやすくなる)
  • 作業の分割や優先度の判断がしやすくなる (大きすぎるタスクを分割してリスクを小さくするなどの意思決定が円滑になる)

クネビンフレームワークを活用したストーリーポイント基準法

筆者がこの記事を書いているときに思いついた方法として、クネビンフレームワークを用いてタスクを分類し、それぞれに応じてストーリーポイントをつけることで、タスクの難しさやリスクを自然と見積もりに反映させることができる。

クネビンフレームワークとは

クネビンフレームワークとは、意思決定や問題解決の場面でタスクや状況を5つの領域に分類するフレームワークである。

  • 単純(Obvious):ベストプラクティスが明確で、パターン化できる作業
  • 困難(Complicated):専門知識が必要だが、分析すれば解決できる作業
  • 複雑(Complex):結果が予測しづらく、試行錯誤が必要な作業
  • カオス(Chaotic):緊急対応が必要で、解決策がすぐに見えない作業
  • 無秩序(Confused):どの領域にも当てはまらず、何もわからない状態

クネビンフレームワークを使ったストーリーポイントの基準

タスクをそれぞれの領域に分類した上で、下表のようにざっくりとしたポイントの目安を設定する。

クネビンの領域 特徴 ストーリーポイントの決め方
単純(Obvious) 明確な作業で、パターン化できる 1~2ポイント
(過去の類似タスクを参考に素早く見積もる)
困難(Complicated) 分析や専門知識が必要だが、考えれば解決策が見える 3~5ポイント
(プランニングポーカーなどで合意を取りつつ見積もる)
複雑(Complex) 結果が予測しづらく、試行錯誤が必要 8ポイント以上
(スパイク(調査タスク)を挟む、さらにタスクを細分化してから見積もる)
カオス(Chaotic) 緊急対応が必要で、未知のリスクが多く、まず動かなければならない状態 13ポイント以上
(ストーリーポイントよりも、まず緊急対応を優先する。タスクが落ち着いてから見積もる)
無秩序(Confused) どこから手をつければよいかもわからない、完全に混乱している状態 ストーリーポイントを振ることはできない
(タスクを整理し、領域を特定する必要がある)

ストーリーポイント決定の流れ

  1. タスクの特性を判断する
  • すぐに解決策がわかるか?単純(Obvious)
  • 分析や専門知識があれば解決可能か?困難(Complicated)
  • 結果が予測しづらく、試行錯誤が必要か?複雑(Complex)
  • 緊急性が高く、未知のリスクが多いか?カオス(Chaotic)
  • どれにも当てはまらないか?無秩序(Confused)(まずタスクを整理する必要がある)
  1. 分類に応じた見積もり手法を選ぶ
  • 単純(Obvious): 過去の実績から素早く見積もる
  • 困難(Complicated): プランニングポーカーで合意を取りつつ見積もる
  • 複雑(Complex): スパイク(調査タスク)を実施し、タスクを細分化してから見積もる
  • カオス(Chaotic): ストーリーポイントの付与より先に、最優先で緊急対応を行う
  • 無秩序(Confused): まずタスク内容を整理して分類する

タスクの性質に合わせて見積もりプロセスを変えることで、複雑度や緊急度をストーリーポイントに反映しやすくなる。

まとめ

クネビンフレームワークは、課題の整理に役立つフレームワークであり、ストーリーポイントの見積もりと相性が良いように思われる。

実際に現場で取り入れて試しているので、何か気づきがあれば追記したい。