はじめに
開発チームのベロシティが安定しない、スプリントプランニングで決めたタスクが終わらない、といった悩みはありませんか?
その原因は、「見えない作業」 がベロシティに含まれていないことにあるかもしれません。
本記事では、チームの活動を正しく計測し、持続可能な開発ペースを作るための「ストーリーポイント(SP)管理・可視化術」についてまとめます。
ストーリーポイントを最適に運用するために
1. ストーリーポイントは「全てのタスク」に設定する
多くのチームが「ユーザーストーリー(機能開発)」だけに見積もり(SP)を行っていますが、これはアンチパターンになりがちです。なぜなら、開発者の時間は機能開発以外にも奪われているからです。
なぜ全タスクにつけるべきなのかの理由は以下です。
- 「隠れタスク」の可視化: 環境構築、リファクタリング、突発的なバグ対応などもリソースを消費します。これらにSPをつけないと、「何も生み出していない時間」 のように見えてしまいます。
- 真のキャパシティ把握: 全ての作業にポイントを振ることで、チームが1スプリントで消化できる「総労働量」が明確になります。
2. タスクを適切に「分類」する
全てのタスクにSPを振った上で、それらがどのような性質のものかを分類(ラベリング)します。これにより、「何に時間を使っているか」が分析できるようになります。
推奨する分類例
| 分類 | 内容 | 例 |
|---|---|---|
| ユーザーストーリー | ユーザーに直接価値を届ける機能 | ログイン機能、カート追加機能 |
| 非機能要件 | 機能ではないがシステムに必要なもの | セキュリティ対応、パフォーマンス改善 |
| プロセス改善 | チームの開発効率を上げる活動 | CI/CD整備、自動テスト導入 |
| 運用・バグ対応 | 突発的な対応や負債の返済 | 本番障害調査、既存バグ修正 |
3. 積み上げグラフで「タスクの中身」を見える化する
ベロシティの合計値だけを見ていては、チームの健全性は分かりません。「合計SPは高いが、バグ対応ばかりで新機能が出ていない」という状況を防ぐために、積み上げ棒グラフ(または積み上げ面グラフ) を活用します。
グラフから読み取れること
グラフのY軸をSP、X軸をスプリントとし、分類ごとに色分けして積み上げます。
- ユーザーストーリー(青)の比率: ここが低い場合、技術的負債や運用に圧迫されており、ビジネス価値が出せていない可能性があります。
- 非機能要件(黄)の比率: ここが高い場合、ユーザストーリーの消化が低くなる可能性があります。CIや自動化などプロセス改善をして数値を低くしていく必要があります。
- プロセス改善(緑)の有無: ここが常にゼロだと、将来的に生産性が頭打ちになるリスクがあります。
-
バグ対応(赤)の増加: ここが高い場合、ユーザストーリーの消化が低くなる可能性があります。また急激に増えている場合、品質管理プロセスを見直すシグナルです。
可視化のゴール:
単に「たくさん消化したか」ではなく、「健全なバランスで開発できているか」 をチームで振り返るために使用します。
上記のグラフのように、健全な開発のバランスはユーザストーリーの消化が全消化ストーリーポイントの半分以上を占めている、且つ非機能要件や、プロセス改善も消化できている状態です。
逆に不健全な開発のバランスの場合は、バグ対応に追われ続けており、実質の生産性は高くないことがわかります。
4. ベロシティから「消化可能SP」を算出する
過去の実績(ベロシティ)をもとに、次のスプリントでコミットできるSPを算出します。
算出方法
実績(ベロシティ)はブレが生じる可能性が高いので、前スプリントだけの実績だけで考慮するのはリスクがあります。例えば、下記グラフのSprint3のように何かしらの理由で消化ポイントが著しく悪くなることがあります。

なので、基本的には 「直近3スプリントの平均ベロシティ」 を採用するのが安全です。
\text{次回のキャパシティ} = \frac{(\text{Sprint}_{n-1} + \text{Sprint}_{n-2} + \text{Sprint}_{n-3})}{3}
運用ルール
- 算出したキャパシティを超えてタスクを詰め込まないこと。
- 休暇予定のメンバーがいる場合は、その割合分を差し引くこと(例:稼働が90%ならキャパシティも0.9倍)。
まとめ
ストーリーポイント運用を成功させるための4つの要点は以下の通りです。
- 全タスク見積もり: 機能開発だけでなく、雑務や改善タスク含む全てのタスクにストーリーポイントを設定し、チームの総負荷を数値化する。
- タスク分類: 「ユーザーストーリー」「非機能要件」「プロセス改善」「バグ対応」などに分類分けを行い、作業の質を定義する。
- キャパシティ算出: 希望的観測ではなく、実績(ベロシティ)ベースで次スプリントの消化可能ポイントを算出し、守れる計画を立てる。
- 内訳の可視化: 積み上げグラフを使用して、ベロシティの内訳(何に時間を使ったか)を可視化し、チームの時間の使い方を継続的に改善する。
