İçeriğe atla
Teknoloji & Mimari

Eski (Legacy) Yazılımı Modernleştirme: Yeniden Yazmak mı, Kademeli Geçiş mi?

Doğukan Azer ÇİFTCİ

Yazılım Mühendisi

5 dk okuma

Paylaş
Eski (Legacy) Yazılımı Modernleştirme: Yeniden Yazmak mı, Kademeli Geçiş mi?

Fotoğraf: Christina Morillo / Pexels

İşinizi yıllardır döndüren o eski yazılım artık yavaş, kimse dokunmaya cesaret edemiyor ve onu bilen tek kişi emekliliğe yaklaşıyor. Bu noktada iki yol belirir: her şeyi sıfırdan yazmak ya da kademeli geçiş. Sahadaki deneyimimiz net: kritik ve büyük sistemlerde kademeli (strangler fig) yaklaşım, big-bang yeniden yazıma göre neredeyse her zaman daha düşük riskli ve daha öngörülebilirdir; komple yeniden yazım ise ancak belirli koşullarda doğru tercihtir. Bu yazıda kararı hangi kriterlere göre vereceğinizi anlatıyoruz.

Bir yazılım ne zaman “legacy” sayılır?

Yaş tek başına ölçüt değildir; on yıllık ama bakımlı bir sistem sorunsuz çalışabilir. Asıl işaretler şunlardır:

  • Küçük bir değişiklik bile haftalar sürüyor ve başka yerleri bozuyor.
  • Teknolojisi (dil, veritabanı, işletim sistemi) artık destek almıyor; güvenlik yamaları gelmiyor.
  • Sistemi bilen 1-2 kişiye kritik bağımlılık var; belgeler eksik veya güncel değil.
  • Yeni sistemlerle entegrasyon (e-fatura, e-ticaret, mobil) zorlama çözümlerle yürüyor.
  • Donanım veya lisans kısıtları büyümeyi engelliyor.

Bu belirtiler biriktikçe asıl maliyet, görünen bakım gideri değil, kaçan fırsatlar ve büyüyen risktir. Bu birikimin mekanik tarafını teknik borç yazımızda ele almıştık.

Big-bang yeniden yazım neden risklidir?

“En temizi sıfırdan yazalım” cazip gelir; ama büyük sistemlerde bu yolun bilinen tuzakları vardır. Eski sistemin içinde yıllarca birikmiş, hiçbir belgede yazmayan iş kuralları vardır; yeniden yazım bunların tamamını bir kerede keşfetmek zorundadır. Proje süresi uzadıkça iş tarafının ihtiyaçları değişir ve hedef sürekli kayar. En kritiği: aylarca süren geliştirme boyunca işletmeye hiçbir ara değer teslim edilmez ve geçiş günü her şey aynı anda değişir — hata da o gün, en pahalı hâliyle ortaya çıkar.

Bir de psikolojik tuzak vardır: yeniden yazım projeleri “madem sıfırdan yapıyoruz, şunu da ekleyelim” cümlesiyle kapsamını sürekli büyütür. Eski sistemi birebir karşılamak zaten büyük iştir; üstüne eklenen her yeni istek, geçiş gününü biraz daha uzağa iter. Disiplinli kural şudur: önce mevcut işlevi karşıla ve geç, yeni özellikleri geçişten sonraki fazlara bırak.

Strangler fig yaklaşımı nasıl işler?

Strangler fig deseni, adını konak ağacın üzerinde büyüyüp onu zamanla saran incirden alır. Yazılımda karşılığı şudur: eski sistem çalışmaya devam ederken, işlevleri parça parça yeni sisteme taşınır ve eski sistem yavaşça “kurur”.

  1. Ara katman kurulur: Kullanıcı ve entegrasyon trafiği bir yönlendirme katmanının (API/proxy) arkasına alınır; kimin eski, kimin yeni sisteme gideceğini bu katman belirler.
  2. İlk modül seçilir: Genellikle sınırları net, riski düşük ama görünür fayda üreten bir modül (ör. raporlama veya müşteri ekranları) ile başlanır.
  3. Modül modül geçilir: Her yeni modül hazır oldukça trafik ona yönlendirilir; eski modül bir süre yedekte tutulur.
  4. Eski sistem emekli edilir: Son modül taşındığında eski sistem güvenle kapatılır.

Her adımda geri dönüş mümkündür ve işletme her fazda ölçülebilir fayda görür. Bu yaklaşım, mimari kararlarla da iç içedir; modül sınırlarının nasıl çizileceğini mikroservis mi, monolit mi? yazımızda tartışmıştık.

Big-bang mı, kademeli mi: karşılaştırma

KriterBig-bang yeniden yazımKademeli geçiş (strangler fig)
RiskYüksek; her şey tek geçiş gününe bağlıDüşük-orta; her faz geri alınabilir
İlk faydanın görülmesiProje sonunda (12-24+ ay)İlk fazda (2-4 ay)
Toplam süreGörünürde kısa, pratikte sık uzarDaha uzun takvim, ama öngörülebilir
Maliyet akışıTek büyük bütçe, baştan taahhütFaz faz bütçe; her faz kendini kanıtlar
İş sürekliliğiGeçiş günü yüksek kesinti riskiParalel çalışma; kesinti minimum
Ek maliyet kalemiKaçırılan gizli iş kurallarıAra katman ve geçici senkronizasyon
Ne zaman uygunKüçük/iyi belgelenmiş sistem, ölü teknolojiBüyük, kritik, canlı sistemler

Veri taşıma neden projenin en hassas kısmı?

Modernizasyonda kod yazmaktan daha çok sorun çıkaran alan veridir. Yıllarca birikmiş kayıtlar tekrar, tutarsızlık ve eksik alanlarla doludur. Sağlıklı bir taşıma şu adımlarla ilerler: veri envanteri ve kalite denetimi, alan eşleştirmesi, otomatik taşıma betikleri, gerçek veriyle en az 2-3 deneme taşıması ve geçiş sonrası mutabakat raporları. Kademeli geçişte ayrıca eski ve yeni sistemin bir süre aynı veriyi tutması gerekir; senkronizasyon stratejisi (tek yönlü mü, çift yönlü mü, hangi sistem “doğrunun kaynağı”) baştan netleşmelidir. Bu konuyu ERP veri taşıma yazımızda derinlemesine işledik.

Ne zaman komple yeniden yazım doğru olur?

Kademeli geçiş varsayılan yol olmalı; ama şu durumlarda sıfırdan yazım daha mantıklıdır:

  • Sistem küçük ve sınırları net; toplam kapsam birkaç ayda yeniden üretilebilir.
  • Teknoloji tamamen ölü: çalıştıracak ortam, uzman veya güvenlik yaması bulunamıyor.
  • Veri modeli iş modelinizle temelden uyumsuz hâle gelmiş; ara katman maliyeti yeniden yazımı aşıyor.
  • Yasal/güvenlik zorunlulukları mevcut mimaride karşılanamıyor.

Bu durumda bile “big-bang” olmak zorunda değildir: yeni sistem önce pilot bir birimde canlıya alınıp eski sistemle kısa süre paralel yürütülebilir.

Modernizasyona hangi modülden başlanmalı?

İlk modül seçimi, projenin kaderini belirler; çünkü organizasyonun yeni sisteme güveni bu ilk fazda kurulur. Doğru ilk aday üç özelliği taşır: sınırları net (başka modüllerle bağı az), teknik riski düşük ve faydası görünür. Pratikte en sık raporlama/dashboard katmanı, müşteri veya bayi portali gibi salt-okur ekranlar ya da eski sistemin hiç kapsamadığı yeni bir ihtiyaç (mobil saha uygulaması gibi) seçilir.

Kaçınılması gereken ise tersini yapmak: en karmaşık ve en kritik modülle (ör. faturalama veya üretim planlama çekirdeği) başlamak. O modüller, ekip ara katmanda ve veri senkronizasyonunda tecrübe kazandıktan sonra, genellikle orta fazlarda ele alınmalıdır.

İş sürekliliği için pratik kurallar

  • Yoğun sezonu geçiş takviminden çıkarın; geçişleri düşük tempolu dönemlere planlayın.
  • Her faz için yazılı geri dönüş (rollback) planı ve karar kriteri belirleyin.
  • Kullanıcı eğitimini geçişten önce tamamlayın; ilk haftalarda destek kapasitesini artırın.
  • Başarıyı ölçün: işlem süresi, hata oranı, kullanıcı memnuniyeti fazdan faza raporlansın.

QuantKOD olarak modernizasyon projelerine her zaman bir keşif fazıyla başlıyoruz: mevcut sistemin envanteri, gizli iş kurallarının dokümantasyonu ve faz planı çıkarılmadan tek satır kod yazılmıyor. Maliyet tarafında küçük bir iç uygulamanın modernizasyonu 2026 Türkiye koşullarında kabaca ₺300.000'den başlıyor; çok modüllü kurumsal sistemlerde bütçe kapsamla birlikte büyüyor ve faz faz onaylanabiliyor. Yönetim tarafındaki iyi pratikler için özel yazılım projesi nasıl yönetilir? rehberimize, çalışma modelimiz için süreç sayfamıza göz atabilirsiniz.

Eski sisteminizi riske atmadan yenileyin

QuantKOD, legacy sistemlerinizi strangler fig yaklaşımıyla, iş sürekliliğini koruyarak ve faz faz ölçülebilir faydayla modernleştirir.

Ücretsiz Teklif Alın →

Sıkça Sorulan Sorular

Legacy yazılım nedir?
Legacy yazılım, işletmenin hâlâ günlük operasyonda kullandığı ancak teknolojisi eskimiş, geliştirilmesi zorlaşmış ve genellikle onu bilen az sayıda kişiye bağımlı hâle gelmiş sistemdir. Yaşı tek başına ölçüt değildir; asıl kriter değişiklik maliyetinin ve riskinin artmış olmasıdır. İşi hâlâ döndürdüğü için kolayca kapatılamaz; bu yüzden modernleştirme kararı dikkatli planlama gerektirir.
Strangler fig yaklaşımı nedir?
Strangler fig, eski sistemi bir anda kapatmak yerine, işlevlerini parça parça yeni sisteme taşıyıp eskiyi zamanla devre dışı bırakma desenidir. Adını konak ağacı yavaşça saran incir bitkisinden alır. Önce bir ara katman kurulur, ardından her modül yenisi hazır oldukça trafiği yeni sisteme yönlendirilir. İşletme hiçbir gün sistemsiz kalmaz ve her adımda geri dönüş imkânı korunur.
Ne zaman komple yeniden yazım daha doğrudur?
Sistem görece küçükse, iş kuralları iyi belgelenmişse, teknoloji artık hiç desteklenmiyorsa veya güvenlik açıkları kapatılamıyorsa komple yeniden yazım mantıklı olabilir. Ayrıca eski sistemin veri modeli iş modelinizle tamamen uyumsuz hâle geldiyse, kademeli geçişin ara katman maliyeti yeniden yazımı aşabilir. Büyük ve kritik sistemlerde ise big-bang yeniden yazım istatistiksel olarak en riskli yoldur.
Modernizasyonda veri taşıma nasıl yapılır?
Önce eski verinin envanteri ve kalitesi çıkarılır; tekrarlar, tutarsızlıklar ve eksikler tespit edilir. Ardından alan eşleştirmesi (mapping) yapılır, taşıma betikleri yazılır ve gerçek veriyle en az 2-3 deneme taşıması gerçekleştirilir. Geçiş döneminde çift kayıt veya senkronizasyon stratejisi belirlenir. Kesin geçiş, mutabakat raporlarıyla doğrulanır ve her adım için geri dönüş planı hazır tutulur.
Modernizasyon sırasında iş sürekliliği nasıl korunur?
Temel ilke, hiçbir kritik işlevin tek bir gecede değişmemesidir. Kademeli geçişte her modül önce pilot bir ekip veya lokasyonla canlıya alınır, eski sistem bir süre paralel çalışır ve sorun hâlinde trafik geriye çevrilebilir. Yoğun sezonlar geçiş takviminden çıkarılır, kullanıcı eğitimi geçişten önce tamamlanır ve ilk haftalarda destek kapasitesi artırılır.
Legacy modernizasyon projesi ne kadara mal olur?
Kapsama göre uçurum düzeyinde değişir: tek modüllü küçük bir iç uygulamanın modernizasyonu 2026 Türkiye pazarında kabaca ₺300.000'den başlarken, çok modüllü kurumsal sistemlerde bütçe birkaç milyon ₺'ye uzanabilir. Kademeli yaklaşımın avantajı bütçenin de kademeli olmasıdır: her faz kendi bütçesiyle onaylanır ve önceki fazın ölçülen faydası sonrakinin gerekçesini oluşturur.

Yazar

Doğukan Azer ÇİFTCİ

Yazılım Mühendisi

QuantKOD’da yazılım mühendisi. Ölçeklenebilir mimariler, özel yazılım geliştirme ve doğru teknoloji seçimleri üzerine yazıyor.

İlgili yazılar

Hazır mı, özel mi? Birlikte karar verelim

Süreçlerinizi kısa bir görüşmede dinleyip, ihtiyacınıza en uygun çözümü ve yol haritasını dürüstçe çıkaralım.