Little yasası nedir? Bekleme süresi ve iş yükü ilişkisi
Endüstri mühendisliğinde erken öğrenilen sonuçlardan biri çok kısa bir formüldür: L = λW. Bir sistemde ortalama kaç iş bulunduğunu (L), sisteme ortalama hangi hızla iş girdiğini (λ) ve bir işin sistemde ortalama ne kadar kaldığını (W) birbirine bağlar. Bu yazıda formülün ne dediğini, neyi söylemediğini ve yazılım ekiplerinde nasıl kullanıldığını anlatıyorum.
Formül ne diyor?
Sistem bir kasa kuyruğu, bir üretim hattı, bir sunucunun istek kuyruğu ya da bir ekibin iş listesi olabilir. Sisteme girdiği andan çıktığı ana kadar bir işin geçirdiği süre W, aynı anda içeride bulunan iş sayısı L’dir. Uzun vadeli ortalamalarda şu eşitlik tutar:
L = λ × W
Örnek bir hesap (varsayımsal, bir ölçüm değil): bir ekipte aynı anda ortalama 12 iş açık ve ekip haftada ortalama 4 iş bitiriyor. O zaman bir işin açıldığı andan bittiği ana kadar geçen ortalama süre W = L / λ = 12 / 4 = 3 hafta olur.
Formülü ilginç kılan, sonucun işlerin hangi sırayla alındığına, geliş aralıklarının dağılımına ya da işlem sürelerinin nasıl değiştiğine bağlı olmaması. Gereken koşullar daha yalın: sistemin kararlı olması ve ortalamaların yeterince uzun bir dönem üzerinden alınması.
Kısa tarihçe
Bu ilişki kuyruk kuramında 1950’lerde zaten kullanılıyordu ama genel olarak kanıtlanmış değildi. Philip Morse 1958’de okurlara bu eşitliğe karşı örnek bulmalarını önerdi. MIT’den John D. C. Little ise 1961’de Operations Research dergisinde yayımladığı kısa makaleyle karşı örnek olmadığını gösterdi. Bugün “Little yasası” dediğimiz şey bu kanıttır.
Yazılım ekipleri için sonucu
Formülü W = L / λ biçiminde yazarsak şunu görürüz: ekibin bitirme hızı kısa sürede çok değişmiyorsa, işlerin tamamlanma süresini kısaltmanın en doğrudan yolu aynı anda açık iş sayısını azaltmaktır. Kanban’daki WIP (devam eden iş) limiti fikri bu eşitliğe dayanır. Kanban diliyle yazılışı: devam eden iş = verim × ortalama çevrim süresi.
Burada bir not düşmek gerekiyor. Açık iş sayısını azaltınca bitirme hızının ne olacağını yasa söylemez. Bu bir ölçüm konusudur: limiti düşürüp ekibin gerçekte ne kadar bitirdiğine bakmak gerekir.
Sık yapılan hatalar
- Ortalamayı tek tek işlere uygulamak. “Ortalama 3 hafta” demek her işin 3 hafta süreceği anlamına gelmez. Bir iş 10 hafta da sürebilir.
- Kararlı olmayan sistemde kullanmak. İş listesi sürekli büyüyorsa, yani girenler çıkanlardan fazlaysa, λ ve W’yi bu şekilde bağlayamazsın.
- Sistemin sınırını belirlememek. İş listesi (backlog) dahil mi? Süre talebin açıldığı andan mı, geliştirmenin başladığı andan mı sayılıyor? Aynı yasa farklı sınırlarda farklı sayılar verir. İki ekibi karşılaştırırken aynı sınırı kullanmak gerekir.
- Nedensellik aramak. Yasa bir muhasebe eşitliğidir. Üç değerden ikisini biliyorsan üçüncüyü bulursun, ama hangisinin neden değiştiğini söylemez.
Kendi ekibinde ölçmek
Üç veri yeterli: seçtiğin dönemde biten iş sayısı, aynı dönemde açık iş sayısının ortalaması ve her işin başlangıç ile bitiş tarihi. Bunlardan hesapladığın W ile işlerin gerçek ortalama süresi arasında büyük fark varsa ya sistem kararlı değil ya da sınırları farklı tanımlıyorsun demektir. Bu fark çoğu zaman yeni bir şey öğretir.
Little yasası bir sorunu çözmüyor, ama tartışmayı sayıya bağlıyor: aynı anda yaptığımız iş sayısı, bitirme hızımız ve bekleme süremiz aynı eşitliğin üç yüzü.
Kaynaklar
- John D. C. Little, “A Proof for the Queuing Formula: L = λW”, Operations Research, 9(3), 1961, s. 383–387. doi.org/10.1287/opre.9.3.383
- Wikipedia: Little’s law (koşullar, tarihçe)
- Businessmap: Little’s Law ve Kanban (WIP = verim × çevrim süresi)