Gelelim başka bir kutsal akdin demistifiye edilmesine:
“Sadece ürünün gelişmiş ve stabil hali sürüm olarak canlıya alınır. Onu stabilize etmek için her şey mübahtır.”
Yanlış!
Yazılım geliştirmek çok maliyetli olduğu için, sürüm oluşturmak ve canlıya almak da bu maliyet dünyasının bir parçasıydı.
Bir değişikliği üretmek pahalıydı. Test etmek pahalıydı. Hataları bulmak ve düzeltmek pahalıydı. Release hazırlamak pahalıydı. Bir şey ters giderse geri dönmek daha da pahalıydı.
Dolayısıyla doğal çözüm şuydu:
Değişiklikleri biriktir → test et → stabilize et → paketle → sürüm oluştur → canlıya al.
Böylece release’in kendisi bir olaya dönüştü.
Ama yapay zeka yazılım üretme maliyetini dramatik biçimde düşürüyorsa, sadece kod yazma biçimimiz değil, release mantığımız da değişmek zorunda.
Artık soru şu olmayabilir:
“Bu sürüm canlıya alınacak kadar stabil mi?”
Asıl soru şu olabilir:
“Bu değişikliği neden hala canlıya almadık?”
Küçük değişiklikler, küçük riskler, otomatik testler, feature flag’ler, observability, hızlı rollback ve yapay zeka destekli geliştirme…
Bunların birleştiği dünyada amaç mükemmel ve büyük sürümler üretmek değil;
değişiklik ile production arasındaki mesafeyi mümkün olduğunca sıfıra yaklaştırmak.
Belki de demistifiye edilmesi gereken şey “release” kavramının kendisidir.