Mühendislikte uzun süredir tek bir niteliğin peşinden koşarız: dayanıklılık. Sistemin şoka, yüke ve arızaya rağmen ayakta kalmasını isteriz; emniyet-kritik alanlarda bunu bir zorunluluğa çeviririz. Oysa Nassim Nicholas Taleb’in Incerto serisinde işlediği temel iddia, dayanıklılığın bir uç değil bir orta nokta olduğudur. Kırılganın gerçek zıttı “kırılmayan” değildir; volatiliteden, stresten ve hatadan fayda gören, yani sarsıldıkça güçlenen bir şeydir.

Taleb bu üçüncü hâl için yeni bir sözcük kullanır: antifragile, antikırılgan. Kavramın asıl değeri, belirsizlik karşısındaki alışkanlığımızı tersine çevirmesindedir: amaç bir sonraki şoku tahmin etmek değil, şoktan hangi yönde etkileneceğimizi baştan tasarlamaktır. Aşağıda önce kavramı ve altındaki asimetriyi tanımlıyor, ardından yazılımdan ürüne ve topluluğa kadar farklı sistemlere uygulanışını ele alıyoruz.


Antikırılganlık Nedir? Üçlü Yelpaze

Taleb bu noktayı bir kargo örneğiyle somutlaştırır. Bir kutunun üstünde KIRILIR yazar; karşıtı çoğu kişiye göre “dayanıklı”dır. Oysa dayanıklı kutunun üstünde hiçbir şey yazmaz, çünkü nasıl savrulduğu onu ilgilendirmez. Asıl karşıt uç, üstünde “lütfen hırpalayın” yazabilecek, sarsıldıkça içindeki daha iyi duruma gelen kutudur. Dilde böyle bir kelime yoktu; Taleb bu boşluğu “antikırılgan” ile doldurdu.

Buradan üçlü bir yelpaze çıkar. Her şeyi volatiliteye — yani belirsizliğe, strese, rastgeleliğe, şoka — verdiği tepkiye göre üçe ayırabiliriz:

  Volatiliteye tepkisi Maskotu Örnek
Kırılgan Zarar görür, bozulur Demokles’in Kılıcı İnce kristal kadeh, aşırı optimize edilmiş tedarik zinciri
Dayanıklı (Robust) Kayıtsız kalır, aynı kalır Anka Kuşu Granit kaya, yedekli sunucu
Antikırılgan Beslenir, güçlenir Hydra Bağışıklık sistemi, evrim, kas
flowchart LR V(["Volatilite / Şok / Stres"]) --> F["KIRILGAN
zarar görür"] V --> R["DAYANIKLI
aynı kalır"] V --> A["ANTIKIRILGAN
güçlenir"] style V fill:#fde0e0,stroke:#c0392b,stroke-width:2px style F fill:#f5cccc,stroke:#c0392b,stroke-width:2px style R fill:#e8eef7,stroke:#4a6fa5,stroke-width:2px style A fill:#d5f0d5,stroke:#2e7d32,stroke-width:2px

Burada sık yapılan bir karışıklık var: antikırılganlık ile dayanıklılık aynı şey değildir. Dayanıklı sistem şoktan sonra aynı kalır, antikırılgan sistem gelişir. Kas ağırlık kaldırdıkça güçlenir, kemik yük altında yoğunlaşır, bağışıklık denetimli maruziyetle öğrenir. Bu sistemlerin ortak yanı, aşırı korumanın onları güçlendirmek yerine zayıflatmasıdır; belirli bir stresin yokluğu başlı başına bir kırılganlık kaynağıdır.

Konveksite: Antikırılganlığın Matematiği

Bir şeyi antikırılgan yapan nitelik asimetridir. Antikırılgan bir yapının volatilite karşısındaki kazancı kaybından büyüktür: iyi giderse çok kazanır, kötü giderse az kaybeder. Taleb bunu konveksite (dışbükeylik) olarak adlandırır. Tersi bir cam bardakta görülebilir: bardağı bir metreden bir kez düşürmek, bir santimden yüz kez düşürmekten çok daha zararlıdır. Küçük sarsıntılar etkisiz kalır, tek büyük darbe parçalar. Kayıp stresle orantısız büyüdüğünde ortaya çıkan içbükey eğri, kırılganlığın imzasıdır.

flowchart TB K0["KIRILGAN
(içbükey ödeme)"] --> K1["küçük stres:
az kazanç"] K0 --> K2["büyük stres:
FELAKET kayıp"] A0["ANTIKIRILGAN
(dışbükey ödeme)"] --> A1["küçük stres:
az kayıp"] A0 --> A2["büyük stres:
BÜYÜK kazanç"] style K0 fill:#f5cccc,stroke:#c0392b,stroke-width:2px style K2 fill:#f5cccc,stroke:#c0392b,stroke-width:2px style A0 fill:#d5f0d5,stroke:#2e7d32,stroke-width:2px style A2 fill:#d5f0d5,stroke:#2e7d32,stroke-width:2px

Antikırılgan yapıda işaret tersine döner. Bir denemenin başarısızlık maliyeti sınırlıyken (örneğin sınırlı bir zaman ve bütçe) başarısının getirisi açık uçluysa, dağılımın aşağı yönü kapalı, yukarı yönü açıktır. Taleb’in vurgusu da buradadır: geleceği tahmin etmeye değil, maruziyeti dışbükey kılmaya odaklanmak. Onun çerçevesinde volatilite, rastgelelik, stres, hata ve zaman aynı ailenin üyeleridir; düzensizliğin farklı görünümleridir ve antikırılgan yapılar bu düzensizlikten beslenir.

Antikırılganlığın Araç Çantası

Konveksite tesadüfe bırakılmak zorunda değildir; tasarlanabilir. Aşağıdaki pratikler, ilerleyen bölümlerdeki farklı alanların hepsinde tekrar eder:

  • Barbell (halter) stratejisi: Riski iki uçta toplamak; ağırlığı aşırı güvenli tarafa koyup küçük bir payı çok sayıda yüksek riskli, açık uçlu girişime ayırmak. Belirsizliği yanlış ölçülen “orta risk” bölgesinden kaçınmak.
  • Opsiyonellik: Yükümlülük değil seçenek biriktirmek; kötü senaryoda kullanılması zorunlu olmayan, iyi senaryoda getirisi açık seçenekler.
  • Via negativa: Sağlamlığı bir şey ekleyerek değil, kırılganlık kaynaklarını çıkararak artırmak.
  • Hormesis: Küçük, sık ve iyileşmeye fırsat tanıyan stresörlerle sistemi büyük şoka hazırlamak; aşırı koruma yerine denetimli maruziyet.
  • Skin in the game: Kararı verenin sonucun riskini de taşıması; aksi hâlde kayıplar sisteme, kazançlar bireye kalır ve gizli kırılganlık birikir.
  • Artıklık ve ademimerkeziyet: Yedeklilik kısa vadede verimsizlik gibi görünse de belirsizliğe karşı bir tampondur; dağıtık karar tek bir kırılma noktasını ortadan kaldırır.
flowchart LR G["BÜYÜK KISIM
AŞIRI GÜVENLİ
(çekirdek, nakit, kanıtlanmış)"] B["KÜÇÜK KISIM
ÇOK SAYIDA
YÜKSEK-RİSKLİ BAHİS"] G -.->|ortayı boş bırak| B style G fill:#e8eef7,stroke:#4a6fa5,stroke-width:2px style B fill:#d5f0d5,stroke:#2e7d32,stroke-width:2px

Uygulama: Altı Alanda Antikırılganlık

Yazılıma

Yazılım, kavramın en doğrudan uygulandığı alanlardan biridir; sektör buna Chaos Engineering adını bile vermiştir. Netflix’in Chaos Monkey aracı, üretim ortamında rastgele sunucuları bilerek devre dışı bırakır. Mantık hormesistir: sistemi her gün küçük ve denetimli arızalara maruz bırakan ekip, büyük arıza geldiğinde ona dayanacak biçimde olgunlaşmış bir mimariye sahip olur. Aynı asimetriyi error budget, feature flag ile birlikte otomatik geri alma (hatanın etkisini saniyeler içinde sınırlar), fuzzing ve hatayı suç değil veri olarak ele alan suçlamasız postmortem kurar. Buradaki örtük kırılganlık genellikle aşırı optimizasyondur: her şeyi sıkıca birbirine bağlayıp son damla verimi sıkan bir sistem, beklenmedik tek bir girdide bütünüyle çöker. Coupling’i Dengelemek yazısında ele alındığı gibi, amaç bağımlılığı yok etmek değil dengede tutmak ve bir bileşen çökerken sistemin bütününün denetimli biçimde geri çekilmesine (graceful degradation) izin vermektir.

Bir Proje Ekibine

Bir ekip de strese maruz kalan bir sistemdir ve antikırılganlığı, kriz sonrasında dağılıp dağılmadığıyla ölçülür. Belirleyici etken psikolojik güvenliktir: hatayı açıkça dile getirebilen bir ekipte her hata ortak hafızaya yazılır, hatanın gizlendiği ekipte ise hatalar birikip aynı anda açığa çıkar. Bunu mümkün kılan pratikler tanıdıktır; bilgi tek kişiye bağlı kalmasın diye çapraz eğitim, belirsizliğe pay bırakan plan boşluğu (slack), ucuza denenip ucuza vazgeçilebilen küçük denemeler ve olaylardan sonuç çıkaran düzenli değerlendirmeler. Ekibi her çatışmadan ve başarısızlıktan yalıtmak, çoğu zaman onu güçlendirmek yerine kırılganlaştırır.

Bir Şirkete

Şirket ölçeğinde antikırılganlık çoğu zaman bir barbell yapısına benzer: gelirin büyük kısmı kanıtlanmış, nakit üreten çekirdekte dururken küçük bir pay çok sayıda ucuz ve açık uçlu girişime ayrılır. Bu girişimlerin çoğu sonuç vermez, ancak tutan birkaçı tüm portföyü taşıyabilir. Kırılgan şirketin işaretleri ise bellidir: tek bir müşteriye veya tedarikçiye bağımlılık, yüksek borç ve kaldıraç, her şeyi verimlilik adına en sınıra kadar yontmak, kararı tek merkezde toplamak. Antikırılgan şirket daha ademimerkezidir, elinde seçenek tutar, durgunlukta rakipleri elenirken pay kazanır ve kararı verenle sonucun riskini taşıyanı aynı tarafta tutar.

Bir Ürüne

Bir ürünün antikırılganlığı, gerçek kullanımla temas ettikçe bozulacak mı yoksa öğrenecek mi biçimde tasarlandığına bağlıdır. MVP ve hızlı yineleme, baştan doğru ürünü tahmin etme iddiasından vazgeçip ürünü kullanım geri bildirimiyle biçimlendirme yaklaşımıdır; tahminin yerini denetimli maruziyet alır. A/B testleri her özelliği küçük ve geri alınabilir bir denemeye dönüştürür, böylece zayıf seçenek düşük maliyetle elenir. Kademeli dağıtım (canary), beta kanalları, ekibin kendi ürününü kullanması (dogfooding) ve kullanıcı hata bildirimlerini birincil veri olarak ele alan döngüler, ürünü sürekli küçük stresörlere maruz bırakarak olgunlaştırır.

Bir Topluluğa

Açık kaynak toplulukları bu özelliği belirgin biçimde taşır. Bir bakımcı ayrıldığında proje çatallanabilir (fork) ve tek bir kişiye ya da sunucuya bağlı kalmaz. Katkıcı çeşitliliği fikirleri sürekli sınamaya tabi tutar; zayıf öneriler tartışmada elenir, işe yarayanlar kalır. Bu yapıda eleştiri bir tehdit değil bir bağışıklık mekanizmasıdır: kod incelemeleri, açık anlaşmazlıklar ve kamuya açık tartışma topluluğu güçlendirir. Buna karşılık tek kişiye bağlı, merkezîleşmiş ve eleştiriye kapalı bir topluluk, dışarıdan uyumlu görünse de tek bir ayrılışa veya itiraza karşı kırılgandır.

Bir Sisteme

Daha genel olarak, birbiriyle etkileşen parçalardan oluşan her sistemde ilkeler benzerdir. Dağıtık sistemlerde N+1 artıklık, devre kesici (circuit breaker) ve bölme perdesi (bulkhead) desenleri, tek bir arızanın zincirleme bütün sistemi durdurmasını engeller; su alan bölmesi yalıtılırken geminin yüzmeye devam etmesi gibi. Aynı düşünce emniyet-kritik aviyonikte yedekli (redundant) kanallar ve hata sınırlandırma (fault containment) olarak kurumsallaşmıştır. Doğadaki karşılığı evrimdir: çok sayıda küçük başarısızlık üzerinden türü güçlendiren bir süreç işler; birey kırılgan kalırken tür bütününde antikırılgan davranır. Buradaki yaygın hata verimlilik takıntısıdır, çünkü tek bir senaryoya kusursuz biçimde optimize edilen sistem, o senaryonun dışındaki koşullara karşı kırılganlaşır. Bu nitelikler de Sistem Mühendisliği Nedir? yazısındaki beliren özellikler gibi sistem düzeyinde ortaya çıkar ve tek bir parçaya indirgenemez.

Altı alandaki örüntüyü tek bir tabloda karşılaştırmak mümkün:

Alan Kırılgan kalıp Antikırılgan kalıp
Yazılım El değmemiş “kutsal” sunucu, manuel dağıtım Chaos engineering, otomatik rollback, blameless postmortem
Proje ekibi Tek uzmana bağımlılık, hatayı gizleme Çapraz eğitim, psikolojik güvenlik, küçük deneyler
Şirket Tek müşteri, aşırı borç, merkezî karar Barbell portföy, opsiyonellik, skin in the game
Ürün Büyük “mükemmel” lansman MVP, A/B testi, kademeli dağıtım, geri bildirim döngüsü
Topluluk Tek bakımcı, eleştiriye kapalılık Fork edilebilirlik, çeşitlilik, açık tartışma
Sistem Tek senaryoya aşırı optimizasyon Artıklık, circuit breaker, ademimerkeziyet

Tuzaklar: Her Şey Antikırılgan Olmalı mı?

Burada önemli bir sınır var. “Antikırılganlık iyiyse, o hâlde her şeyi üretimde kırarak öğrenelim” çıkarımı tehlikeli bir yanlış okumadır. Her sistem antikırılgan olmak zorunda değildir; bazıları yalnızca dayanıklı olmalıdır. Bir uçağın uçuş kontrol yazılımında, üretim ortamında bilerek arıza üretmek söz konusu olamaz. DO‑178C ve özellikle en yüksek güvence seviyesi olan DAL A’nın bütün varlık nedeni, sistemin sahada deneme yanılmayla değil, daha uçmadan önce kanıtlanmış biçimde doğru çalıştığını göstermektir. Hatanın sonucunun geri döndürülemez olduğu alanlarda hedef dışbükeylik değil, öngörülebilir ve kanıtlanmış güvenilirliktir.

Bunun altında daha temel bir kural yatar: antikırılganlık ancak hayatta kalındığı sürece bir anlam taşır. Sistem bir kez tamamen çökerse, sonraki denemelerin beklenen getirisi ne olursa olsun konu dışıdır; Taleb bunu yıkım (ruin) ve ergodisite kavramlarıyla anlatır. Barbell stratejisinin önce aşağı yönü koruması da bu yüzdendir. Doğru sıra, önce sistemi tümüyle oyun dışı bırakacak şokları olanaksız kılmak, ardından kalan alanı volatiliteden faydalanmaya açmaktır. Bu sıranın tersine çevrilmesi, yani koruma sağlamadan risk almak, antikırılganlık değil yalnızca kumardır.

Sonuç

Antikırılganlık, geleceği daha iyi tahmin etme çabası değil, tahmine bağımlı kalmadan belirsizlik karşısında doğru konumlanma yaklaşımıdır. Kırılgan bir yapı dünyanın tam olarak beklendiği gibi ilerlemesine bel bağlar; dayanıklı yapı sapmalara kayıtsız kalır; antikırılgan yapı ise sapmalardan yararlanacak biçimde kurulmuştur. Pratikte sorulması gereken soru “bu şoktan nasıl kaçınırım” değildir, çünkü bir sonraki şok çoğu zaman öngörülemez; daha verimli soru, hangi yapıların şoktan zarar yerine fayda görecek biçimde tasarlanabileceğidir. Taleb’in via negativa ilkesi gereği bu çoğu zaman yeni bir şey eklemekle değil, sistemi yıkıma açan kırılganlık kaynaklarını (tek bağımlılık noktası, aşırı kaldıraç, hatayı cezalandıran kültür, sınıra kadar yontulmuş optimizasyon) tek tek ortadan kaldırmakla başlar.

Kaynaklar

  • Nassim Nicholas Taleb — Antifragile: Things That Gain from Disorder, Random House, 2012. (Türkçesi: Antikırılgan: Belirsizlikten Nasıl Faydalanılır)
  • Nassim Nicholas Taleb — The Black Swan: The Impact of the Highly Improbable, Random House, 2007.
  • Nassim Nicholas Taleb — Skin in the Game: Hidden Asymmetries in Daily Life, Random House, 2018.
  • Nassim Nicholas Taleb — Fooled by Randomness, Texere, 2001.
  • Principles of Chaos Engineering — https://principlesofchaos.org/
  • A. Basiri vd. — “Chaos Engineering”, IEEE Software, 2016 (Netflix Chaos Monkey / Simian Army).
  • B. Beyer, C. Jones, J. Petoff, N. R. Murphy (ed.) — Site Reliability Engineering, O’Reilly, 2016 (error budget, blameless postmortem).
  • Coupling’i Dengelemek: Yazılım Tasarımında Bağımlılığı Yönetmek
  • Sistem Mühendisliği Nedir?