- Büyük teknoloji sistemlerinin opaklığı
- Büyük teknoloji şirketleri, kendi sistemlerini bile adeta "savaş sisinin (fog of war)" içinde işletir.
- "Y tipi kullanıcı özelliği X'i kullanabilir mi?", "Aksiyon Z gerçekleştiğinde tam olarak ne olur?", "Şu anda kaç farklı fiyatlandırma planı var?" gibi temel sorulara bile organizasyon içinde yalnızca az sayıda kişi yanıt verebilir.
- Durum daha kötüyse, araştırma için özel bir sorumlu atamak gerekir; oysa yalnızca herkese açık belgelere bakarak yanıtın çıkması gerekirken pratikte böyle olmaz.
- Karmaşıklığın kaynağı: Wicked Features
- Büyük yazılımlar; self-hosting, ücretsiz deneme, organizasyon/politika kontrolleri, çok dilli yerelleştirme, regülasyon uyumluluğu gibi özellikler nedeniyle aşırı derecede karmaşıktır. Bu özellikler eklenen her yeni özelliği etkiler
- Örnek: Politika kontrolü eklendiğinde bunun her yeni özelliğe de uygulanması gerekir; yerelleştirme yapıldığında çevirilerin de buna eşlik etmesi gerekir.
- "AB bölgesinde self-hosting kullanan enterprise müşterisinin belirli bir özelliğe erişip erişemediği" ancak doğrudan kodu inceleyerek ya da deney yaparak doğrulanabilir. Bu tür özellikleri atlamak muazzam gelirden vazgeçmek anlamına gelir; büyük şirketlerle küçük şirketler arasındaki fark da burada ortaya çıkar.
- Dokümantasyonun sınırları
- Yeni bir özellik geldiğinde etkileşimleri belgelemenin teorik olarak mümkün olduğu düşünülebilir, ancak sistemin değişim hızı dokümantasyondan daha yüksektir.
- Statik değil dinamik bir ortamda, dokümantasyonu yazan kişinin değişimin önünde gitmesi gerekir; bu ise neredeyse imkansızdır.
- Daha büyük sorun şu: Pek çok davranış, açık bir niyetten değil varsayılan ayarların etkileşiminden doğar — dokümantasyon yazmak neredeyse gerçek sistemi keşfetmek gibidir.
- Yanıtın özü: kod tabanı ve mühendisler
- Doğru yanıt ancak kod tabanına doğrudan bakarak elde edilebilir; bu da mühendislerin güç temelidir.
- Bir mühendislik ekibinin temel işlevi, yazılımla ilgili sorulara yanıt verebilme yeteneğidir
- Bu süreçte, belirli kod parçalarıyla ilgili insanların zihninde yaşayan örtük bilgi (tacit knowledge) kullanılır.
- Ekipler yeniden yapılandırıldığında bilgi kaybı yaşanır ve "keşif amaçlı cerrahi" (kodu değiştirip kontrolü zorlamak vb.) gerekebilir.
- Kod yazmak kolaydır, ancak güvenilir yanıt vermek güven meselesi olduğu için zordur (yanılma riski, özetleme ve sıkıştırma gerekliliği).
- Sonuç: çok değerli bir yetenek
- Teknik olmayan çalışanlar, yazılımın mühendisler tarafından tamamen anlaşıldığına inanır; ancak büyük sistemleri hiç kimse bütünüyle bilmez.
- En temel sorular bile tekrar tekrar araştırma gerektirir; sistem değiştikçe nüanslar ve istisnalar ortaya çıkar. Doğru yanıt verebilme becerisi son derece değerlidir.
Henüz yorum yok.