Türkiye'de üretim yapan pek çok işletme, on beş yirmi yıl önce tek bir yazılımcıya yazdırdığı özel bir programla çalışmaya devam ediyor. Sistem çalıştığı sürece sorun görünmez; ancak yazılımcı emekli olduğunda, iletişim koptuğunda ya da ilişki bozulduğunda ortaya çıkan tablo aynıdır: kaynak kod ya yoktur ya eksiktir, kimse programın içinde hangi hesabın nasıl yapıldığını bilmemektedir, yeni bir özellik eklenemez ve küçük bir hata bile üretimi durdurma riski taşır.
Bu durum bir yazılım geliştirme problemi değil, bir arkeoloji problemidir. Yeni bir program yazmak, çalışan sistemin yerini alacak doğru davranışın ne olduğunu bilmeden mümkün değildir; o davranış da yazılı hiçbir yerde durmaz, yalnızca çalışan kodun ve veritabanının içinde yaşar. Dolayısıyla işin ilk adımı kod yazmak değil, kanıt toplamaktır: derlenmiş uygulamadan iş mantığının çıkarılması, veritabanındaki nesnelerin haritalanması ve hangi bilginin kesin, hangisinin çıkarım olduğunun açıkça ayrılması.
Pan Innovation House olarak bu işi daha önce uçtan uca yaptık. Derlenmiş bir kurumsal uygulamanın tamamını satır satır çözümledik, menü ve yetki hiyerarşisini yeniden kurduk, veri erişim modelini çıkardık ve raporda her bulguyu kanıt seviyesine göre etiketledik: koddan doğrudan okunanı kesin, dolaylı kesişimden geleni olasılık, kaynağı yetersiz olanı ise açıkça doğrulanamadı diye işaretledik. Bir sistemi devralırken en tehlikeli şey, tahmini bilgiymiş gibi devretmektir; yöntemimizin merkezinde bu ayrım vardır.