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

Ana sayfa → Ekip Yönetimi

Ürün ve Mühendislik: Karşı Taraf Değil, Aynı Masa

Çarşamba 16:20, ürün yöneticisinden Slack mesajı: “Fon ekranı 3 Mart’ta canlıda, yönetime söyledim.” O işe hiç tahmin vermemiştim. Aynı akşam ekip hesapladı: 6 hafta. 3 Mart’a 4 hafta vardı. Ertesi sabah ben de kendi hatamı yaptım — kimseye sormadan kapsamı kestim.

Özet
  • Ne ve neden ürünün, nasıl ve ne kadar mühendisliğin. Sınır bu kadar basit; bozulduğu yer hep aynı: biri diğerinin sorusunu cevaplıyor.
  • Kapsamdan değeri bilen vazgeçer. Mühendislik tek başına keserse en pahalı parçayı keser; ürün keserse en az değerli parçayı. Çoğu zaman aynı parça değil.
  • “Ne zaman biter”in iki cevabı var. Tahmini mühendislik verir, aralık olarak. Dışarıya verilen tarihi ürün taahhüt eder, o aralığa bakarak.
  • Kalite çıtası pazarlığa girmez. Denetim kaydı, güvenlik, regülasyon: bunlar kapsam değil, zemin.
  • Takas bir tabloyla konuşulur. “Olmaz” ve “yaparız” yerine “sığar, ama karşılığında şu çıkar”.
  • Ortak hedef çıktı değil, sonuç. İki taraf aynı sayıya bakmıyorsa aynı masada değildir.

Sahadan: 3 Mart demosu

İş, yatırım fonu alım-satım ekranıydı. Aracı kurumun mobil uygulamasında hisse ve VİOP vardı, fon yoktu; müşteriler fonu başka kurumdan alıyordu. Ürün yöneticisi bu açığı çeyreğin ana hedefi olarak yönetime sunmuştu. Sunumun en güçlü slaytı düzenli alım talimatıydı: “her ayın 5’inde 2.000 TL’lik fon al”. Müşteriyi uygulamaya bağlayan özellik buydu.

Ben o sunumu görmemiştim. Elimde yalnızca Jira’daki yedi story vardı ve 4 Şubat Çarşamba akşamı ekiple kaba tahmin çıkardık: 6 hafta. 4 haftaya sığmıyordu. Ertesi sabah ürün yöneticisine gitmek yerine kendi kafamda bir plan yaptım: en pahalı parçayı çıkarırım, geri kalanı biraz fazla mesaiyle yetiştiririz. En pahalı parça, 2 haftayla, düzenli alım talimatıydı. Zamanlayıcı, başarısız tahsilat, bakiye yetersizliği, iptal — hepsi ayrı dert.

Çıkardım. Kimseye söylemedim, çünkü bunu mühendislik kararı sanıyordum: “Neyi yetiştirebileceğimizi ben bilirim.” Ekip iki hafta sonu çalıştı. 3 Mart sabahı ekran canlıya çıktı; fon listesi, alım, satım, denetim kaydı. Teknik olarak temiz bir çıkıştı.

11:00’de yönetime demo yapıldı. Genel müdür yardımcısının ilk sorusu: “Düzenli alım nerede?” Ürün yöneticisi cevabı bilmiyordu. Ekranın önünde, herkesin içinde öğrendi. Toplantıdan sonra bana tek cümle yazdı: “Bunu bana demoda değil, dört hafta önce söylemen gerekiyordu.”

Haklıydı. Ama ben de haklı olduğumu düşünüyordum: tarih bana sorulmadan verilmişti. İkimiz de aynı hatayı yapmıştık, sadece farklı yönden. O, benim sorumu cevaplamıştı: “ne zaman biter?” Ben de onun sorusunu cevaplamıştım: “neden vazgeçeriz?”

Mühendislik tek başına keserse en pahalı parçayı keser. Ürün keserse en az değerli parçayı. İkisi nadiren aynı parçadır.

Kim neye cevap verir

Demodan iki gün sonra ürün yöneticisiyle bir saat oturduk ve kimin hangi soruya cevap verdiğini tek sayfaya yazdık. Yazınca şaşırtıcı derecede basit çıktı. Zor olan yazmak değil, sıkışınca ona uymaktı.

SoruKim cevaplarÖbür tarafın rolü
Ne yapıyoruz, neden?ÜrünMühendislik sorgular: “Bu problemi çözüyor mu?”
Nasıl yapıyoruz?MühendislikÜrün dinler, seçeneklerin sonucunu anlar
Ne kadar sürer?Mühendislik (aralık olarak)Ürün belirsizliğin nereden geldiğini sorar
Dışarıya hangi tarih verilir?Ürün, mühendislikle konuştuktan sonraMühendislik tarihi tahminle karşılaştırır, itiraz hakkı var
Kapsamdan ne çıkar?ÜrünMühendislik her parçanın maliyetini ve riskini söyler
Kalite çıtası nedir?MühendislikPazarlığa girmez; ürün bunu tarih hesabında sabit alır

Tablonun ilk iki satırı herkesin bildiği ayrım: ne ve neden, nasıl ve ne kadar. Asıl kavga son üç satırda çıkıyor, çünkü orada iki tarafın cevabı birbirine bağlı. Tarih tahmine bağlı, kapsam tarihe bağlı, tahmin de kapsama. Bu üçünü tek kişi cevaplayamaz; cevaplamaya çalışan da benim gibi yanlış yerde karar verir.

Grooming’de ürünün işinin “ne” değil “neden” olduğunu seremoni yazısında anlatmıştım. Buradaki ayrım bir toplantının değil, iki rolün ayrımı: seremoniler iki haftada bir oluyor, bu sorular her gün soruluyor.

Kapsamdan kim vazgeçer?

Benim hatam buydu, o yüzden en uzun burada durayım. Kapsam kesmek teknik bir karar gibi görünüyor, çünkü tetikleyicisi teknik: iş sığmıyor. Ama kesilecek parçayı seçmek bir değer kararı. Hangi özelliğin müşteri için ne anlama geldiğini, kime ne söz verildiğini, satışın hangi cümleyle yapıldığını ürün biliyor. Ben bilmiyordum.

Demodan sonra aynı yedi parçayı bir tabloya koyduk. 4 Şubat’ta bu tabloyu açsaydık ne olacağını birlikte oynadık:

Fon ekrani — kapsam tablosu
parca                        deger (urun)     maliyet (muh.)
-------------------------------------------------------------
fon listesi + filtre         zorunlu          1   hafta
alim emri                    zorunlu          1   hafta
satim emri                   zorunlu          0,5 hafta
denetim kaydi (audit log)    ZEMIN            0,5 hafta
duzenli alim talimati        cok yuksek       2   hafta
fon karsilastirma grafigi    orta             0,5 hafta
getiri hesaplayici           dusuk            0,5 hafta
-------------------------------------------------------------
toplam                                        6   hafta

benim kestigim   : duzenli alim            (en pahali, -2 hafta)
urunun kesecegi  : grafik + hesaplayici    (en az degerli, -1 hafta)
urunun secimi    : kalan 5 hafta, tarihi 1 hafta kaydir: 10 Mart
                   fazla mesai yok, ana ozellik icinde

Ben 2 haftalık parçayı kesip dört haftaya sığdırdım ve iki hafta sonu mesaiyle yetiştirdim. Ürün yöneticisi toplam bir haftalık iki parçayı kesip tarihi bir hafta kaydırırdı — ve yönetime tam o sırada, 4 Şubat’ta, “düzenli alım var, tarih 10 Mart” derdi. Demo yerine bir takvim değişikliği konuşulurdu.

Buradan çıkan kural: mühendislik fiyatı söyler, ürün alışverişi yapar. Mühendislik “bu parça 2 hafta, çünkü şu riskler var” der. Ürün de “o zaman şunu alıyorum, bunu bırakıyorum” der. Mühendislik alışverişi kendisi yaparsa, müşterinin ne istediğini bilmeden sepete ürün koymuş olur.

İstisna: zemin pazarlığa girmez

Tablodaki denetim kaydı satırında “değer” sütununda “zorunlu” değil “ZEMİN” yazıyor. Fark şu: zorunlu parçalar üzerine konuşulabilir, zemin konuşulamaz. Aracı kurumda her emrin kim tarafından, hangi cihazdan, ne zaman verildiği kayıt altında olmak zorunda. Bu kapsam değil, kalite çıtası. Ürün yöneticisi bunu tarih hesabında sabit maliyet olarak alır, kesilecek adaylar listesine koymaz. Güvenlik ve test de aynı sütunda durur.

“Ne zaman biter?” sorusunun iki cevabı

Olayın öbür yarısı tarihti. Ürün yöneticisi 3 Mart’ı nereden bulmuştu? Sonradan sorduğumda cevap basitti: Aralık’ta koridorda ekipten biri “fon ekranı mı, bir ayda çıkar” demiş. Bu cümle bir tahmin değildi, bir tahminin gölgesiydi. Ama yönetim sunumuna tarih olarak girdi.

O yüzden artık “ne zaman biter” sorusuna iki ayrı cevap veriyoruz ve ikisini ayrı kişiler veriyor:

Tahmin — mühendislik

“Yüzde seksen ihtimalle 5 ile 7 hafta arası. Belirsizlik ödeme kuruluşunun test ortamından geliyor; ilk hafta sonunda aralığı daraltırım.”

Aralık, güven ve belirsizliğin kaynağı. Tek sayı yok.

Taahhüt — ürün

“Yönetime 7 hafta diyorum, ilk haftadan sonra güncelleriz. Aralık daralmazsa grafiği çıkarırız.”

Tarih, tahmine bakılarak ve önceden seçilmiş bir kapsam kesintisiyle verilir.

Tahmin bir ölçüm, taahhüt bir söz. Sözü kim veriyorsa sonucuyla da o yaşıyor; bu yüzden dışarıya tarihi ürün veriyor. Ama tahmini görmeden verilen tarih bir söz değil, bir umut. Sprint seviyesinde aynı ilkeyi sprint planning yazısında “tahmin değil taahhüt” diye anlatmıştım; burada ölçek bir sprint değil, bir çeyrek.

Tahmin bir ölçümdür, taahhüt bir söz. Ölçümü görmeden verilen söz, umuttur.

Takas konuşması

Tarih, kapsam ve kalite: üçünden biri sabitlenir, biri seçilir, üçüncüsü sonuç olur. Kalite zaten sabit, o zaman konuşma hep şu soruya iniyor: tarih mi sabit, kapsam mı? Bunu ürün söylüyor; mühendislik de diğerinin ne olacağını.

Konuşmayı bozan iki cümle var. Mühendislikten gelen “olmaz” ve yine mühendislikten gelen “yaparız”. İlki konuşmayı bitiriyor, ikincisi bedeli saklıyor. Yerine tek bir cümle kalıbı kullanıyoruz: “Sığar, ama karşılığında şu çıkar” ya da “Sığmaz; şunu çıkarırsak sığar.”

Pratikte bu haftada 30 dakika. Pazartesi 10:00, ürün yöneticisi ve ben. Gündem hep aynı üç madde: tahmin aralığı değişti mi, kapsama bir şey girdi mi ya da çıktı mı, dışarıya verilmiş bir tarih risk altında mı. Kapsam tablosu ikimizin de düzenleyebildiği tek sayfada duruyor. Bir satır değişirse değişikliği yapan kişi yanına tarih ve bir cümle yazıyor.

Bir Pazartesi toplantısı, 16 Mart

Düzenli alım işinin ikinci haftası. Satış ekibi ürün yöneticisine yeni bir istek getirmiş: kurumsal müşteriler için “fon sepeti”, yani tek talimatla üç fona birden alım. Eski düzende bu istek ya bana sessizce Jira’dan düşerdi ya da ürün yöneticisi “küçük bir ek” diye yönetime söylerdi.

Bu kez tabloya satır olarak girdi. Ben maliyeti söyledim: bir hafta, çünkü üç ayrı emrin biri başarısız olursa ne olacağı tanımsız. Ürün yöneticisi değerini söyledi: iki kurumsal müşteri, ikisi de çeyrek sonuna kadar beklemeye razı. Karar 12 dakikada çıktı: sepet ayrı iş, düzenli alımın tarihi değişmiyor. Kimse “olmaz” demedi, kimse “yaparız” da demedi.

Ortak hedef: çıktı değil, sonuç

Olaydan önce iki ayrı sayıya bakıyorduk. Ben teslim edilen story sayısına, ürün yöneticisi yol haritasındaki maddelerin tarihine. İkisi de çıktı. İkisi de bir diğerinin kaybıyla artabiliyordu: ben kapsam keserek story kapatabiliyordum, o tarih vererek yol haritasını dolu gösterebiliyordu.

Şimdi ikimiz aynı sayıya bakıyoruz: fon ekranında aylık aktif düzenli talimat sayısı. Bu sayı benim kestiğim parçaya bağlı olduğu için, o parçayı kesmek artık benim için de bir kayıp. Ortak sayı kurmanın tuzaklarını mühendislik metrikleri yazısında anlatmıştım; burada tek kural var: iki tarafın da etkileyebildiği ve iki tarafın da kaçamayacağı bir sayı.

Ne izlemeli?

NeNeden
Mühendislikten önce dışarıya verilen tarih sayısıSıfır olmalı; her biri bir sonraki demonun sürprizi
Sessiz kapsam değişikliği sayısıTabloya yazılmadan eklenen ya da çıkarılan her parça; bu da sıfır olmalı
Taahhüt edilen tarih ile gerçekleşen tarih farkıSürekli aynı yönde sapıyorsa tahmin değil, iletişim bozuk
Tahmin aralığının genişliği, ilk hafta sonundaDaralmıyorsa belirsizliğin kaynağı konuşulmamış
Ortak sonuç metriğiİki tarafın da baktığı tek sayı; biri bakmıyorsa masada değil

Bende işe yaramayanlar

  • Tahmini tek sayıyla vermek. Bir önceki projede “6 hafta” demiştim. Ürün yöneticisi onu tarih olarak duydu, yönetime öyle aktardı. Tek sayı, karşı tarafın kafasında hep en iyimser senaryoya dönüşüyor.
  • Gizli tampon. Bir süre her tahmine sessizce %20 ekledim. Ürün yöneticisi bunu fark edince tüm tahminlerimden %20 düşmeye başladı. İki tarafın da birbirinin sayısını düzelttiği bir ilişkide kimsenin sayısı gerçek değil. Tampon artık tabloda ayrı satır, adıyla.
  • Ürünü “nasıl” konuşmasından uzak tutmak. “Teknik detay onu ilgilendirmez” diye düşünüyordum. İlgilendiriyormuş: düzenli alımın neden 2 hafta sürdüğünü bilmeyen biri, o parçanın maliyetini tartamaz. Şimdi tahminin yanına üç satırlık “neden bu kadar” notu yazıyorum.
  • Her şeyi Jira üzerinden konuşmak. Yorumlar, etiketler, alan değişiklikleri. Hiçbiri konuşma değil. 3 Mart’tan önceki dört hafta boyunca ürün yöneticisiyle bir kez bile aynı masaya oturmamıştık; tüm ilişki ticket geçmişindeydi.

Kontrol listesi

Aynı masada mıyız?
  • Dışarıya verilmiş her tarih, mühendisliğin tahmin aralığına bakılarak mı verildi?
  • Tahminlerim tek sayı mı, yoksa aralık ve güvenle mi?
  • Son bir ayda kapsamdan benim tek başıma çıkardığım bir parça var mı?
  • Kapsam tablosu iki tarafın da görüp düzenleyebildiği tek yerde mi?
  • Kalite çıtası (denetim kaydı, güvenlik, test) yazılı ve pazarlık dışı mı?
  • Ürün yöneticisi en pahalı parçanın neden pahalı olduğunu biliyor mu?
  • İkimiz de aynı sonuç metriğine mi bakıyoruz?
  • Bu hafta ürün yöneticisiyle ticket dışında konuştum mu?

Sonuç

3 Mart demosunda iki kişi haksızdı ve ikisi de haklı olduğunu düşünüyordu. Ürün yöneticisi tarihi bana sormadan vermişti; ben kapsamı ona sormadan kesmiştim. Tarih mühendisliğin sorusuydu, kapsam ürünün. İkimiz de öbürünün sorusunu cevaplamıştık.

Düzenli alım talimatı ayrı bir iş olarak planlandı. Tahmin 2 ile 3 hafta arasıydı; ürün yöneticisi yönetime 3 hafta dedi. 24 Mart’ta, iki buçuk haftada canlıya çıktı. Demoda kimse bir şey sormadı, çünkü sorulacak her şey Pazartesi toplantılarında zaten konuşulmuştu. Bu yazıyı yazdığımda üzerinden iki hafta geçmişti; elimdeki kanıt tek bir proje. Ama o projede sürpriz sayısı sıfırdı.

Ürün ile mühendislik karşı karşıya oturduğunda iki taraf da kendi sorusunu korur, öbürünün sorusunu cevaplar. Aynı masaya yan yana oturduğunda ise ikisi de aynı tabloya bakar.