T-shirtサイズとポイントの双方向変換でキャパシティマネジメントを効率化する
はじめに
ぐりもお(@gr1m0h)です。最近、所属チームにスクラム的な活動を取り入れました。主に、自分がリードしてチームに導入し、運用もしています。
なぜ導入したのかについては、以下の記事をご覧ください。
日々の業務を進める中で、スプリント計画における課題の一つがキャパシティマネジメントです。特に、インシデント対応や依頼対応など割り込みが多い傾向にあるSREチームは、予測が困難になります。予測が困難だからこそ、正確なキャパシティ予測は信頼性向上の基盤となり、よりチャレンジングな活動につながります。
多くのチームがT-shirtサイズ(XS,S,M,L,XLなど)を使った見積もりを採用していますが、「前スプリントでチームは実際にどの程度の作業量をこなしたのか?」「今後のスプリントでどの程度のタスクを計画できるのか?」といった定量的な分析が困難という課題に直面しました。
この課題を解決するために sizely というCLIツールを開発しました。
開発背景:なぜsizelyが必要だったのか
スクラム的な活動のイベントをファシリテーションしていく際に、アジェンダを組み立てる時、T-shirtサイズとポイントの変換をパッと行えないと、スプリント計画のファシリテーションがスムーズに進まないと感じたことが開発のきっかけです。
「今スプリントはS×3、M×2、L×1を完了した」と言われても、次のスプリントで同程度の作業量を見積もるのは困難です。同じサイズのタスクの優先度が高い状態にあるとは限りません。また、チームだけでなく個人のキャパシティも考慮する必要があります。休暇やオンコール対応、MTGなどの量によって実行できるタスクに差が出るため、ポイントに変換してキャパシティを把握する必要があります。
プランニング時のコミュニケーションで「スプリントで33ポイント分の作業が可能」という数値よりも、「L×2 + M×2 + XS×3の組み合わせ」の方が具体的で理解しやすく、タスクの選択がスムーズになります。
sizelyの機能と使い方
以下の機能を提供しています。
- T-shirtサイズ → ポイント:完了したタスクの総ポイント数を算出
- ポイント → T-shirtサイズ組み合わせ:目標ポイントに対する最適なタスク構成を提案
スプリント完了後の振り返り
# 完了したタスクの総ポイント数を算出
$ sizely points --data '{"xs":3,"s":2,"m":1,"l":1}'
📊 Sprint Capacity Calculation
═══════════════════════════════
XS (1pt): 3 tasks = 3 points
S (3pt): 2 tasks = 6 points
M (5pt): 1 tasks = 5 points
L (10pt): 1 tasks = 10 points
───────────────────────────────
Total: 7 tasks = 24 points
次スプリントの計画
# 33ポイント分のタスク組み合わせを検索
$ sizely tasks 33
🔍 Finding combinations for 33 points (max 15 tasks)
═══════════════════════════════════════════════════
Found 12 combination(s):
1. L×3 + XS×3 = 33 points (6 tasks)
✅ Good mix of large and small tasks
2. L×2 + M×2 + XS×3 = 33 points (7 tasks)
✅ Good mix of large and small tasks
...
さいごに
sizelyは、チームのキャパシティを数値化し、より戦略的なスプリント計画を可能にするツールです。T-shirtサイズとポイントの双方向変換により、過去の実績分析と将来の計画立案の両方をサポートします。
特に、信頼性向上という長期的な目標と、日々の割り込み対応という短期的な要求のバランスを取る必要があるSREにとって、定量的なキャパシティ管理は不可欠です。
まだ最小限の機能しか実装していませんが、このツールがチームの生産性向上と、最終的にはサービスの信頼性向上に貢献することを期待しています。
また、今後自動化での活用も視野に入れています。たとえば、GitHubのIssueやPull RequestのラベルをT-shirtサイズに対応させ、sizelyを使って自動的にポイントを計算する仕組みを検討しています。スプリント計画の提案自動化ややキャパシティ分析レポートの作成も視野に入れています。
Discussion