ストーリーポイントって何?わかりやすく解説

ソフトウェア開発の現場で「このタスクは5ポイント、あっちは13ポイント」なんて会話があって、なんのこっちゃ分からないことってないですか?実は、これを理解するだけで、チームの仕事がどれくらい進んでいるのかが見えるようになるんです。この記事を読めば、ストーリーポイントがどんなものなのか、どうやって使うのか、すべてわかるようになりますよ。

先生、ストーリーポイントって何ですか?数字ですか?

いい質問だね。ストーリーポイントってのは、プログラミングの仕事がどれくらい大変かを表す数字のことなんだ。つまり、仕事の「難しさ」と「複雑さ」と「時間がかかる度合い」を全部合わせた、相対的な大きさを表す単位だよ。実際の時間じゃなくてね。
相対的な大きさ?それってどういう意味ですか?

例えば、君が友達と一緒にお店で自炊するとして、「目玉焼きを1ポイント」として決めたら、「味噌汁は3ポイント」「オムライスは5ポイント」みたいに、目玉焼きと比べてどれくらい大変かで決めるってことなんだ。つまり、基準となる仕事を決めて、それとの相対的な比較で大きさを表すんだよ。
あ、わかりました。でも、なんで実際の時間じゃなくて、こんな相対的な大きさを使うんですか?

いいところに気付いたね。時間で見積もるって難しいんだ。「このプログラムを書くのに何時間かかるかな?」って予測するのって、やってみないと分かんないでしょ?でも「あっちの仕事と比べて、こっちの方が複雑だ」って判断するのは、簡単なんだ。だから、ストーリーポイントを使って、チーム全体で「この仕事はどれくらい大変か」を相談して決めるんだよ。
📝 3行でまとめると
  1. ストーリーポイントは 仕事の大きさを表す数字 で、実際の時間ではなく難しさや複雑さを表す
  2. 相対的な比較 で決める。基準となる仕事を決めて、それとの大小関係で評価する
  3. 見積もりの精度を上げるために、チーム全体で相談して ポイントを決める
目次

もうちょっと詳しく

ストーリーポイントは「アジャイル開発」という仕事の進め方の中で使われています。つまり、仕事を小分けにして、短い期間でどんどん進めていく方式ですね。その中で、チームメンバーが「あの仕事とこの仕事、どっちが大変か」を比較して、数字で表すのがストーリーポイントなんです。普通は1、2、3、5、8、13、21みたいなフィボナッチ数列という特殊な数列を使うことが多いですよ。

💡 ポイント
時間で見積もらない理由は、誰が担当するかで時間が変わっちゃうから。でも「難しさ」は誰がやっても同じ!

⚠️ よくある勘違い

❌ 「ストーリーポイントは時間だ」
→ 違います。1ポイント=1時間じゃないんです。むしろ、1ポイントの仕事が誰かには1時間で終わるかもしれないし、他の人には3時間かかるかもしれません。ポイントは「相対的な大きさ」であって、絶対的な時間ではないんですよ。
⭕ 「ストーリーポイントは仕事の複雑さ度合いだ」
→ これが正解。技術的に難しいこと、やることが多いこと、予測不可能な部分があることなど、全部をまとめて「相対的な大きさ」として表すのがストーリーポイントです。
なるほど〜、あーそういうことか!

[toc]

そもそも、なぜストーリーポイントなんて使うの?

プログラミングの仕事の見積もりって、すごく難しいんですよ。例えば、あなたが「このゲームアプリの新機能を作ってください」と言われたとしましょう。普通のやり方だと「3時間で完成します」とか「2週間かかります」みたいに時間で答えないといけません。でも、やってみたら予想より大変だったり、逆に簡単だったりして、見積もりが外れちゃうんです。

そこで登場するのがストーリーポイントなんです。時間で見積もる代わりに、「この機能は難しい度が5で、あの機能は難しい度が2」という感じで、相対的な大きさだけを決めるんですよ。相対的な比較なら、チームみんなで相談して「あれと比べたら、これの方が複雑だよね」という共通理解が作りやすいんです。そういう理由で、ストーリーポイントが使われているんですね。

実際には、プロジェクトが進む中で、チームは「1ポイントの仕事にはだいたい何時間かかるのか」という経験が溜まっていきます。例えば「うちのチームは1ポイント=だいたい3〜4時間」みたいなパターンが見えてくるんです。そうなると、1週間で30ポイント分の仕事ができるなら「30ポイント÷3時間=10個の仕事が終わる」みたいに、時間の予測もできるようになるんですよ。これが見積もりの精度を高くする秘訣なんです。

ストーリーポイントを決める時の流れ

では、実際にストーリーポイントをどうやって決めるのか、説明しますね。

まず、開発チーム全体が集まります。そして、これからやる仕事の一覧を見ます。これらの仕事を「ユーザーストーリー」と呼びます。つまり、最終的にどんな機能が完成するかを、ユーザー目線で説明した仕事の単位ですね。例えば「ユーザーが自分のプロフィール画像を変更できるようにする」という感じです。

次に、基準となる仕事を一つ決めます。例えば「このプロフィール画像の変更機能を3ポイント」と決めたとしましょう。そしたら、他の仕事が「あのプロフィール画像変更より簡単だから2ポイント」「もっと複雑だから5ポイント」という感じで、どんどん比較していくんです。

この時に大事なのが、チーム全体で相談することなんですよ。例えば、プログラマーは「技術的に難しい」という視点で見るかもしれません。でも、テストを担当する人は「テストするのに時間がかかる」という視点で見るかもしれません。色んな視点から「この仕事はどれくらい大変か」を考えることで、より正確な見積もりができるんです。

もし、チームメンバーの意見がバラバラだったら、どうするんでしょうか?例えば、Aさんは「これは3ポイント」と言ったけど、Bさんは「5ポイントだ」と言ったとしましょう。そしたら、なぜそう思うのか、理由を聞き合うんです。「Aさんはなぜ3ポイントだと思ったの?」「Bさんは何が難しいと思ったの?」って。そうやって、全員で「あ、そっかあの部分が複雑だから5ポイントなんだ」という共通理解に辿り着くんですよ。これをプランニングポーカーという方法でやることが多いんです。

実際の仕事で、ストーリーポイントがどう使われているか

では、ストーリーポイントが現場でどういう風に活躍しているのか、見てみましょう。

例えば、あなたがゲーム開発会社にいるとしましょう。新作ゲームのために、これからやる仕事が100個あるとします。でも、2週間で全部終わらせないといけません。そしたら、チームで相談して、各仕事にストーリーポイントをつけるわけですよ。

「ゲームのキャラクターが動く機能」が8ポイント、「敵キャラの人工知能を作る」が13ポイント、「ゲーム開始画面を作る」が5ポイント、「音声効果を追加する」が3ポイント、みたいな感じでね。

そしたら、過去のデータを見ます。過去3ヶ月間、チームは1週間で平均50ポイントの仕事をこなしていたとしましょう。これを「ベロシティ」と呼びます。つまり、チームの仕事の速さですね。

ベロシティが50ポイント/週だったら、2週間で100ポイント分の仕事ができるということになります。丁度いいですね!だから、優先順位の高い仕事から順に、合計100ポイント分を選んで、2週間でやる、という計画を立てるんです。

このやり方の良いところは、時間の見積もりに頼らないってことなんですよ。「この仕事は何時間かかるか」という、外れやすい見積もりじゃなくて、「この仕事はどれくらい複雑か」という、より確実な判断に基づいて、計画を立てるんです。だから、計画外れが少なくなるんですね。

ストーリーポイントで困ることも、あるんですよ

ストーリーポイントはすごく便利なんですが、注意点もあります。

まず、最初のうちは見積もりが外れやすいということですね。チームがまだ経験が浅いと、「1ポイントの仕事ってどれくらいの量か」という感覚が、メンバーによってバラバラなんです。だから、見積もりが外れたり、1週間で予定した50ポイント分しか終わらなかったり、逆に60ポイント分も終わっちゃったりするんですよ。でも、何週間も続けていると、だんだん感覚が合ってくるんです。これはストーリーポイントの宿命みたいなもんですね。

次に、時間と混同されやすいということです。マネージャーが「このプロジェクトは全部で200ポイントだから、50ポイント/週なら4週間で終わる」と単純に計算しちゃうことがあるんです。でも実際には、人が追加されたり、休みが入ったり、予想外の問題が起きたりするので、計算通りにはいかないんですよ。ストーリーポイントはあくまで「相対的な大きさ」であって、「これだけあれば確実に終わる」という保証ではないんです。

それからもう一つ、ストーリーポイントを「評価」だと思い込んじゃう人がいるんですよ。「Aさんの仕事は8ポイント、Bさんの仕事は3ポイント」と見て、「Aさんの方が優秀だ」みたいに判断しちゃうんです。でもこれって大間違いなんですね。ポイントは仕事の複雑さであって、人の評価じゃないんですよ。むしろ、複雑な仕事を短い時間でやり終わった人の方が、優秀だと判断すべきなんです。

ストーリーポイントを使いこなすコツ

では最後に、ストーリーポイントを使いこなすコツを教えちゃいますね。

まずは、チーム全体で「このポイント数ってどんな仕事か」という基準を、できるだけ共有することですね。例えば、新しいメンバーが入った時に「うちのチームは1ポイントの仕事っていうのは、だいたいこれくらいだよ」と説明するんです。そうすることで、見積もりの誤差を減らすことができるんですよ。

次に、時間で見積もる癖をやめることです。「このプロフィール画面を作るのに3時間かな」じゃなくて、「このプロフィール画面は、ログイン画面と比べたら、複雑だから5ポイント」という感じでね。意識的に「相対的な大きさ」で考える癖をつけるんですよ。

それから、ストーリーポイントを定期的に見直すことも大事です。プロジェクトが進むにつれて、「あ、1ポイントの仕事ってこれくらいの量だったんだ」という実感が出てくるんです。そしたら、過去の見積もりを振り返って、「この見積もりは合ってたな」「あ、この仕事は実は複雑だったんだ」という経験から学ぶんですね。そうやって、チーム全体の見積もり精度を高くしていくんです。

最後に、ストーリーポイントはあくまで「見積もりのための道具」だということを忘れずにね。ポイント数が高いからといって、その仕事が重要だとは限らないんです。逆に、シンプルだけど、ユーザーにとって絶対必要な機能だってあるんですよ。だから、ストーリーポイントと「その仕事の優先順位」は、別物として考える必要があるんです。優先順位は「ユーザーにとってどれくらい大切か」「ビジネス上どれくらい重要か」で決めるんですね。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

大人になってから「これ知らなかった…」と恥ずかしい思いをした経験から、このサイトを作りました。お金・仕事・社会のしくみって、学校で教えてくれないのに知らないと損することだらけ。むずかしい言葉を「あーそういうことか!」って思えるまでかみ砕いて説明するのが得意です。主に経済・法律・税金・ライフイベント周りの用語を毎日更新中。

目次