Ürün · 3 Ağustos 2026 · 3 dk okuma
Teknik Borç Nedir? Teknik Olmayanlar İçin Açıklama
Geliştiriciler 'teknik borç' derken neyi kastediyor? Kredi kartı benzetmesi, borcun türleri, ne zaman ödenmeli ve ürün kararlarına etkisi.
Kısa cevap
Teknik borç, hızlı ilerlemek için bilinçli veya bilinçsiz alınan kestirmelerin birikimidir; kredi kartı gibi işler: bugün hız kazandırır, sonra faiz (yavaşlama, artan hata) olarak geri gelir. Sıfır teknik borç sağlıklı bir hedef değildir; asıl hedef ne kadar olduğunu, nerede olduğunu ve ne zaman ödeneceğini bilmektir. Ödeme yolu genelde kapasitenin %15-20'sini sürekli sağlık işlerine ayırmaktır.
Geliştirici toplantıda "önce şu teknik borcu ödememiz lazım" diyor. Yönetici duyduğu şey: "Görünür hiçbir şey üretmeden haftalarca çalışacağız."
Bu çeviri hatası, ürün ekiplerinin en pahalı iletişim problemlerinden biri. Teknik geçmişi olmayan biri olarak bu kavramı anlamak zorunda kaldım. En iyi anlatımın finans diliyle olduğunu gördüm.
Kredi kartı benzetmesi
Teknik borç, hızlı ilerlemek için bilinçli (bazen bilinçsiz) alınan kestirmelerin birikimidir: "Şimdilik böyle yapalım, sonra düzeltiriz."
Kredi kartı gibi çalışır:
- Bugün alışveriş yaparsınız: Özellik hızla çıkar. Borç almak her zaman kötü değildir; doğru anda hız, hayat kurtarır.
- Faiz işler: Kestirmeyle yazılan her parça, üzerine eklenen her yeni işi biraz yavaşlatır. Faiz, kendini "her şey neden bu kadar uzun sürüyor?" cümlesiyle gösterir.
- Asgari ödeme tuzağı: Sürekli yeni özellik, hiç borç ödememek: bir süre yürür, sonra ekip tüm zamanını faize (hata düzeltme, yangın söndürme) harcamaya başlar.
- İflas da var: "Bu sistemi artık kimse elleyemiyor, sıfırdan yazmak gerek" cümlesi, teknik iflasın ilanıdır ve neredeyse her zaman, yıllarca ödenmemiş borcun sonucudur.
Borcun görünmez faturası: ürün tarafına etkisi
Teknik borç mühendislerin iç meselesi değildir; doğrudan ürün metriklerine yansır:
- Hız düşer: Eskiden iki günlük iş, dört gün sürmeye başlar.
- Hata artar: Kırılgan zeminde her dokunuş başka bir yeri bozar.
- Cesaret kaybolur: Ekip "oraya dokunmayalım" bölgeleri üretir; o bölgelerdeki iyileştirmeler sessizce yol haritasından düşer.
- İşe alım zorlaşır: Dağınık sistemde yeni geliştiricinin verimlenme süresi uzar.
Yönetici olarak ne yapmalı?
1. Borç konuşmasını meşrulaştırın. Geliştiricinin borç uyarısı, işten kaçma değil; mühendislik sorumluluğudur. Dinlenmediği ekiplerde uyarılar kesilir; borç kesilmez.
2. Görünür kılın: Borç maddeleri de backlog'da yaşasın, "şu modülde değişiklik yapmak X kat yavaş" gibi etkisiyle birlikte. Görünmeyen borç, önceliklendirilemez.
3. Düzenli ödeme planı kurun: Pratik ve yaygın kural: kapasitenin bir dilimini (ör. %15-20) sürekli sağlık işlerine ayırmak. "Bir çeyrek durup her şeyi temizleyelim" büyük patlaması, hem riskli hem moralsizdir; taksit her zaman balondan iyidir.
4. Bilinçli borç alın: Kestirme bazen doğru karardır: kritik lansman, pazar penceresi. Fark şu: bilinçli borcun kaydı tutulur ("şurada kestirme aldık, şu tarihte döneceğiz"), bilinçsiz borç ise sessizce faiz işletir. Karar günlüğü burada da çalışır.
Sık sorulan sorular
Sıfır teknik borç hedeflenmeli mi?
Hayır; sıfır borç, genelde aşırı mühendislik ve yavaşlık demektir. Sağlıklı hedef sıfır değil, yönetilen borç: ne kadar olduğunu, nerede olduğunu ve ne zaman ödeneceğini bilmek.
Geliştirici her şeye "borç yüzünden" diyorsa?
Meşru bir soru sorun: "Bu borcu ödersek hangi metrik, ne kadar iyileşir?" Cevabı olan borç gerçek ve önceliklendirilebilir; cevabı olmayan, bazen mükemmeliyetçiliğin borç kılığıdır. İki taraf için de dil aynı: etki.
Refactoring nedir, teknik borcu ödemekle aynı şey mi?
Refactoring, kodun dışarıdan davranışını değiştirmeden iç yapısını iyileştirmek demektir; teknik borcu ödemenin en yaygın aracıdır. Ama her refactoring bir borç ödemesi değildir: bazen ekip, henüz sorun çıkarmayan bir kodu "daha güzel olsun" diye düzenler; bu tercih meşrudur ama önceliklendirmesi borçtan farklı yapılmalıdır.
Teknik borcun somut örnekleri neler?
Test yazılmadan geçilen bir özellik, kopyala-yapıştırla çoğaltılan kod, güncellenmemiş bir kütüphane, dokümante edilmemiş bir iş kuralı, "geçici" diye eklenip kalıcı olan bir çözüm. Ortak özellikleri: bugün işe yarıyor ama üzerine yeni bir şey inşa etmeyi zorlaştırıyor.
Bu rehber, teknik olmayan biri olarak geliştirme ekipleriyle çalışırken öğrendiklerimden derlenmiştir.
Etiketler