Vibe Coding vs Gerçeklik: AI Modernizasyon Hikayelerinde Anlatılmayan Kısım
Bir CTO olarak son dönemde LinkedIn feed’imde gezinirken sürekli aynı yanılsamayla karşılaşıyorum: “Vibe Coding”, “Spec-Driven Development” veya “AI ile %40 verimlilik artışı”. Her şey ne kadar pırıltılı, değil mi? Ama yönetim kurulu toplantılarında veya mimari gözden geçirme panolarında gerçekler hiç de bu kadar parlak değil.
Summary
Gelin, kapalı kapılar ardındaki asıl gerçeği, Türkiye’nin (ve küresel dünyanın) yazılım “mutfağını” ve her gün masamıza gelen o sert gerçekleri kendi süzgecimden geçirelim.
1. Modernizasyon Çıkmazı: “Işıkları Açık Tutmak”
Bugün kritik sektörlerde (Sağlık, Finans, ERP) kalbimiz hala 2010 öncesi yazılmış, dokümantasyonu olmayan, devasa monolith yapılarda atıyor. Ekipleri ve bütçeleri yöneten biri olarak şunu net görüyorum:
Gartner’ın IT Key Metrics verilerinin teyit ettiği gibi; BT bütçelerimizin %70-80’lik kısmı sadece “ışıkları açık tutmaya” gidiyor. Yeniliğe ve inovasyona ayırmamız gereken pay, her mali yılda bu teknik borç yüzünden biraz daha eriyor.
İçeride en yetenekli mühendislerimiz (Senior/Lead seviyesindekiler bile) yeni özellikler mimarisi tasarlamak yerine, 15 yıl önce işten ayrılmış birinin yazdığı dokümansız metodun yan etkileriyle boğuşarak tükeniyor (burnout). Dışarıdan bakıldığında herkes son moda yapay zeka devrimlerinden bahsederken, bizim gerçekliğimiz çoğu zaman tam bir “Maintenance Hell” (Bakım Cehennemi).
2. Kodun Dışındaki “Karanlık Veri” (Dark Data) ve Kayıp Gereksinimler
Projelere girip kod tabanına baktığımda, iş mantığının çoğunlukla sadece temiz .cs veya .java dosyalarında durmadığını görüyorum. Benim teknik lider olarak en büyük kabuslarımdan biri, şirketin omurgasını tutan kuralların; veritabanındaki binlerce satırlık SP’lere (Stored Procedure) hapsolmuş veya konfigürasyon (XML/JSON) dosyalarına saçılmış “gizli kurallar” dizisi olmasıdır.
Standish Group’un o meşhur CHAOS Report verileri, başarısız projelerin %30-40’ının ardında “eksik veya hatalı gereksinim/iş mantığı” analizi olduğunu ortaya koyuyor. Dokümansız bir monolith yapıda, en gelişmiş yapay zeka asistanları bile sadece GitHub reposuna bakarak bu görünmez iş kurallarını çözemez. AI bize analizde inanılmaz hız katabilir ama o arkeolojik kazıyı asıl anlamlandıracak olan, yıllarını o sisteme vermiş domain uzmanlarımızdır.
3. AI, Monolith Yapılara Gerçekten “Hazır” mı?
Geçen yıl ekiplerime AI kod asistanı lisansları dağıttıktan sonra edindiğim en büyük ders şu oldu: Temel mimariniz sorunluysa, AI sadece “kötü tasarımı daha hızlı” üretmenize yarar.
Thoughtworks Technology Radar raporlarının da üstüne basa basa uyardığı gibi; sınırları belirsiz mimarilerde yapay zekayı kontrolsüz kullanmak, elimizdeki o “Spagetti Kod” sarmalını çok daha içinden çıkılmaz hale getirme riskini taşıyor.
Context Window ve Halüsinasyon Riski: AI asistanları belirli bir bağlam donanımına (Context Window) dayalı çalışıyor. Eğer elinizdeki dev projede her fonksiyon birbirine sıkı sıkıya bağlıysa (tightly coupled), modeli ne kadar beslerseniz besleyin o “büyük resmi” aynı anda işleyemiyor. Verinin 3 katman aşağıda nasıl mutasyona uğradığını modele sığdıramadığınızda ise halüsinasyon (hallucination) dediğimiz uydurma kod blokları başımıza dert oluyor.
Verimlilik Yanılsaması: McKinsey & Company’nin Unleashing developer productivity with generative AI raporunun söylediği şey, bizim sahadaki deneyimimizle birebir örtüşüyor: Yeni nesil mikroservis mimarilerinde (greenfield) bu yapay zeka melekleri gerçekten %50’lere varan verimlilik yaratıyor. Fakat eski, hantal “legacy” sistemlerde refactor ve kod anlama işlerine girdiğinizde, kazanç %10’un bile altına eriyip gidiyor. Çünkü AI, eski sistemde kod yazmaktan çok o kodu anlama duvarına çarpıyor.
4. Sonuç: Tofaş’a Tesla Otopilotu Takılmaz
Bir mühendislik lideri olarak artık olaya çok rasyonel bakmak zorundaym: Yapay zekayı sadece LinkedIn’de havalı “Vibe Coding” yetenekleri sergilemek ya da basit scriptler ürettirmek sığlığından çekip çıkarmalıyız. Eğer sistemlerimiz hantalsa, ilk işimiz o değerli AI kapasitesini “Modernizasyon Borcu”nu (Technical Debt) ödemek için harcamaktır.
IBM Systems Sciences Institute’un klasikleşmiş araştırması her gün kanıtlanmaya devam ediyor: Bir hatayı canlı (production) sistemde düzeltmenin bedeli, tasarımda çözülenin 100 katına çıkıyor. Mimari borç büyüdükçe, faizi katlanarak artıyor.
Yönetici gözüyle ekiplerime verdiğim strateji şu şekilde:
- Dokümantasyon Üretimi: “Black box” halini almış eski kodu okutup, AI asistanlarına tersine mühendislikle dokümante ettireceğiz.
- Karakterizasyon Testleri (Characterization Tests): Monolith canavarına tek bir yeni özellik eklemeden önce, AI’a mevcut durumu koruyacak güvenlik ağını (birim ve entegrasyon testlerini) yazdıracağız.
- Bağımlılık Haritaları (Dependency Graph): Hangi servisin nereye dokunduğunu çıkarıp, “Strangler Fig Pattern” ile bu dehası ve derdi büyük monoliti güvenle ufaltacağız.
The Bottom Line
Özetle: Geleceği AI devrimiyle kurmak istiyorsak, önce veri merkezinin tozlu köşelerinde çalışan o devasa monolith makinelerle yüzleşmemiz (ve onları acilen modernize etmemiz) şart. Altyapı modernizasyonu bütçe toplantılarında reddedilecek bir istek değil; yeni çağda kurumların hayatta kalma biletidir.
Peki biz ekiplerimizle gerçekten vizyoner “Vibe Coding” devrimine hazır mıyız, yoksa hala LegacyManager.cs dosyası içerisindeki 10.000 satırlık trajediyi halının altına mı süpürüyoruz?
Kaynaklar / Kaynakça
- "IT Key Metrics Data: IT Spending and Staffing" Gartner IT Budget Benchmarks
- "CHAOS Report: Software Project Failure & Success Rates" Standish Group International
- "Technology Radar" Vol. 29 & 30 (AI and Legacy Entanglement)
- "Unleashing developer productivity with generative AI" McKinsey Digital Insights (2023)
- "Defect Cost Estimation" IBM Research