Sertaç Yıldırım saha notları

Ana sayfa → Bölüm 11

Definition of Ready: Kapı Değil, Sohbet Tetikleyicisi

Salı 5 Ağustos, 11:20, Sprint 5’in ikinci günü. Mehmet sordu: “İkinci imzacıyı kim tanımlıyor? Limit kaç?” PO: “Uyum’a soruyorum.” Cevap dokuz iş günü sonra geldi. Sprint bir önceki Cuma bitmişti.

Özet
  • Hazır olmayan story yalnızca kendini değil, yanındakileri de yer. Sprint 5’te tek bir story 33 adam-günün 11’ini aldı, iki madde daha aynı cevabı bekledi. Sekiz maddeden dördü bitti.
  • İlk tepkim yanlıştı: 14 maddelik bir kapı. Üç sprintte grooming’den sprinte geçen süre 6 günden 21 güne çıktı; Sprint 8’de maddelerin %43’ü “istisna” etiketiyle girdi.
  • Kutucuk evet ister, soru isim ister. Bizim DoR artık beş soru. “Bağımlılıklar çözüldü mü?” değil, “ekip dışında kimi bekliyoruz?”
  • Hayır cevabı maddeyi geri çevirmez, konuşma başlatır. Üç çıkışı var: 15 dakikalık konuşma, time-box’lı spike ya da tahtada yazılı bilinçli risk.
  • Soruları ekip sorar, PO cevaplar. PO’nun tek başına doldurduğu DoR bir forma dönüşür.

Sahadan: çift imza story’si

Story şuydu: “Kurumsal hesaplarda para çekme talebi, ikinci bir yetkilinin onayından geçsin.” İki kurumsal müşteri istemişti; büyük bir hesap açılışı da buna bağlıydı. Grooming’de iyi anlatılmıştı: neden şimdi, kimin için, kabul kriterleri. Tahmin altı adam-gündü. Sprint 5’e, 4–15 Ağustos arasına girdi.

İki soru hiç sorulmamıştı. İkinci imzacıyı kim tanımlıyor? Hangi tutarın üstü çift imza istiyor? Cevap Uyum birimindeydi ve Uyum bu tür kararları iki haftada bir toplanan bir komitede veriyordu.

Ekip durmadı, bu da ayrı bir hataydı. Mehmet ve Ayşe bir varsayımla başladı: tek bir ikinci imzacı, 250.000 TL üstü. Altıncı gün Uyum’dan gayriresmî bir görüş geldi: imzacı listesini müşteri kendisi yönetecek, limit hesap bazında olacak. Yazılan kodun yarısı çöpe gitti. Aynı para çekme akışına dokunan iki madde daha “bu netleşsin, sonra” diye bekletildi.

Sprint sonunda tablo şuydu: story 33 adam-günlük kapasitenin 11’ini yemişti ve hâlâ bitmemişti. Sekiz maddeden dördü bitti. Resmî cevap 18 Ağustos Pazartesi geldi, dokuz iş günü sonra. Story Sprint 6’da bitti.

Hazır olmayan story sprinti nasıl yer

Sonradan dönüp baktığımda 11 adam-gün tek bir yerden gitmemişti. Üç ayrı kanal vardı:

  • Varsayımla başlamak. Cevap beklenirken kimse boş oturmak istemez. Varsayımla yazılan kod, cevap gelince yeniden yazılır. Bizde altı günlük işin yarısı buydu.
  • Komşuları kilitlemek. Aynı akışa dokunan iki madde “önce bu netleşsin” diye bekledi. Hazır olmayan tek bir story, hazır olan iki story’yi de hazır olmayana çevirdi.
  • Kötü haberi geciktirmek. Kart tahtada her sabah “devam ediyor” görünüyordu, çünkü gerçekten bir şeyler yazılıyordu. Durumun ciddi olduğunu yedinci günde söyledik. O zaman da elde değiştirecek zaman kalmamıştı.

Üçü de aynı yere çıkıyor: sorunun bedeli, sorulduğu güne değil, cevabın geldiği güne kadar birikiyor.

Retroda kararı ben önerdim: “Bir daha hazır olmayan madde sprinte girmeyecek.” Hafta sonu oturup 14 maddelik bir Definition of Ready yazdım. Asıl hata oradaydı.

DoR v1 — Ağustos 2025 (kullanmayın)
 1. Kullanici hikayesi formatinda yazildi
 2. Kabul kriterleri Given/When/Then ile yazildi
 3. Ekran tasarimi onaylandi
 4. API sozlesmesi yazildi
 5. Test verisi hazir
 6. Bagimliliklar cozuldu
 7. Para hareketi varsa Uyum onayi alindi
 8. Guvenlik degerlendirmesi yapildi
 9. Performans gereksinimi yazildi
10. Tahmin yapildi
11. Bir sprinte sigiyor
12. PO onayladi
13. Analitik olaylari tanimlandi
14. Dokumantasyon linki eklendi

Kapıya dönen DoR: Sprint 6–9

Liste ilk bakışta sorumlu görünüyordu. Üç sprint sonra şunları gördük:

  • Kapıdan az iş geçti. Sprint 7’de (1–12 Eylül) yalnızca dört madde geçti. 33 adam-günün yaklaşık 12’si için hazır madde yoktu; araya teknik işler dolduruldu. Kötü işler değildi, ama kimse onları seçmemişti.
  • PO, geliştiricinin işini yapmaya başladı. 4. madde API sözleşmesi istiyordu. Sözleşmeyi yazmak için tasarım gerekiyordu, tasarım için madde sprintte olmalıydı. PO haftada yaklaşık altı saatini bu döngüyü form doldurarak kırmaya harcadı.
  • Bekleme uzadı. Grooming’den sprinte geçen süre ortalama 6 günden 19 güne, sonra 21 güne çıktı.
  • Kapı kendi anahtarını üretti. Sprint 8’de (15–26 Eylül) SPK’dan bir bildirim değişikliği geldi, on günlük süreyle. Ekran tasarımı yoktu, API sözleşmesi yoktu; madde “istisna” etiketiyle girdi. Aynı sprintte iki madde daha. Yedi maddenin üçü, yani %43.

En acı kısmı şuydu: istisnayla giren üç maddenin ikisi sprint içinde dış bir cevap beklerken takıldı. Kapı yalnızca zaten uslu olan maddeleri süzüyordu. Asıl riskli olanlar yan kapıdan giriyordu.

Ve kapı Sprint 5’teki sorunu da yakalamazdı. 6. madde “bağımlılıklar çözüldü” diyordu. Çift imza story’sinde o kutu işaretlenirdi, çünkü kimse Uyum’u bir bağımlılık olarak görmemişti. Sprint Hedefi yazısında anlattığım Sprint 9’daki ilk para yatırma maddesi de 14 maddenin hepsinden geçmişti; banka dönüşü entegrasyonu yine de iki gün uzun sürdü.

Kutucuk evet ister. Soru isim ister.

DoR ne işe yarıyor

Scrum Kılavuzu’nda Definition of Ready yok. Kılavuz yalnızca şunu söyler: bir sprint içinde bitirilebilecek maddeler planning’de seçilmeye hazır sayılır ve bu netliğe genelde refinement sırasında ulaşır. DoR ekiplerin sonradan eklediği bir pratik. Bu yüzden kapıya dönüşmesi de bu kadar kolay: onu sınırlayan bir tanım yok.

Benim şimdiki cevabım şu: DoR’nin tek işi, bir soruyu sprintin içinden sprintin önüne taşımak. Aynı soru nerede sorulursa o kadar pahalıya gelir:

Soru nerede sorulduBedeli (çift imza örneğinde)
Grooming’deBirkaç dakika; PO “bilmiyorum” der, madde hazırlığa döner
Planning’den önceki hazırlık bakışında15 dakika; madde bu sprinte girmez, yerine hazır biri girer
Planning’deTartışma, belirsiz bir madde ve belirsiz bir taahhüt
Sprintin ikinci gününde11 adam-gün, yarısı çöpe giden kod, bekleyen iki madde

Grooming tarafı zaten konuşuldu. Grooming yazısındaki altın kural (“PO fonksiyonel bir soruyu cevaplayamıyorsa madde hazır değildir”) ve cevapsız soruya sorumlu ile tarih yazma kuralı burada da geçerli; tekrar etmiyorum. DoR o konuşmanın planning kapısındaki son hâli. Grooming’de sorulmamış soruyu yakalamak için var, grooming’in yerine geçmek için değil.

Nasıl olmalı: beş soru

10 Ekim’deki Sprint 9 retrosunda 14 maddeyi sildik ve yerine beş soru yazdık. Her soru bir “evet” değil, bir cevap istiyor. Cevabın içinde çoğu zaman bir isim var.

DoR v2 — Ekim 2025
1. Kimin hangi isini cozuyor? Tek cumleyle soyleyebiliyor muyuz?
2. Bittigini nereden anlayacagiz? En az bir somut ornek var mi?
3. Ekip disinda kimi bekliyoruz? Kim, hangi gune kadar?
4. Bir sprinte sigiyor mu? Sigmiyorsa nereden bolunur?
5. Bilmedigimiz ne var? Cevabi sorarak mi, kod yazarak mi bulacagiz?

"Hayir" ya da "bilmiyoruz" cevabi maddeyi reddetmez.
Cevabin yanina bir isim ve bir tarih yazilir.

Üçüncü soru Sprint 5’i yakalardı. “Bağımlılıklar çözüldü mü?” sorusuna herkes “evet” der. “Ekip dışında kimi bekliyoruz?” sorusu durup düşündürür. Cevap “kimseyi” ise bir saniye sürer. Cevap “Uyum, belki” ise konuşma başlar.

Hayır cevabının üç çıkışı

  1. Konuşma. Soruyu cevaplayabilecek kişiyle planning’den önce 15 dakika. Uyum, başka bir ekip, müşteri temsilcisi. Cevap gelirse madde girer. Gelmezse bu sprint girmez; bu bir ret değil, bir erteleme.
  2. Spike. Cevap sorarak değil, denerek bulunacaksa (“bankanın test ortamı bu çağrıyı destekliyor mu?”) time-box’lı bir araştırma maddesi açılır, genelde bir gün. Çıktısı kod değil, karardır. Story bir sonraki sprinte hazır gelir.
  3. Bilinçli risk. Regülasyon gibi bekleyemeyen işlerde madde açık soruyla girer, ama sessizce değil. Tahtada üç şey yazar: açık soru ne, cevap kimde, en geç hangi gün gelmezse ne yapıyoruz. Sprint 8’deki “istisna” etiketinin yerini bu aldı. Fark şu: istisna bir kuralı deliyordu, risk bir kararı kayda geçiriyor.
DoR’nin işi hazır olmayan işi durdurmak değil; sorulmamış soruyu, cevabı hâlâ ucuzken sordurmak.

Kim, ne zaman?

Planning’den iki gün önce 20 dakikalık bir hazırlık bakışı yapıyoruz. Odada PO ve dönüşümlü iki geliştirici var; bütün ekip değil. Bütün ekibi hazırlık toplantısına doldurmanın bedelini Backlog Refinement yazısında anlatmıştım. Sıradaki yaklaşık on maddeye beş soru soruluyor.

Soruları geliştiriciler soruyor, PO cevaplıyor. Bu ayrım önemli. DoR v1’i PO tek başına dolduruyordu ve 14 kutu planning’den beş dakika önce toplu işaretleniyordu. Kendi kendine sorulan soru, soru değil, onaydır.

İlk iki denemede 20 dakika 45’e çıktı, çünkü konuşmaların kendisini de orada yapmaya çalıştık. Kuralı sonradan koyduk: hazırlık bakışında yalnızca soru sorulur ve cevabın yanına isim yazılır. Konuşma sonra, ilgili iki kişiyle yapılır. Bakış bir tarama, toplantı değil.

Sonrası: beş soruyla iki sprint

Sprint 12’de (10–21 Kasım) bir madde bankanın test ortamına erişim bekliyordu. Bilinçli risk olarak girdi: “Erişim 13 Kasım’a kadar gelmezse madde çıkar, yerine sıradaki girer.” Erişim 12 Kasım’da geldi, madde bitti. Kural işe yaramasaydı da ne yapacağımızı biliyorduk; asıl kazanç buydu.

Sprint 5
DoR yok
Sprint 7
14 madde
Sprint 8
14 madde
Sprint 11
5 soru
Sprint 12
5 soru
Sprinte giren madde84798
İstisna / bilinçli risk03 istisna01 risk
Sprint içinde dış cevap bekleyen30201
Biten4 / 84 / 45 / 77 / 97 / 8
Grooming’den sprinte (gün)6192187
PO’nun haftalık form saati~1~6~6~1,5~1,5

Dürüst olmak gerekirse: iki sprint kanıt değil, işaret. Sprint 11’in iki eksik maddesinin DoR’le ilgisi yoktu; bir hastalık izni ve canlıdaki bir hataydı. DoR sprint içindeki sürprizi sıfırlamıyor. Görünür kılıyor ve maliyetini öne çekiyor.

Yapılacaklar
  • DoR’yi kutu değil soru olarak yaz; beşi geçme
  • Her “hayır”ın yanına isim ve tarih yaz
  • Ekip dışındaki kişiyi adıyla sor
  • Kodla bulunacak cevap için spike aç
  • Açık soruyla giren maddenin son gününü tahtaya yaz
Yapılmayacaklar
  • Her sorunlu sprintten sonra DoR’ye yeni madde eklemek
  • PO’dan geliştiricinin işini (API sözleşmesi, tasarım) istemek
  • “İstisna” etiketiyle kuralı sessizce delmek
  • DoR’yi grooming’in yerine koymak
  • Kutuları planning’den beş dakika önce toplu işaretlemek

Kontrol listesi

Planning’den önce
  • Sıradaki maddelere beş soru planning’den önce soruldu mu?
  • “Hayır” ya da “bilmiyoruz” cevabı alan her sorunun yanında bir isim ve tarih var mı?
  • Ekip dışında beklediğimiz kişi adıyla yazıldı mı, yoksa “bağımlılık yok” mu dendi?
  • Cevabı kod yazarak bulunacak soru için spike açıldı mı?
  • Açık soruyla giren madde varsa son günü ve B planı tahtada yazılı mı?
  • Soruları ekip mi sordu, yoksa PO kutuları tek başına mı işaretledi?
  • Son üç sprintte sprint içinde dış cevap bekleyen kaç madde oldu?

Sonuç

5 Ağustos’ta Mehmet’in sorusu doğru soruydu, ama yanlış gündü. Aynı soru bir hafta önce, 20 dakikalık bir hazırlık bakışında sorulsaydı Uyum’un cevabı yine dokuz gün sürebilirdi. Fark şu olurdu: story sprinte girmezdi, 11 adam-gün de yanmazdı.

Benim 14 maddelik formum o soruyu sormuyordu. Beş soruluk listenin üçüncüsü soruyor. Hazır olmayan işi form yakalamaz. Onu, doğru zamanda sorulmuş tek bir soru yakalar.

Kaynak

Maddelerin planning’de seçilmeye ne zaman hazır sayıldığı Scrum Kılavuzu’ndan (2020); Kılavuz DoR tanımlamaz. Beş soru, hazırlık bakışı ve hayır cevabının üç çıkışı kendi ekibimizde, 14 maddelik ilk denemenin enkazından çıktı.