チームスプリントキャパシティ計算
5人が10稼働日、1日8時間、集中係数0.7で働くと、総時間400時間のうち実際のキャパシティは280時間です。残りの120時間は会議や割り込みに使われる分です。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 従業員数
- 5
- 営業日数
- 10
- 1日あたりの時間
- 8
- 集中係数
- 0.7
- 人日
- 50
- 総時間
- 400
- キャパシティ時間
- 280
- キャパシティ人日
- 35
スプリントキャパシティとは、会議・割り込み・部分的な稼働を差し引いたうえで、チームが固定イテレーションにコミットできる現実的な作業量を時間で表したものです。スクラムマスター、エンジニアリングマネージャ、デリバリー責任者は、ストーリーをスプリントボードに取り込む前や、計画負荷を過去ベロシティと比較する前に、透明な算術的基準を必要とします。このチームスプリントキャパシティ計算機は、人数(またはフルタイム換算)、スプリント内の稼働日、1人あたり1日の名目時間、および0から1の集中・可用性係数を受け取り、総時間、キャパシティ時間、人日、キャパシティ人日、オーバーヘッド時間と短い数式文字列を返します。
スプリントキャパシティの意味と数式の仕組み
アジャイルチームが、コミット済みバックログ項目にカレンダー時間の100パーセントを充てられることはほとんどありません。祝日は稼働日数を減らし、パートタイムは実効人数を下げ、会議・サポート当番・コンテキストスイッチが毎日の一部を消費します。標準的な計画モデルは4つの要因を掛け合わせます。
チームの人数(または FTE)、スプリント期間に入る稼働日数、1人あたり1日に提供できる名目時間、名目時間をスプリント作業に充てる割合へ縮める集中・可用性係数です。総時間は人数×稼働日×1日あたり時間です。キャパシティ時間は総時間×集中係数です。
人日は人数×稼働日であり、キャパシティ人日は同じ集中係数を適用します。ボードが時間ではなく人日でストーリーを追う場合でも、日単位で計画できます。オーバーヘッド時間は総時間とキャパシティの差で、集中係数がすでに除いた会議や計画外作業に相当します。
例:5人、稼働日10、1日8時間、集中係数0.7なら総時間400、キャパシティ時間280、オーバーヘッド120、キャパシティ人日35です。本計算機はストーリーポイントのベロシティ予測の代替ではなく、見積もり残作業と比較する時間予算の上限です。パートタイム(例:4.5 FTE)では人数の小数を許可します。
集中係数は0以上1以下で、70パーセントの集中なら0.7を送り、70は送りません。
チームスプリントキャパシティ計算機が役立つ場面
スクラムマスターとアジャイルコーチは、スプリント計画でチームがバックログを取り込む前に透明な時間予算を定めるためにこの計算機を使います。人数が四半期途中で変わる場合や、祝日が2週間ペースから日を削る場合に特に有効です。
エンジニアリングマネージャはリリーストレインの人員配分でスクワッド間のキャパシティ時間を比較し、プロダクトオーナーはより小さい、または部分的にしか使えないチームが前回スプリントと同じコミットメントを吸収できない理由を把握します。
PMO とデリバリー報告ツールはポートフォリオノートブック内で同じ数式を自動化し、各チームが総時間・キャパシティ時間・オーバーヘッドを監査用に並べて保存できるようにします。研修コースや LMS プラグインには、集中係数70や人数0を拒否する決定論的オラクルが必要です。バグのある採点器が成功と誤認しうる NaN を静かに返してはいけません。
検証失敗は残高を消費しません。
活用例
スプリント計画の時間予算
チームがストーリーをコミットする前に、人数・稼働日・1日あたり時間・集中係数からキャパシティ時間を算出し、計画負荷を透明な予算内に収めます。
祝日・パートタイムの調整
祝日で稼働日が減る、または小数 FTE で人数が下がるときにキャパシティを再計算し、調整後のキャパシティ人日の横にオーバーヘッド時間を示します。
複数チームのポートフォリオ報告
ノートブックやデリバリーツールでスクワッド横断に同じキャパシティ数式を自動化し、財務と PMO が総時間と集中調整時間を1本の監査証跡で比較できるようにします。
よくある質問
チームのスプリントキャパシティはどう計算しますか?
正の headcount・稼働日・1日あたり時間と、0〜1の集中係数を送ってください。
集中係数とは何ですか?
会議・サポート・割り込みの後にコミット済みスプリント作業へ使える名目時間の割合です。70%の集中なら 0.7 を使い、70 は使いません。値は 0 以上 1 以下です。
人数は小数でもよいですか?
はい。 小数の headcount はパートタイムや共有 FTE(例:4.5)を表します。headcount は依然として厳密に0より大きい必要があります。
ストーリーポイントのベロシティの代わりになりますか?
いいえ。 キャパシティ時間は時間予算の上限です。ストーリーポイントのベロシティはチームが通常完了するバックログ量を予測します。計画では両方を併用してください。
集中係数70%は70と0.7のどちらで入力しますか?
0.7と入力します。集中係数は0から1までの割合で、70と入れるとパーセントとは解釈されずに受け付けられません。0と1ちょうども入力できます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/biz/team-capacity-sprint \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"headcount":5,"working_days":10,"hours_per_day":8,"focus_factor":0.7}'const res = await fetch("https://api.kit.forhosting.com/biz/team-capacity-sprint", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"headcount": 5,
"working_days": 10,
"hours_per_day": 8,
"focus_factor": 0.7
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/biz/team-capacity-sprint",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"headcount": 5,
"working_days": 10,
"hours_per_day": 8,
"focus_factor": 0.7
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/biz/team-capacity-sprint", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"headcount":5,"working_days":10,"hours_per_day":8,"focus_factor":0.7}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"headcount":5,"working_days":10,"hours_per_day":8,"focus_factor":0.7}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/biz/team-capacity-sprint", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"headcount": 5,
"working_days": 10,
"hours_per_day": 8,
"focus_factor": 0.7
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "biz.team_capacity_sprint",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
無効な入力は invalid_input で失敗し、課金されません。
入力契約・応答形・エラー動作
集中係数が0〜1の外でも失敗します。70パーセントのために70を送らないでください。本計算機は時間と人日の予算のみを返し、Jira チケット・ボードコミット・バーンダウン図は出しません。計画シリーズ全体で単位を揃えてください。必須の有限数4つを含む JSON 本文を POST してください。headcount(人数または FTE、厳密に正)、working_days(スプリント内の正の稼働日数。週末と既知の祝日を除く)、hours_per_day(1人1日あたりの正の名目生産時間。通常6〜8)、focus_factor(0から1の閉区間の可用性・集中の分数)です。各フィールドは JSON 数値または数値文字列で送れます。欠落、空文字、非有限値、非正の headcount・稼働日・1日あたり時間は invalid_input で失敗し、フィールド名を示します。成功時は4要因をエコーし、person_days、gross_hours、capacity_hours、capacity_person_days、overhead_hours、および capacity_hours が headcount × working_days × hours_per_day × focus_factor である旨の数式文字列を返します。ストーリーポイント見積もりや WIP 上限はこのエンドポイント外で組み合わせてください。深い集中のエンジニアリング日として hours_per_day を6とモデルするなら、後で capacity_hours を残見積もり時間と比較するときも同じ慣例を使います。
チームスプリントキャパシティ計算機が役立つ場面
実装は純粋な parse ティア A のため、成功した呼び出しは公開ベース価格 $0.002 で、モデルトークンも外向きネットワークもありません。リクエストを小さく保ち、丸めたキャパシティ欄をテストに固定すれば、計画セレモニー・エッジワーカー・CI チェック向けに再現可能なスプリント予算を、本格的なプロジェクトポートフォリオ基盤なしで得られます。
技術的な質問
チームスプリントキャパシティ計算機の料金は?
ブラウザツールは無料です。API リクエストは成功した呼び出しごとに前払い KIT 残高から $0.002 です。無効な入力は課金されません。