Ana sayfa → Bölüm 17
Sprint Ortasında Gelen İş: Yasak Değil, Bütçe
Çarşamba, 5 Kasım 2025, 16:40. Müşterinin muhasebe ekibinden Ahmet’in cep telefonuna bir WhatsApp mesajı: “Mutabakat raporunda tutarlar kuruş kaymış, yarın sabah denetçiye gidiyor.” Ahmet üç saat çalıştı, düzeltti ve tahtaya kart açmadı. Çünkü kuralımız “sprint’e iş girmez”di ve o kuralı ben koymuştum.
- Yasak işi durdurmaz, gizler. “Sprint’e iş girmez” kuralından sonra acil işler kişisel telefonlara taşındı. İş aynıydı; görünmez olmuştu.
- Kesinti kartı, ölçmenin ön koşulu. Kim istedi, ne zaman geldi, ne kadar sürdü, ne kadar acildi. Üç sprint’te 34 kart, 22 adam-gün.
- Pay ölçüyle konur. 22 adam-günün 4’ü aslında bekleyebilirdi. Kalan 18, sprint başına 6 adam-gün: planlanabilir kapasitenin %15’i.
- Bütçe bitince takas var, pazarlık yok. Yeni acil iş, eşit büyüklükte bir iş çıkarılarak girer. Çıkacak işi PO seçer.
- Sprint iptali yük yüzünden değil, hedef öldüğünde yapılır. Eylül’de yük yüzünden iptal ettim; yeni sprint’e de aynı işler geldi.
Yasak nereden çıktı?
Eylül 2025’te bir sprint’in 3. gününde müşteriden arka arkaya iki acil iş geldi. Bir rapor hatası ve bir yetki sorunu. Ben de sprint’i iptal ettim. Mantığım şuydu: plan bozuldu, yeni plan yapalım. Yeni planning bir buçuk gün sürdü; takvimi kaydırmamak için yeni sprint’i eskisinin bitiş gününe bağladık. Yeni sprint’in 4. gününde üçüncü acil iş geldi.
Bu deneyimden yanlış dersi çıkardım. “Sprint’e iş girmez” kuralını koydum. Acil bir şey gelirse bir sonraki sprint’e yazılacaktı. Canlıdaki kendi hatalarımız istisnaydı; müşteri talepleri değil. Kural kâğıt üzerinde temizdi ve iki ay boyunca işe yarıyor gibi göründü. Tahtaya dışarıdan kart girmiyordu.
5 Kasım’daki mesaj bana bunun neden olduğunu gösterdi. Müşteri kuralı öğrenmişti ve kuralın etrafından dolaşmayı da öğrenmişti. Acil işler artık Product Owner’a değil, işi bir kere çözmüş olan geliştiricinin telefonuna geliyordu. Ertesi sabahki daily’de Ahmet’in kartı bir gün kıpırdamamıştı ve kimse nedenini bilmiyordu. Aynı sprint’te WIP limitini de 3’e çekmiştik; iki kural üst üste binmişti. WIP limiti yazısındaki “tahtaya girmeyen beş iş”in biri buydu. Sprint dokuz maddeyle başladı, yedisiyle bitti. Retroda “tahminlerimiz kötü” dendi.
Plansız iş bütçesi ne işe yarıyor?
Sprint Planning yazısında kapasiteden plansız iş tamponu düşmeyi ve bu tamponu son üç sprint’in gerçek yüzdesine dayandırmayı yazmıştım. Yazarken bunun kolay olduğunu sanıyordum. Ölçmeye oturduğumda ölçecek bir şey olmadığını gördüm: plansız işlerin çoğu tahtaya hiç girmemişti. Tampon koymayı önermiştim, ama tamponu besleyecek veri yoktu.
Bütçe fikri şunu kabul ediyor: sprint ortasında iş gelecek. Müşteri canlıda bir hatayla karşılaşacak, bir denetçi bir rapor isteyecek, bir entegrasyon kırılacak. Bu işler sprint’in düşmanı değil; ekibin işinin bir parçası. Soru “gelecek mi?” değil, “ne kadar gelecek ve geldiğinde nereye girecek?”
Bütçenin iki faydası var. Birincisi taahhüt gerçekçi olur: plansız iş için ayrılan kapasite, planlı işe söz verilmez. İkincisi karar kolaylaşır: acil iş geldiğinde tartışma “alalım mı, almayalım mı” değil, “bütçede yer var mı?” olur.
Nasıl olmalı?
1. Her kesinti bir kart
Kuralı tersine çevirdik: sprint’e iş girebilir, ama kartsız giremez. 10 Kasım’dan itibaren gelen her plansız iş tahtada farklı renkte bir “kesinti kartı” oldu. Aynı sprint’te WIP limitini 4’e çekmiştik ve “tahtada olmayan iş yapılmaz” kuralı da o gün başladı. Kesinti kartı WIP limitine sayılır; “bugün” acil olan tek kart limiti bir kişilik aşabilir.
KESINTI-007
Kim istedi : musteri muhasebe (A. Kaya)
Hangi kanal : telefon -> PO'ya yonlendirildi
Geldigi an : 18.11.2025 10:20
Aciliyet : BUGUN | BU SPRINT | BEKLEYEBILIR
Triyaj karari : BUGUN (karar: PO, 10:35)
Harcanan sure : 4 saat (kapanista yazilir)
Sprint'ten cikan: - (butce bittiyse doldurulur)
# Kural: "Harcanan sure" kart kapanirken yazilir, tahmin degil olcum.
2. Triyaj: üç kutu, bir karar sahibi
Her kesinti kartı üç kutudan birine girer. Bugün: beklerse müşteri para ya da itibar kaybeder. Bu sprint: önemli, ama iki gün beklemesi bir şeyi bozmaz. Bekleyebilir: gerçekte bir backlog maddesi; sıradaki refinement’e gider.
Kutuyu PO seçer, 30 dakika içinde. Talep geliştiriciye geldiyse geliştirici kibarca PO’ya yönlendirir ve kartı açar. Geliştiricinin işi aciliyete karar vermek değil, kartı görünür yapmak.
3. Payı ölç, sonra koy
İlk üç sprint bütçe koymadık, sadece saydık. Taahhüdü eski düzende yaptık. Amaç gerçek sayıyı görmekti.
| Sprint | Kesinti kartı | Harcanan | Bugün | Bu sprint | Bekleyebilirdi |
|---|---|---|---|---|---|
| 10–21 Kasım | 11 | 7,5 adam-gün | 4 | 2,5 | 1 |
| 24 Kasım–5 Aralık | 9 | 5 adam-gün | 2,5 | 1,5 | 1 |
| 8–19 Aralık | 14 | 9,5 adam-gün | 4,5 | 3 | 2 |
| Toplam | 34 | 22 adam-gün | 11 | 7 | 4 |
“Bekleyebilirdi” sütunu beni en çok şaşırtan sütun oldu. 34 kartın 9’u, 4 adam-gün, aslında acil değildi. Sadece yüksek sesle istenmişti. Bunları bütçeden çıkardık. Kalan 18 adam-gün, sprint başına 6 adam-gün ediyor. Bizim ekipte planlanabilir kapasite 39 adam-gün civarında; 6 / 39 = %15,4.
Sprint Planning yazısındaki örnekte tamponu %15 yazmıştım. Ölçünce çıkan sayı yakın çıktı, ama bu tesadüf. Başka bir ekipte %5 de çıkabilir, %35 de. Sayıyı başkasından kopyalama; kendi kartlarını say.
4. Bütçe bitince takas
Bütçe 6 adam-gün. 6. adam-günden sonra gelen “bugün” işi yine yapılır, ama bedava değildir. Sprint’ten eşit büyüklükte bir iş çıkar ve backlog’a döner. Hangi işin çıkacağını ekip seçmez, PO seçer; çünkü sıralama onun işi. Ekip sadece büyüklüğü söyler.
Tersi de geçerli: sprint’in 7. gününde bütçenin yarısından fazlası kullanılmamışsa ekip backlog’daki sıradaki işi çeker. Tampon boş zaman değil. Boş kalan tampon, bir sonraki sprint’te payın küçülmesi için veri olur.
- Her plansız işi kesinti kartına yaz, harcanan süreyi kapanışta not et
- Aciliyeti PO’ya karar verdir, 30 dakika içinde
- Payı üç sprint’lik ölçüden çıkar, “bekleyebilir”leri hariç tut
- Bütçe bitince takas yap; çıkacak işi PO seçsin
- Kesinti kartlarını WIP limitine say
- “Sprint’e iş girmez” diye yasak koymak
- Geliştiriciye gelen talebi geliştiricinin kendisine triyaj ettirmek
- Payı başka ekipten ya da bir kitaptan kopyalamak
- Bütçe bitince “bir tane daha sığar” demek
- Kesinti çok diye sprint’i iptal etmek
Sprint iptali: tek geçerli sebep
Eylül’deki hatama dönmem gerekiyor. O sprint’i iptal ettiğimde sprint’in asıl işi hâlâ geçerliydi: iade akışının ilk sürümü. Değişen tek şey yüktü. İptal yükü azaltmadı; üstüne bir buçuk günlük planning ekledi ve acil işler yeni sprint’e de geldi.
Sprint iptalinin tek geçerli sebebi, sprint hedefinin anlamını yitirmesi. Müşteri o özelliği iptal ettiyse, düzenleme değiştiyse, ürün yön değiştirdiyse hedefe koşmanın anlamı kalmaz. Bu durumda sprint’i devam ettirmek israftır. Karar PO’nundur.
Yük yüksekse cevap iptal değil, bütçedir. Yük her sprint bütçeyi aşıyorsa cevap da iptal değil, soru değiştirmek: bu ekip gerçekten sprint’le mi çalışmalı? İşin %40’ı plansız geliyorsa Scrum mu, Kanban mı sorusunu yeniden sormanın zamanı gelmiştir.
Nasıl bozuluyor?
| Belirti | Muhtemel neden | Karşılığı |
|---|---|---|
| Kesinti kartı sayısı düştü, sprint yine taşıyor | Talepler yine kişisel kanala kaydı | Retroda “kartsız ne yaptın?” sorusu |
| Her kart “bugün” kutusunda | Triyajı isteyen kişi yapıyor | Kutuyu yalnızca PO seçer |
| Bütçe her sprint boş kalıyor | Pay büyük ya da ekip tamponu boş zaman sanıyor | 7. gün kuralı, payı küçült |
| Bütçe her sprint aşılıyor | Pay küçük ya da iş gerçekten akış tipinde | Payı yeniden ölç; oran %40’ı geçiyorsa çalışma modelini sorgula |
| Takasta ekip hangi işi çıkaracağını tartışıyor | Sıralama yetkisi belirsiz | Çıkacak işi PO seçer |
Sahadan: daha çok iş değil, söylenen iş
22 Aralık’tan itibaren bütçeyle planladık. Kâğıt üzerindeki kapasite değişmedi: Sprint Planning yazısındaki %15 tampon zaten düşülmüştü, taahhüt yine 33 adam-gündü. Değişen, tamponun kuralıydı. Eskiden bir tahmindi ve her sprint sessizce aşılıyordu; artık ölçülmüş bir bütçeydi ve aşılınca takas vardı. İlk tepki PO’dan geldi: “Kapasite aynıysa ne değişecek?” Cevabım şuydu: “Söz verip bitiremediğimiz iş. Onu artık söylemeyeceğiz.”
| Dönem | Taahhüt (madde) | Biten | Tutma oranı | Kesinti | Takasla çıkan |
|---|---|---|---|---|---|
| Ölçüm, bütçe yok (3 sprint) | 8 + 9 + 7 = 24 | 6 + 7 + 6 = 19 | %79 | 22 adam-gün | — |
| Bütçe 6 adam-gün (3 sprint) | 7 + 7 + 8 = 22 | 7 + 6 + 7 = 20 | %91 | 5,5 + 8 + 6 = 19,5 adam-gün | 1 madde |
Rakamlara dürüst bakmak gerekiyor. Bütçeli dönemde daha çok madde bitirmedik; 19’a karşı 20. Taahhüt edilen madde sayısı da sprint başına 8’den 7’ye indi, ama bunun sebebi bütçe değil, Aralık’ta Definition of Done’a eklenen canlı katmanıydı. Plansız işe harcanan süre de kabaca aynı kaldı. Değişen şey şu: söz verdiğimiz işin %91’ini bitirdik ve bitmeyen 2 maddenin 1’ini PO bilerek, takasla çıkardı. 5–16 Ocak sprint’inde kesinti 8 adam-güne çıktı; bütçe 2 adam-gün aştı ve PO iki günlük bir raporlama story’sini sonraki sprint’e aldı. O sprint’in review’unda kimse şaşırmadı, çünkü karar 15 Ocak’ta verilmiş ve aynı gün müşteriye söylenmişti.
“Bekleyebilir” kutusuna düşen 9 kart da backlog’a gitti. Bunların 4’ü sonraki refinement’ta elendi. Yani acil diye gelen her dört işten biri, soğuduğunda hiç yapılmaya değmeyen işti.
5 Kasım’daki gibi bir mesaj yine geldi. Bu sefer Ahmet mesajı PO’ya iletti, PO 15 dakika içinde “bugün” dedi, kart açıldı ve ertesi sabahki daily’de herkes Ahmet’in neden yarım gün başka işte olduğunu biliyordu.
Bütçe tedavi değil
Kesinti kartlarının bir yan faydası daha oldu: nereden geldiklerini görebildik. Altı sprint’teki kartları kaynağa göre grupladığımda tablo tek bir yeri gösterdi. Kesintilerin yaklaşık üçte biri mutabakat raporundan geliyordu: kuruş yuvarlama, eksik satır, yanlış tarih aralığı. 5 Kasım’daki mesaj da oradan gelmişti.
Bütçe bu işleri yönetilebilir yaptı, ama azaltmadı. Her sprint aynı raporun aynı tür hatasına adam-gün ayırıyorduk. Raporun hesaplama katmanını yeniden yazmak için bir story açtık ve PO onu sıranın başına koydu; 2 Şubat’ta başlayan sprint’in ilk işi o oldu. Kesinti payını gerçekten düşürüp düşürmediğini henüz bilmiyorum. Bunu üç sprint sonra aynı tabloyla ölçeceğim.
Bütçe ateşi ölçer ve ekibi çalışır tutar. Hastalığı iyileştirmez. Aynı kaynaktan her sprint kesinti geliyorsa, o kaynak da backlog’da bir madde olmayı hak ediyor.
Ne izlemeli?
- Sprint başına kesinti adam-günü. Payın kendisi; üç sprint’lik hareketli ortalamaya bak.
- Kutu dağılımı. “Bugün” oranı artıyorsa ya ürün kırılgan ya triyaj gevşek.
- Taahhüdü tutma oranı. Bütçenin asıl ölçüsü bu; biten iş sayısı değil.
- Takas sayısı. Her sprint takas oluyorsa pay küçük.
- Kaynak. Kesintilerin yarısı tek bir modülden ya da tek bir kişiden geliyorsa sorun bütçe değil, o modül.
Kontrol listesi
- Son üç sprint’te gelen plansız işin kaç adam-gün tuttuğunu biliyor muyum?
- Bunun ne kadarı gerçekten bekleyemezdi?
- Bu sprint’in taahhüdünden kesinti payı düşüldü mü?
- Talep geliştiriciye geldiğinde kime yönlendireceğini biliyor mu?
- Bütçe bitince hangi işin çıkacağına kim karar veriyor?
- Bu sprint kartsız yapılan iş oldu mu?
- Sprint iptalini konuşuyorsak, hedef mi öldü, yoksa sadece yük mü arttı?
Sonuç
5 Kasım akşamı Ahmet doğru olanı yaptı: müşterinin sorununu çözdü. Yanlış olan, bunu saklamak zorunda kalmasıydı. Onu buna zorlayan kural benimdi.
Yasak bana kontrol hissi verdi, ama kontrolü kaybettirdi. Bütçe ise sprint ortasında gelen işi kabul etti, saydı ve bir fiyata bağladı. Daha çok iş bitirmedik; söylediğimiz işi bitirdik.
Plansız iş sprint’in düşmanı değil. Görünmeyen plansız iş, düşman.
Sprint iptali yetkisinin Product Owner’da olması ve iptalin hedef anlamını yitirdiğinde yapılması Scrum Guide’dan (Schwaber & Sutherland, 2020). “Bugün” işinin WIP limitini aşabilmesi Kanban’daki expedite sınıfının uyarlaması. Kesinti kartı, üç kutulu triyaj ve 7. gün kuralı kendi sahamdan.