İlk Satırın Gölgesi: Mimari Kararlar Neden Yıllarca Peşimizi Bırakmaz?

Bir yazılım projesinin ilk günlerinde alınan kararlar çoğu zaman masum görünür: Veritabanını şimdilik tek sunucuda tutalım, kullanıcı kimliğini e-posta adresiyle eşleştirelim, modülleri hızlı ilerlemek için aynı kod tabanında toplayalım. Ekip küçüktür, müşteri acele eder, bütçe dardır. Herkes “sonra düzeltiriz” der. Fakat bilişim dünyasında bazı “sonralar”, yıllar sonra milyonlarca kullanıcının, yüzlerce geliştiricinin ve kritik iş süreçlerinin omzuna çöken birer mimari gölgeye dönüşür.

Geri dönüşsüz karar, teknik olarak asla değiştirilemeyecek karar demek değildir. Çoğu sistem yeniden yazılabilir, veri taşınabilir, servisler ayrıştırılabilir. Ancak değişimin maliyeti zamanla öyle büyür ki karar pratikte geri dönüşsüz hale gelir. Bir apartmanın temelini değiştirmek mümkündür; fakat apartman doluyken, çevresinde trafik akarken ve kiracılar her gün yaşamaya devam etmek zorundayken bu iş yalnızca mühendislik problemi olmaktan çıkar. Yazılım mimarisi de böyledir: Kodun altında çalışan iş kuralları, kullanıcı alışkanlıkları, entegrasyonlar ve kurum hafızası vardır.