Her devrin kendine has bir Zeitgeist’ı, yani zamanın ruhu vardır.
Hegel’in felsefesinden hareketle söyleyecek olursak, insanların düşünceleri, davranışları ve yaşam biçimleri içinde bulundukları tarihsel dönemin ruhuyla şekillenir.
Ancak bazı düşünceler vardır ki ortaya çıktıkları dönemin sınırlarını aşarlar. Zaman değişse bile geçerliliklerini korurlar. Çünkü bunlar belirli bir dönemin koşullarına değil, daha evrensel ilkelere dayanırlar.
Yapay zeka ile birlikte yeni bir Zeitgeist ortaya çıktı.
Yapay zeka öncesindeki Zeitgeist’da yazılımı daha kontrol edilebilir hale getirmek için bazı akımlar oluştu, örneğin software craftsmanship, clean code, extreme programming, scrum.
Bunlardan bir tanesi Zeitgeist’a teslim olmayıp, evrensel kalmayı başarmış bir akım. Diğerleri ne yazık ki kaybolup gittiler ya da güncel Zeitgeist’in etkisi ile kaybolacaklar.
Bir probleme çözüm getirdiğini söyleyen bir yöntemin en büyük sınavı da Zeitgeist ile olan sınavıdır. Bu sınavı geçen evrenselleşiyor.
Extreme Programming ismini taşıyan çevik süreçten bahsediyorum. Ona gelmeden önce geçerliliğini yitirmiş olan bazı akımlara değineceğim.
Bunların başında Clean Code akımı geliyor. İçerikten ziyada kod kozmetiğine önem veren bu yaklaşım yapay zekanın gelişimi ile tamamen önemini yitirmiştir. Biz yazılımcılar artık ne kod yazıyoruz ne de kod okuyoruz.
İkinci sırada SOLID var. SOLID tam anlamıyla kayboldu diyemeyiz. Kanımca içlerinden özellikle Single Responsibility gibi evrensel olanları yaşamaya devam edecekler. Ama yazılımcıların artık SOLİD ile teması kalmayacak, çünkü bu kurguyu bizden daha iyi yapan ajalar var.
Diğer bir akım Craftsmapship akımı. Kod yazmanın bir sanat olduğunu iddia eden Clean Code’a karşı pozisyonda konumlanan bu akımda kod yazmanın ustalık gerektiren bir aktivite olduğu iddiası vardı. O da güncel Zeitgeist’a yeni düştü ve ortadan kalkacak. Belki Systems Craftsmapship olarak devam edebilir, ama burada bahsedilen ustalık yazılımcıya ithaf edilmiş bir yetiydi. Bu yeti artık yapay zekaya kaymış durumda.
Bunun gibi birkaç akım daha saymak mümkün, örneğin low-code/no-code, refactoring, SAFe, design patterns (GoF) vb.
Gelelim kendisini yeni Zeitgeist’a taşımayı başarmış evrensel bir yapıya: Extreme Programming.
Extreme Programming’in diğer yaklaşımlardan ayrıldığı nokta, yazılımın nasıl görünmesi gerektiğinden çok, nasıl güvenilir biçimde geliştirileceğine odaklanmasıdır.
XP’nin merkezinde geri bildirim, test, sürekli entegrasyon, basitlik, yeniden düzenleme ve değişime uyum sağlama bulunur.
Bunlar yapay zeka ajanlarının yazılım geliştirdiği bir dünyada daha da kritik hale gelirler, çünkü yapay zekanın kod üretme kapasitesi arttıkça üretilen kodun doğruluğunu güvence altına alma ihtiyacı da artar.
TDD hale kullandığım bir yöntem. Artık yapay zeka ajanları ile promptlar üzerinden pair programming yapıyorum. Cİ/CD günlük işlerimizin bir parçası.
XP yeni Zeitgeist ile yaşamaya devam edecek.