Bir yıl önce müşterilerimize "ne yazık ki altyapımız uygun değil, şu anda çok doluyuz, şu kadar kişi-gün maliyetle ilerleriz, üçüncü çeyreğe planlandı, ekip boşa çıktığında ele alabiliriz" gibi cümleleri bolca söylerdik. Ardından bunu bile söyleyemez olduk.
Müşterilerimiz için neredeyse bir yıl boyunca hiçbir geliştirme yapamaz olduk, bu nedenle yazıyı yazmak kolay değil. Çünkü bizi biz yapan şey tam da tersiydi: müşterimiz bir şey ister, biz iki güne çıkarırdık. Esneklik bizim satış argümanımız değil, karakterimizdi. Bir yıl önce o karakteri bilerek askıya aldık.
Sebebini anlatayım.
Kolay olan neydi
Sektörde herkesin yaptığı bir şey vardı: mevcut ürünün üstüne bir yapay zekâ etiketi yapıştırıp "yeni nesil" demek. Bir sohbet kutusu eklersiniz, bir "AI ile özetle" düğmesi koyarsınız, tanıtım sayfasını yenilersiniz. Bir, üç ayda biter. Müşteri de memnun görünür, çünkü ekranda yeni bir şey vardır.
Evet, dürüst olmak gerekirse geri kalmamak için biz de ufak çapta bunu yaptık. Ama şunu biliyorduk; o yoldan devam etseydik, üç yıl sonra elimizde yapay zekâ etiketli eski bir sistem olacaktı. Yapay zekânın işe yaraması için modelin iyi olması yetmiyor; verinin, yetkinin, iş akışının ve raporun onun etrafında kurulmuş olması gerekiyor. Bunlar da tam olarak altyapıdır.
Bu yüzden zor olanı seçtik; altyapıyı sıfırdan yazmak.
Bunun ne demek olduğunu çoğu kişi bilmiyor
Bir yazılımı sıfırdan yazmak, boş bir sayfaya başlamak değildir. Yıllarca kurduğunuz sistemin temeline dokunursunuz, ama aynı anda o sistem çalışmaya devam eder. Bizde bunun karşılığı 300 kurumsal müşteride 2,5 milyon kullanıcının her gün eğitim aldığı bir platform demekti.
Havada giden uçağın motorunu değiştirmek gibi. Benzetme kulağa hoş geliyor ama pratikte şu demek; pazartesi sabahı bir İK uzmanı rapor alacak ve o rapor çalışacak. Aynı hafta içinde biz o raporun altındaki her şeyi değiştiriyor olacağız.
İki iş aynı anda yürür. Biri görünür, diğeri görünmez. Görünmeyen iş bittiğinde kimse alkışlamaz; görünen işte bir aksama olduğunda ise herkes haklı olarak sorar.
Teknik tarafı merak eden için birkaç cümle. Böyle bir geçişte iki sistem bir süre yan yana çalışır. Aynı veri iki yerde tutulur, hangisinin doğru olduğuna dair bir kural yazarsınız ve o kural her modül için ayrı düşünülür. Sonra kullanıcıyı taşırsınız; hepsini birden değil, modül modül. Her taşımanın bir geri dönüş planı olması gerekir, çünkü ilk canlı günde ortaya çıkan şey test ortamında hiç görünmez. Bu yüzden proje planındaki en uzun kalem geliştirme değil, doğrulama olur.
Bir de kimsenin konuşmadığı bir maliyet var; ekibin belleği. Bir yıl boyunca iki sistemi birden bilen insanlara ihtiyacınız olur. Yeni gelen kişi altı ay eski sistemi de öğrenmek zorunda kalır, çünkü müşteri hâlâ orada. Bu durum, ekip için yorucu bir dönemdir ve iyi yönetilmezse geçişin gerçek riski teknik değil insani olur.
"Esnekliği askıya aldık" ne demekti
Bu cümle soyut duruyor, somutlaştırayım.
Normal zamanda gelen bir istek şöyle işlerdi; müşteri ister, ekip bakar, küçükse aynı hafta çıkardı. Geçiş yılında bu akışı bilerek kapattık. Gelen istekleri üçe ayırdık; sistemi durduran şeyler hemen, mevzuat ve uyum gerektirenler sırayla, geri kalan her şey yeni altyapıya. Üçüncü gruba giren isteklerin cevabı bir yıl boyunca "yeni tarafta olacak" oldu.
Bunun bir kısmı doğru bir tercihti. Eski tarafta yapılan her geliştirme, sonradan iki kez taşınacak bir borç demekti. Ama şunu da gördük; müşterimiz için "yeni tarafta olacak" cümlesi, tarih verilmediği sürece "hayır" ile aynı şeydir. Tarihi veremediğimiz dönemlerde ilişkilerimiz yıprandı.
Bedeli müşteriye çıktı, bunu saklamıyorum
İlk altyapı geçişinde müşterilerimizi yorduk.
Bu konuyu geçiştirmek istemiyorum, çünkü işin en dürüst kısmı burası. Alışkın oldukları ekranlar değişti. Bazı işler bir süre eskisinden yavaş yapıldı. "Şu küçük düzenlemeyi ekler misiniz" dendiğinde aylarca "sırada" cevabını verdik. Bir yıl boyunca esnekliğimizi bilerek kıstık ve bunun faturasını biz değil, kullanıcı ödedi.
Bugün geriye bakınca yanlış yaptığımız şey karar değil, iletişimdi. Kararı doğru veriyorduk ama nedenini yeterince anlatmıyorduk. Müşteri "yapmıyorlar" diye düşündü; oysa "şimdi yapmıyoruz, çünkü altını değiştiriyoruz" demek gerekiyordu. Bu iki cümle arasındaki fark, bir yıllık sabrın gerekçesidir.
Peki ne değişti
Rakam vereceğim, ama rakamın kendisi kanıt değil; kanıt, doğrulanabilir olmasıdır.
Son üç ayda yayına aldığımız yenilik sayısı dört yüz. Hepsi tarihiyle birlikte yazılı ve arşivi herkese açık; kim isterse girer, hangi hafta ne yaptığımızı görür. Bir yazılım şirketinin "çok geliştirme yaptık" demesi ucuzdur, listeyi açık bırakması ucuz değildir.
Benim için asıl gösterge ise başka: gün içinde gelen sorun ve isteklerin ertesi güne kalma oranı bugün neredeyse sıfır. Bir yıl önce aynı işler için haftalarca beklenirdi.
Bu ikisi aynı şeyin iki yüzü. Altyapı düzgün olduğunda hız bir kahramanlık değil, sıradan bir sonuç oluyor. Ekip gece çalıştığı için değil, iş küçüldüğü için hızlısınız.
Aradaki farkı en iyi şu anlatır; eskiden bir raporun içine yeni bir sütun eklemek, o raporu kullanan her ekranı tek tek gözden geçirmeyi gerektirirdi. Şimdi veri tek yerde tanımlı olduğu için aynı iş, isteğin geldiği gün bitiyor. Müşteri "hızlandınız" diyor; olan şey aslında işin küçülmesi.
Bir başka gösterge de şu; artık entegre yan uygulamaları günler içinde çıkarabiliyoruz. Kuruma özel bir raporlama ekranı ya da kullanıcı yönetimi arayüzü, eskiden ayrı bir proje demekti. Her şey API üzerinden çalıştığı için bugün bunlar sıradan işler.
Abartmayalım, sınırları da var
Şunu net söyleyeyim: altyapıyı yenilemek tek başına bir şey çözmez.
Yeni altyapı, kötü kurgulanmış bir eğitim programını iyi yapmaz. Kimsenin izlemediği bir içeriği izlenir hale getirmez. Zorunlu eğitimi anlamlı kılmaz. Bunlar teknoloji sorunu değil, tasarım ve yönetim sorunudur; biz de dahil hiçbir tedarikçi bunları sizin yerinize çözemez.
İkincisi, bu iş bitmedi. "Bitti" diyen bir yazılımcıya inanmayın. Elimizde hâlâ eski tarafta duran ekranlar, kolaylaştırılacak modüller, akışlar var. Bir yılın sonunda söyleyebileceğim şey "tamamladık" değil, "artık doğru zeminde ilerliyoruz". Dile kolay, 1.500 ekranlık dev bir InfinityLMS ürünü.
Üçüncüsü, bu kararın herkese uygun olduğunu iddia etmiyorum. Altyapıyı yenilemek için bir yıl özellik üretmemeyi göze alabilmek, sabırlı müşteri ve dayanıklı bir nakit akışı gerektirir. İkisi de yoksa bu karar cesaret değil, intihar olur.
Aynı yol ayrımındaysanız
Bu yazıyı okuyan bir eğitim ya da teknoloji yöneticisi benzer bir kararla karşı karşıya olabilir; mevcut sistemi kozmetik olarak yenilemek mi, temeli değiştirmek mi.
Üç sorusu var bu kararın.
Birincisi; değiştirmediğinizde üç yıl sonra nerede olursunuz. Cevabınız "aynı yerde" ise değişim zaten zorunludur, konuşulacak tek şey zamanlamadır.
İkincisi; geçiş sırasında kim bedel ödeyecek. Bu bedelin size değil kullanıcıya çıktığını baştan kabul edin ve ona göre konuşun. Sürprizle karşılaşan kullanıcı, önceden haberdar edilmiş kullanıcıdan çok daha sert tepki verir.
Üçüncüsü; bittiğini nasıl anlayacaksınız. Bizim ölçümüz "yeni sistem yayında" olmadı; "isteneni ne kadar sürede yapabiliyoruz" oldu. Süre kısalmıyorsa altyapı değil, sadece görüntü değişmiştir.
Son söz
Bir yıl boyunca "sonra" olarak verdiğimiz yanıtların bir bedeli oldu. Bugün aynı sorulara "yarın tamam" diyebiliyorsak, o bedel ödenmiş demektir.
Bir şeyi daha öğrendim; müşteriden en çok "ne yaptınız" diye değil, "ne yapmadınız ve neden" diye sorulduğunda korkulur. Cevabı hazır olan şirket, kararını gerçekten vermiş şirkettir.