アジャイルチームの平均・計画ベロシティ計算
直近のスプリントで完了したストーリーポイントを入力すると、平均ベロシティと控えめな計画値が分かります。5回のスプリントで合計150ポイントなら、平均は30、推奨値は26.594123です。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- スプリント
- 32, 28, 35, 30, 25
- スプリント数
- 5
- ストーリーポイントの合計
- 150
- 平均速度
- 30
- 標準偏差
- 3.405877
このアジャイルベロシティ計算機は、最近のスプリントで完了したストーリーポイントを、根拠の明確な計画基準に変換します。チームの平均ベロシティ、入力したスプリント全体の母標準偏差、平均から標準偏差を1つ引いた慎重な推奨値を示し、値はゼロ未満になりません。最近の比較可能なスプリントを使うことで、予測を約束に変えたり、例外的に好調な1回を次回の確約値にしたりせず、能力について対話できます。
計画対象のチームを表すスプリントを選びます
現在とほぼ同じメンバーが、一貫した完了条件で実施した最近のスプリントについて、完了済みストーリーポイントを用意します。確認しやすいよう古い順に1スプリント1件を入力することを推奨しますが、順序は計算結果に影響しません。スプリント終了時にチームが完了と判定した作業だけを含め、未完了のストーリー、計画段階のポイント、別チームへ移した作業は加えません。
長い履歴は一時的な例外をならしますが、古すぎる履歴は別の体制や製品、プロセスを表す場合があります。比較可能な5~10回は実務的な目安ですが、1回しかない場合も計算でき、その標準偏差はゼロです。メンバー、期間、見積尺度、進め方が大きく変わった場合は、比較可能な観測だけを選ぶか、期間を分けてください。
現在の条件でこのチームが最近1スプリント当たり何ポイント完了したか、という明確な問いに合わせることが重要です。
平均値と慎重な推奨値を理解します
平均ベロシティは算術平均であり、完了ポイントの合計をスプリント数で割ります。続いて、入力された観測値そのものについて母標準偏差を計算します。標準偏差が小さければ結果は平均付近にまとまり、大きければ最近の成果に大きなばらつきがあります。
計画推奨値は平均から母標準偏差を1つ引き、最低値をゼロとします。これは慎重な基準であり、確率上の保証、サービス水準の約束、信頼区間ではありません。入力期間を計画用に選んだ完全な履歴として扱うため、ベッセル補正が必要な標本標準偏差ではなく母標準偏差を使います。
自動処理の結果を安定させるため出力は小数第6位までに丸めますが、内部計算は数値精度を維持します。平均は過去実績の中心を示し、推奨値は観測された変動への余裕を加えます。整数ポイントへ切り下げる場合、その判断は別途記録してください。
評価目標ではなく判断材料として使います
結果だけで決めず、稼働可能時間、休日、本番サポート、依存関係、次のバックログの内容も併せて計画します。推奨値が 27.4 ポイントなら27前後の対話に役立ちますが、次のスプリントが特殊だと分かっている場合は、その情報を優先します。一貫した移動期間で定期的に再計算し、誰でも再現できるよう入力値を保存してください。
標準偏差の急変は平均の小さな変化より有益なことがあります。中断、大きすぎるストーリー、見積方法の変化、範囲の不安定さを確認する契機になるためです。ストーリーポイントはチーム内の相対尺度なので、異なるチーム同士を比較してはいけません。
同じ数値でも成果や効率が同じとは限りません。個人のノルマにしたり、見積もりを水増しさせたりせず、不確実性を明示した共有可能で検証可能な予測として活用します。
活用例
スプリント計画を準備する
現在のチームの最近の実績から、次のバックログを検討するための慎重な能力基準を作ります。
完了量の安定性を確認する
平均と標準偏差を比較し、安定した傾向か大きく変動する結果かを判断します。
移動予測を自動化する
社内レポートの最新値を、再現可能で監査しやすい決定論的計算へ渡します。
よくある質問
どの標準偏差を使いますか?
指定された期間全体の母標準偏差を使い、偏差平方和を観測数で割ります。
平均から標準偏差を引く理由は何ですか?
最近の変動に対する簡潔で慎重な余裕を設けるためです。保証された最低値や正式な信頼区間ではありません。
推奨値が負になることはありますか?
ありません。 負の完了ポイントは計画能力として意味を持たないため、最低値をゼロにします。
未完了のストーリーも含めますか?
含めません。 一貫した完了条件に基づき、各スプリント終了時に完了と判定したポイントだけを入力します。
スプリントはいくつ入力すればよいですか?
同じチームの比較できるスプリントを5〜10回分入れるのが実用的です。1回分だけでも計算できますが、その場合の標準偏差は0になります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/date/velocity-average-calculate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"sprints":[32,28,35,30,25]}'const res = await fetch("https://api.kit.forhosting.com/date/velocity-average-calculate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"sprints": [
32,
28,
35,
30,
25
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/velocity-average-calculate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"sprints": [
32,
28,
35,
30,
25
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/velocity-average-calculate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"sprints":[32,28,35,30,25]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"sprints":[32,28,35,30,25]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/velocity-average-calculate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"sprints": [
32,
28,
35,
30,
25
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.velocity_average_calculate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_sprints | 1000 |
max_story_points | 1000000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
評価目標ではなく判断材料として使います
API 自動化は1回 $0.002 で、隠れた情報源なく再現できます。
技術的な質問
スプリントデータがない場合はどうなりますか?
少なくとも1件の完了スプリントがなければ平均を計算できないため、invalid_input エラーを返します。
API 計算の料金はいくらですか?
API は1回 $0.002 です。計算は決定論的であり、外部サービスへ接続しません。