2026年5月27日

待ち行列理論とプロダクトバックログ

読了時間の目安: 4分


待ち行列理論

待ち行列理論とは、あるサービスを提供するシステムの待ち行列に並ぼうとしたとき、どのくらいでサービスを受け終えられるのかを求めるための学問。

システムへの平均到着率(単位時間あたりに列に並び始まる人の数)をλ\lambda、平均サービス率(単位時間あたりにシステムがサービスを提供できる人の数)をμ\muとする。そして、混雑率(利用率)ρ\rho

ρ=λμ\rho = \frac{\lambda}{\mu}

としたとき、平均滞在時間WW

W=1μ(1ρ)W = \frac{1}{\mu(1 - \rho)}

で求めることができる(色々と前提はあるけど)。例えば1時間あたり平均4人きて、平均5人サービスを受けられるシステムであれば、

ρ=45=0.8\rho = \frac{4}{5} = 0.8
W=15×(10.8)=11=1W = \frac{1}{5 × (1 - 0.8)} = \frac{1}{1} = 1

で、待ち始めてからサービスを受け終わるまでに平均1時間かかるということがわかる。

プロダクトバックログになんでもかんでも追加したらリードタイムは無限になる

すごく簡略化すると、スクラムチームも待ち行列システムに見立てられる。プロダクトバックログが待ち行列になっていて、スプリントでのチームの作業はサービス提供になる。もちろんそんな簡単な話ではないけど。

単位時間あたりに追加されるプロダクトバックログアイテムの数が平均到着率λ\lambdaだし、単位時間あたりにDoneになるプロダクトバックログアイテムの数が平均サービス率μ\muになる。WWはリードタイム(待ち始めてから完了)になる。ちなみに平均サービス率μ\muの逆数1μ\frac{1}{\mu}はサイクルタイム(着手から完了)を表す。

W=1μ(1ρ)W = \frac{1}{\mu(1 - \rho)}

LeadTime=11ρ×CycleTime\mathrm{Lead Time} = \frac{1}{1-\rho} × \mathrm{Cycle Time}

に変形できる。

Lead Timeを速くするには、混雑率が下がったら待ち時間は反比例的に減る。しかし、混雑率が低いというのは、チームがDoneにするスピードにアイデア創出が追いついていない状況なので、これはこれで良くない。プロダクトバックログが枯渇している状況だ。

逆に混雑率が1に近づくにつれて、平均待ち時間は無限に発散する。プロダクトバックログになんでもかんでも詰め込んでいったら、新しいアイデアの平均待ち時間は無限になるということだ。

リソース効率を考えるとρ\rhoは大きいほうがよく、フロー効率を考えるとρ\rhoは小さいほうがよいというあれだ。

となるとスクラムチームの正攻法は、混雑率を良きところに安定させ、Doneできる数を増やす、つまりサイクルタイム(着手から完了までの時間)を減らすことになる。

これでスループットもよくなるし、複雑な状況下で生まれたアイデアを素早く価値に変換できるようになる。

プロダクトバックログを小さく保てばリードタイムは短くなる

待ち行列理論には、リトルの法則という法則がある。安定している待ち行列システムにおいて、

L=λWL = \lambda W

が成り立つ。LLは待ち行列の長さ. スクラムチームで言えば、プロダクトバックログの長さ。この式を変形すると、

W=LλW = \frac{L}{\lambda}

つまり、リードタイムはプロダクトバックログの長さに比例する。先ほどは、なんでもかんでもプロダクトバックログに詰め込んではいけないという話だったが、今度はプロダクトバックログを長く保ってはいけないという話になる。古くなって価値が落ちた、相対的に価値やROIが低いプロダクトバックログアイテムは捨てないといけない。プロダクトバックログアイテムの個数に制限があってもいい。

ちなみに式だけ見るとλ\lambdaを増やすアイデアも考えられる。しかし、λ\lambdaを単に増やしていけば混雑率ρ\rhoが1に近づき、安定したシステムの前提が崩れ法則が成り立たなくなる。

まとめ

プロダクトバックログになんでもかんでも詰め込めば、リードタイムは無限に発散する。やめよう。

プロダクトバックログの長さとリードタイムは比例関係にある。小さく保とう。プロダクトバックログアイテムはこまめに捨てよう。そうしよう。

気に入っていただけたら、
サポートもお待ちしております!
  • 名前:asato
  • 仕事:スクラムマスター
  • 好き:家族、温泉、旅行、謎解き
  • 苦手:はじめまして、あんこ、うなぎ