Referans Rehberi · Mimari

Bir legacy sistemi dev­ral­mak — ilk 90 gün

Başkasının geliştirdiği bir sistemi devralmak, her modernizasyonun en riskli anıdır: İlk günden itibaren henüz anlamadığınız bir şeyin sorumluluğunu taşırsınız. İlk aşamayı, sistemi değiştirmeden önce güvenli hâle getirmek için nasıl kullanırsınız. CTO'lar ve engineering lead'ler için bir karar dokümanı.

Bu nedir? · Referans Rehberi

Bir mühendislik problemini inceleyen derinlemesine bir rehber — riskler, maliyetler ve farklı karar verdiğimiz senaryolar dahil. Bir makale değil, bir başvuru metni. Genel bakışa git

Yazar
Batunet Engineering
Okuma süresi
12 dk
Seviye
Derinlemesine
Durum
Onaylandı
Son inceleme
21 Temmuz 2026
Güncelleme
21 Temmuz 2026
Bu sayfada

Modernizasyonda diğer hepsinden daha fazla kaygı uyandıran bir an vardır: geliştirmediğiniz ve henüz anlamadığınız bir sistemin sorumluluğunu üstlendiğiniz gün. O günden itibaren bu sisteme işleyen bir iş bağlıdır — ve henüz nasıl çalıştığını bilmediğiniz hâlde her müdahale, her dikkatsizlik onu aksatabilir. Burada yanlış başlayan, bir modernizasyonun aylar boyunca ihtiyaç duyduğu güveni birkaç günde harcar.

Bu doküman, çoğu zaman ilk doksan gün olarak adlandırılan bu ilk aşamayı başlı başına bir disiplin olarak ele alıyor. Bu aşama modernizasyonun kendisi değildir; ondan önce gelendir: sistemi değiştirmeden önce anlamak, güvenli ve yönetilebilir hâle getirmek. Doküman framework açısından tarafsız tutuldu, çünkü bu duruş hiçbir teknolojiye bağlı değildir. Sonrasında nasıl modernize edileceği ayrı metinlerde ele alınıyor; burada konu, sonraki her şeyin başarılı olup olamayacağının belirlendiği başlangıç.

1. Devralma neden en tehlikeli andır

Devralma tehlikelidir, çünkü normalde bir arada olan iki şey birbirinden kopar: sorumluluk ve anlayış. İlk saatten itibaren sistemin yaptığı her şeyden sorumlusunuzdur — ama bu sorumluluğu güvenle taşımak için gereken anlayışa henüz sahip değilsinizdir. Tesisatını bilmediğiniz bir evin sahibisiniz ve evde birileri yaşıyor. Bağlantıları bilmediğiniz için her hareketiniz öngörmediğiniz bir şeyi tetikleyebilir.

Bu nedenle ilk aşamanın net bir iç düzeni vardır — birbirinin üzerine kurulan dört hareket:

HareketHedef
Anlamaksorumluluk ile anlayış arasındaki boşluğu kapatmak
Güvenceye almakgeri dönebilmek ve görebilmek için yedekler ve gözlemlenebilirlik
Haritalamakparçaları, bağımlılıkları ve unutulmuş kenarları görünür kılmak
Karakterize etmekbugünkü davranışı referans noktası olarak kanıtlanmış biçimde kayıt altına almak

Sorumluluk ile anlayış arasındaki bu boşluk, ilk aşamanın asıl tehlikesidir — ve onun ayrı bir disiplini hak etmesinin nedeni. Bunu görmezden gelip sistemi kendisi geliştirmiş gibi hemen çalışmaya başlayan, kimsenin sınamadığı varsayımlara göre hareket eder. Devralma sanatı, bu boşluğu müdahalelerle sınamadan önce bilinçli olarak kapatmaktır. Değiştirme hakkını, önce anlayarak kazanırsınız.

Sorumluluk — ilk günden itibaren tam Anlayış — yavaş büyür boşluk: hasar burada pusuda bekler Zaman →

Şema: Sorumluluk ilk günden itibaren tamdır, anlayış ise zamanla büyür. Aradaki alan tehlike bölgesidir — ilk aşama onu kapatmaya hizmet eder.

Trade-off. Devralmayı ayrı bir aşama olarak ele almak, görünür değişikliklerle beklemek demektir — bu ilerleme eksikliği gibi hissettirir, ama güvenle ilerleyebilmenin ön koşuludur.

Maliyet. İlk aşama yeni bir özellik sunmaz; dışarıdan duraklama gibi görünen bir zamana mal olur ve hızlı sonuç bekleyen herkesten sabır ister.

Ne zaman farklı karar veririz. Birkaç gün içinde tamamen kavranabilen küçük, iyi dokümante edilmiş bir sistemde bu aşama kısa olabilir; süresi sistemin büyüklüğü, yaşı ve opaklığıyla birlikte uzar.

2. Önce anlamak, değiştirmek değil

Devralmadaki en güçlü içgüdü aynı zamanda en tehlikelisidir: göze çarpan şeyi hemen iyileştirmek. Düzensiz kod, şüpheli bir karar, sizin farklı yapacağınız bir şey görürsünüz — ve eliniz düzeltmeye uzanır. Bu içgüdüye direnmek, devralmanın ilk disiplinidir. Çünkü zamanla büyümüş bir sistemde hata gibi görünen şey, çoğu zaman henüz bilmediğiniz bir probleme getirilmiş bir çözümdür. Anlamadan değiştiren, belki de sessiz bir kesintiyi tam olarak önleyen tedbiri ortadan kaldırır.

Bu yüzden duruş şudur: önce anla, sonra değiştir. İlk aşamada asıl iş iyileştirmek değil, anlamaktır. Okursunuz, gözlemlersiniz, sorarsınız — sistemin ne yaptığına ve neden olduğu gibi olduğuna dair bir resim oluşturursunuz. Göze çarpan her şey hemen düzeltilmez, not edilir; soruların listesi, hızlı düzeltmelerin listesinden daha değerlidir. Bir sistemi değiştirme hakkını, değişikliği güvenli kılan anlayışla kazanırsınız.

Trade-off. Hemen iyileştirmemek, görünür kusurları yerinde bırakmak ve bariz bir şeye dokunmamanın sabırsızlığına katlanmak demektir.

Maliyet. Fark ettiğiniz kusurları bir süre gidermeden taşırsınız — bu disiplin ve yarım kalmış görünmeyi göze almayı gerektirir.

Ne zaman farklı karar veririz. Göze çarpan bir şey akut ve anlaşılmış bir risk olduğunda — açık bir güvenlik açığı, yaklaşan bir veri kaybı — beklenmez; ölçülülük henüz anlaşılmamış olan için geçerlidir, açıkça tehlikeli olan için değil.

3. Müdahalelerden önce güvenlik ağları

Devralınan bir sisteme ilk kez ciddi biçimde dokunmadan önce, bir hatayı yakalayacak ağlar kurarsınız. En önemlisi geri dönebilme yeteneğidir: acil durumda gerçekten geri yükleyebileceğinizi bildiğiniz, sınanmış yedekler — adı olup hiç denenmemiş olanlar değil. İkincisi görebilme yeteneğidir: sistemin nasıl davrandığını ve bir müdahalenin bir şeyi bozup bozmadığını anlamaya yetecek gözlemlenebilirlik. Geri alamadığınız ve gözlemleyemediğiniz bir sistemi değiştirmemelisiniz — geri döndürülemez bir şey üzerinde körü körüne çalışmış olursunuz.

Bu ağları kurmak çoğu zaman devralınan bir sistemdeki ilk somut iştir ve henüz hiçbir şey değiştirilmeden değerlidir: Sistemi yönetilebilir hâle getirir. Bir hatayı fark edip geri alabileceğini bilen, sakin ve güvenle çalışır; bilmeyen ise korku içinde çalışır ya da hiç çalışmaz. Dolayısıyla güvenlik ağları erteleme anlamında bir hazırlık değil, ilk gerçek iyileştirmedir — sistemin işlevine dokunmadan güvenliğini artırır.

Trade-off. Önce ağları kurmak, ilk müdahaleden önce işlevde hiçbir şeyi değiştirmeyen bir emeğe yatırım yapmak demektir — karşılığını ancak önlenen hasarda veren bir emek.

Maliyet. İhmal edilmiş bir sistemde sınanmış yedekler ve yeterli gözlemlenebilirlik kurmak başlı başına zahmetli olabilir ve asıl işi geciktirebilir.

Ne zaman farklı karar veririz. Bir sistem güvenilir yedekler ve iyi bir gözlemlenebilirlikle birlikte geliyorsa bu kurulumu atlar ve yalnızca ağların gerçekten taşıdığını kontrol ederiz; eksiklerse kurulmaları pazarlık konusu değildir.

4. Sistemin haritası

Devralınan bir sistem başlangıçta haritada boş bir alandır ve ilk aşama onu bir haritaya dönüştürmeye hizmet eder. Bu harita basit ama belirleyici sorulara yanıt verir: Sistem nelerden oluşuyor, hangi parçalar birbirine bağımlı, dışarıda neye bağımlı, veriler nerede duruyor, en önemli süreçler hangi yolları izliyor? Her ayrıntıyı değil, taşıyıcı hatları çizersiniz — bir şeye dokunduğunuzda neye dokunduğunuzu ve bir noktadan çektiğinizde neyin birlikte titreştiğini bilmeye yetecek kadar.

Harita için en zengin kaynak çoğu zaman sistemi şimdiye kadar işleten ya da kullanan insanlardır. Onu geliştiren, tuhaflıklarının ardındaki nedenleri bilir; onu kullanan, takıldığı noktaları bilir. Bu görüşmeler unutulmuş kenarlara, yalnızca kod analizinden daha hızlı ulaştırır — yeter ki bilgiye hâlâ ulaşılabiliyorken erken sorulsun. Devirden sonraki her haftayla birlikte ilgililerin hafızası solar ve bugün kolayca elde edilebilecek haritayı yarın zahmetle sistemin kendisinden yeniden oluşturmanız gerekir.

Özel dikkat, kenarlara ve artık kimsenin aklında olmayan bağımlılıklara gösterilir: nadiren kullanılan servis, dışarıya giden sessiz bağlantı, ayda yalnızca bir kez çalışan süreç. Tam da bu unutulmuş parçalar bir müdahalede en büyük hasarı verir, çünkü kimse onları hesaba katmaz. Harita, henüz hiçbir şey değiştirilmemişken onları görünür kılar. Kendi başına bir amaç olan bir doküman değil, bilinmeyen bir sistemi yönetilebilir bir sisteme dönüştüren araçtır.

Trade-off. Haritayı çizmek, inşa etmeye ayırmayı tercih edeceğiniz zamanı anlamaya harcatır — karşılığında bilinmeyene el atmamak kazancı vardır.

Maliyet. Büyük, opak bir sistemde haritalama zahmetlidir ve hiçbir zaman tam olarak eksiksiz değildir; boşlukları olan bir haritayla çalışmanız ve bu boşlukları bilmeniz gerekir.

Ne zaman farklı karar veririz. Tek bir kişinin tamamen kavrayabildiği küçük bir sistemde kaba bir taslak yeterlidir; emek isteyen harita, büyüklük ve unutulmuş köşelerin sayısı arttıkça değer kazanır.

5. Varsayım yerine karakterizasyon

Bir sistemin davranışını değiştirmeden önce bugün nasıl davrandığını bilmeniz gerekir — tahmin ederek değil, kanıtlanmış olarak. Başkasının sisteminde mevcut davranış tek güvenilir gerçektir: İşin kendini ona göre ayarladığı şey odur, tuhaflıkları ve hatta küçük hatalarıyla birlikte. Karakterizasyon, bu davranışı ona dokunmadan önce kayıt altına almak demektir — sonraki her değişikliğin karşısında sınanabileceği bir referans noktası olarak. Sistemin nasıl olması gerektiğini değil, nasıl olduğunu tanımlarsınız.

Bu duruşun değeri, değişiklikleri güvenli kılmasında yatar. Bugünkü davranış kayıt altına alındığında, bir müdahalenin kaydırmak istemediğiniz bir şeyi kaydırıp kaydırmadığını hemen görürsünüz — birinin ona güvendiğini bilmediğiniz bir tuhaflığı bile. Bu referans noktası olmadan şansa göre değiştirir ve istenmeyen bir yan etkiyi ancak bir kullanıcı bildirdiğinde öğrenirsiniz. Karakterizasyon, sisteme dair varsayımları kanıtlanmış bilgiye dönüştürür — her sorumlu değişikliğin temeli.

YaklaşımTemelSonuç
Varsayımsistemin nasıl olması gerektiğiyan etkiler geç, kullanıcıda fark edilir
Karakterizasyonsistemin kanıtlanmış hâlisapma hemen, müdahaleye yakın fark edilir

Trade-off. Bugünkü davranışı kayıt altına almak, zaten değiştirmek istediğiniz bir şey üzerinde emek harcatır — karşılığında her değişikliği güvenli bir referans noktasına karşı sınayabilme kazancı vardır.

Maliyet. Karakterizasyon, yalnızca ideal davranışı değil, sistemin tuhaflıklarını ve küçük hatalarını da kapsamayı gerektirir — bariz olanı tanımlamaktan daha fazla zahmet.

Ne zaman farklı karar veririz. Zaten tamamen değiştirilecek ve eski davranışını kimsenin korumak istemediği bir parça için karakterizasyondan vazgeçeriz; o, kalan ve davranışı istikrarlı kalması gereken şey için geçerlidir.

6. İlk güvenli değişiklikler

Ağlar kurulduğunda, harita çizildiğinde ve davranış kayıt altına alındığında değiştirmeye başlarsınız — ama küçük ve geri alınabilir biçimde. İlk müdahaleler bilinçli olarak düşük risklidir: etkisini tamamen kavradığınız, anladığınız bir noktada, net bir geri dönüş yolu olan bir iyileştirme. En büyük etkiyi değil, sisteme hâkim olduğunuzun en güvenli kanıtını ararsınız — bir şeyi bozmadan değiştirebildiğinizin kanıtını. Başarılı her küçük müdahale anlayışı ve güveni büyütür; başarısız olan her biri, küçük tutulduğu için ucuza düzeltilebilir olurdu.

anlamak güvenceye al haritalamak karakterize et 1. güvenli değişiklik

Şema: İlk güvenli değişiklik başta değil, en sonda gelir — kendisinden önceki her şeyin üzerine oturur ve onun taşıdığını kanıtlar.

Bu ilk değişikliklerin ikili bir görevi vardır. Dışarıya karşı devralmanın ilerlediğini ve sistemin emin ellerde olduğunu gösterirler — asıl modernizasyonun ihtiyaç duyduğu güveni tesis ederler. İçeride ise ön çalışmanın taşıyıp taşımadığının sınavıdırlar: ağlar tutuyor mu, harita doğru mu, kayıt altına alınan davranış referans noktasını sağlıyor mu. Ancak bu küçük, güvenli müdahaleler güvenilir biçimde başarılı olduğunda devralma tamamlanmış olur ve modernizasyon başlayabilir. Anlamaktan değiştirmeye bir sıçrayışla değil, temkinli, geri alınabilir bir ilk adımla geçersiniz.

Trade-off. Küçük ve güvenli başlamak, büyük ve görünür ilk etkiden vazgeçmek demektir — karşılığında büyük bir şeye cesaret etmeden önce hâkimiyetinizi kanıtlama kazancı vardır.

Maliyet. İlk değişiklikler harcanan emeğe göre az görünür ilerleme sunar; değerleri sonucun kendisinde değil, kanıtlanmış hâkimiyettedir.

Ne zaman farklı karar veririz. Akut ve anlaşılmış bir problem baskı yaptığında ilk müdahale daha büyük olabilir; ölçülülük, hâkimiyetin önce kanıtlanması gereken olağan durum için geçerlidir.

7. İlk doksan günde yapılmayanlar

Yaptıklarınız kadar önemli olan, bu aşamada bilinçli olarak yapmadıklarınızdır. Sistemi anlamadığınız sürece büyük bir yeniden yapılandırmaya ya da sıfırdan yeniden yazmaya başlamazsınız — eski sistem rahatsız edici olduğu için cazibe büyüktür, ama anlamamaya dayanan bir yeniden yazım, nedenini bilmediğiniz hataları yalnızca tekrarlar. Düzensiz saydığınız şeyi aceleyle yeniden yapılandırmazsınız, çünkü eksikliğini hissettiğiniz düzen çoğu zaman henüz görmediğiniz bir amaca hizmet eder. Ve dışarıya, ancak riskli müdahalelerle elde edilebilecek hızlı, büyük sonuçlar vaat etmezsiniz.

Bu ölçülülük edilgenlik değil, bir karardır. İlk aşamanın net bir hedefi vardır — sistemi anlamak, güvenli ve yönetilebilir hâle getirmek — ve bu hedefe hizmet etmeyen ya da onu tehlikeye atan her şey bu aşamaya ait değildir. Büyük yeniden yapılandırma gelir, ama daha sonra, anlayıştan yola çıkarak ve Big Bang'siz modernizasyonun anlattığı gibi geri alınabilir adımlarla. İlk doksan günde büyük hamle cazibesine direnen, büyük hamlenin başarılı olabileceği temeli atar.

Trade-off. Büyük hamleden vazgeçmek, kısa vadede daha az etkilemek demektir — karşılığında devralmaların çoğunu başarısız kılan riskten kaçınma kazancı vardır.

Maliyet. Büyük, hızlı sonuç beklentisini aktif olarak dizginlemeniz ve devralınan sistemi hemen dönüşmüş görmek isteyenlerin sabırsızlığına katlanmanız gerekir.

Ne zaman farklı karar veririz. Sistem akut biçimde çöktüğünde ve işletmeye devam etmek sorumsuzluk olacağında denge değişir; o zaman daha erken, ama mümkün olduğunca geri alınabilir biçimde hareket ederiz.

8. Tipik hatalar

Devralmaların başarısız olduğu tekrar eden örüntüler — neredeyse hepsi anlamadan değiştirmenin varyasyonlarıdır:

  • Göze çarpanı hemen iyileştirmek ve bu sırada amacı bilinmeyen bir tedbiri ortadan kaldırmak.
  • Sorumluluğu üstlenip anlayıştaki boşluğu kapatmak yerine sistemi kendisi geliştirmiş gibi davranmak.
  • Sınanmış yedekler ve yeterli gözlemlenebilirlik yerinde olmadan değiştirmek — geri döndürülemez bir şey üzerinde körü körüne çalışmak.
  • Müdahalede en büyük hasarı veren unutulmuş kenarları — nadir kullanılan servisi, sessiz dış bağlantıyı — gözden kaçırmak.
  • Bugünkü davranışı kanıtlanmış biçimde kayıt altına almak yerine davranışa dair varsayımlara göre hareket etmek.
  • Hâkimiyeti önce küçük, geri alınabilir müdahalelerle kanıtlamak yerine büyük, görünür bir müdahaleyle başlamak.
  • Düzensiz görünen ama henüz bilinmeyen bir amaca hizmet eden şeyi aceleyle yeniden yapılandırmak.
  • Dışarıya, ancak riskli müdahalelerle elde edilebilecek hızlı, büyük sonuçlar vaat etmek.

9. Karar kontrol listesi

Devralmanın ilk aşaması için sırayla netleştirilmesi gerekenler:

  • Değişiklikten önce anlayış mı? Anlamak, ilk aşamanın açıkça belirtilmiş ana işi mi — iyileştirmek değil?
  • Geri dönebilmek? Gerçekten geri yükleyebileceğinizi bildiğiniz sınanmış yedekler var mı?
  • Görebilmek? Gözlemlenebilirlik, sistemin nasıl davrandığını ve bir müdahalenin onu bozup bozmadığını anlamaya yetiyor mu?
  • Harita? Taşıyıcı parçalar, bağımlılıklar ve özellikle unutulmuş kenarlar görünür kılındı mı?
  • Davranış kayıt altında mı? Bugünkü davranış, her değişiklik için referans noktası olarak kanıtlandı mı?
  • Küçük ve geri alınabilir başlandı mı? İlk müdahaleler en büyük etkiyi aramak yerine hâkimiyeti kanıtlıyor mu?
  • Bilinçli olarak yapılmayanlar? Büyük yeniden yapılandırma, aceleci yeniden düzenleme ve hızlı sonuç vaadi ertelendi mi?
  • Güven oluşturuldu mu? İlk güvenli değişiklikler dışarıya sistemin emin ellerde olduğunu gösteriyor mu?

Bu soruları yanıtlayabilen, başkasının sistemini tehlikeye atmadan devralmış — ve modernizasyonun başarılı olabileceği temeli atmıştır.

Sıkça Sorulan Sorular

Bariz kusurlar neden hemen giderilmiyor? Çünkü zamanla büyümüş bir sistemde hata gibi görünen pek çok şey, henüz bilmediğiniz bir probleme getirilmiş bir çözümdür. Anlamadan değiştiren, belki de sessiz bir kesintiyi tam olarak önleyen tedbiri ortadan kaldırır. Göze çarpanları not eder ve bağlamlarını anladığınız anda giderirsiniz — daha önce değil.

Devralınan bir sistemde yapılacak ilk şey nedir? Güvenlik ağlarını kurmak: geri yükleyebileceğinizi bildiğiniz sınanmış yedekler ve sistemin nasıl davrandığını görmeye yetecek gözlemlenebilirlik. Geri alamadığınız ve gözlemleyemediğiniz bir sistemi değiştirmemelisiniz. Bu ağlar, henüz hiçbir şeyi değiştirmeden sistemi yönetilebilir kılar.

Karakterizasyon ne anlama gelir? Sistemin bugünkü davranışını, onu değiştirmeden önce bir referans noktası olarak kanıtlanmış biçimde kayıt altına almak. Başkasının sisteminde mevcut davranış, tuhaflıklarıyla birlikte tek güvenilir gerçektir. Kayıt altına alındığında, bir müdahalenin kimsenin kaydırmak istemediği bir şeyi kaydırıp kaydırmadığını hemen görürsünüz — bunu ancak kullanıcıdan öğrenmek yerine.

İlk doksan günde neden büyük bir yeniden yapılandırma yapılmaz? Çünkü anlamamaya dayanan bir yeniden yazım ya da yeniden yapılandırma, nedenini bilmediğiniz hataları yalnızca tekrarlar. İlk aşama anlamaya ve güvenliğe hizmet eder; büyük hamle daha sonra, anlayıştan yola çıkarak ve geri alınabilir adımlarla gelir. Büyük hamle cazibesine direnen, onun başarılı olabileceği temeli atar.

Devralmanın tamamlandığı nasıl anlaşılır? Küçük, geri alınabilir değişikliklerin güvenilir biçimde başarılı olmasından — bir şeyi bozmadan değiştirebildiğinizden. Bu, ağların tuttuğunun, haritanın doğru olduğunun ve kayıt altına alınan davranışın referans noktasını sağladığının kanıtıdır. Devralma ancak o zaman asıl modernizasyona geçer.

Bu aşama gerçekte ne kadar sürer? Doksan gün bir imgedir, sabit bir ölçü değil. Aşama, sorumluluk ile anlayış arasındaki boşluk kapanana kadar sürer — küçük, dokümante edilmiş bir sistemde daha kısa, büyük, opak bir sistemde daha uzun. Bir süre dolduğunda değil, sisteme hâkim olduğunuzda sona erer.

Devamı

Temel, Batunet Engineering Method'dur: önce anla, sonra değiştir; hata durumu için tasarla; küçük, geri alınabilir adımlarla ilerle.

Son mühendislik ilkesi

Başkasının sistemini, onu hemen sahiplenerek değil, değiştirme hakkını kazanarak devralırsınız — anlayarak, güvenceye alarak, hâkimiyetinizi kanıtlayarak. İlk aşama ne bir özellik ne de büyük bir hamle sunar; daha değerli bir şey sunar: tehlikeye atmadan değiştirebileceğiniz bir sistem. Modernizasyonların başarısız olmasının en yaygın nedeni modernizasyonun kendisi değil, çok hızlı çok fazlasını isteyen bir devralmadır. İlk haftaları sabra ayıran zaman kaybetmez — sonraki her şeyi mümkün kılan güvenliği satın alır.


Devralınan bir sistem, ancak onu anladığınızda gerçekten sizindir. O zamana kadar başkasının eserini yönetirsiniz — ve tek sanat, öğrenirken ona zarar vermemektir.

Referans verilen bileşenler

Bilgi grafiği

Mühen­dis­lik yol­cu­lu­ğu­nuza devam edin.

Bağlantılı kavramlar, stratejik kararlar, rehberler ve yaklaşımlar — bir link yığını olarak değil, tutarlı bir akış halinde.

Bu alanda somut bir projeniz mi var?

Referans rehberleri düşünce yapımızı yansıtır. Kendi sisteminiz için doğrudan yönetimle konuşun — teknik düzeyde, satış baskısı olmadan.