Derinlemesine rehber
Teknik Borç Hız Kaybı Simülatörü: Yeniden İş Mühendislik Ekibinize Neye Mal Olur
Yönetici sektör analizi
Teknik borç, kestirmelerin birikmiş maliyetidir: çalışan ama değiştirmesi zor kod, eksik testler, dolaşık bağımlılıklar ve kimsenin anlamadığı eski sistemler. Bütçede nadiren görünür. Bunun yerine her şeyin eskisinden uzun sürdüğü hissi olarak ortaya çıkar. Tahminler kayar, küçük değişiklikler ilgisiz şeyleri bozar ve ekip sprintleri yeni bir şey yaratmayan işe harcar. Bu işin faturası bir ücret olarak değil, aynı bordro için her ay teslim edilen daha az özellik olarak gelir.
Sorunun yapısı kapasiteye uygulanan bir vergidir. Her sprintin beşte biri geçici çözümlere ve yeniden işe gidiyorsa, maaşlar aynıyken ekip beşte bir küçülmüş gibi davranır. Borç ayrıca bileşik büyür. Sağlam olmayan bir tabana kurulan her yeni özellik karmaşıklığı artırır; geri ödemeye emek harcanmazsa kaybedilen pay büyür. Borcu ödemek şimdi çıktıdan yer, bu yüzden ertelemek hep cazip gelir ve karar bu yüzden rakamları hak eder.
Domino modeli kaybı izler. Borca giden sprint payı yeni iş için kalan kapasiteyi azaltır, bu da teslim edilen özellikleri azaltır. Daha az özellik, bordro başına teslim edilen değeri düşürür; yeniden iş, yangın söndürme ve ayrılma yükü borçla büyür. Son kutu teslim edilen değeri ekibin gerçek maliyetiyle karşılaştırır. Borçtaki mütevazı bir artış sağlıklı bir getiriyi zarara çevirebilir, çünkü bordro sabittir ama değer değildir.
Buzdağı, bordro satırının gizlediğini gösterir. Görünen kısım bordronun kendisidir. Su çizgisinin altında bordronun yeniden işe giden kısmı, borcun üretimde yarattığı yangın söndürme, yorucu kod tabanlarını terk eden mühendislerin devri ve hiç yapılmayan özelliklerin değeri bulunur. Sonuncusu hesaplarda hiç görünmeyen bir fırsat maliyetidir, ama çoğu zaman en büyüğüdür. Simülatörle ekibin kendini ödemeyi bıraktığı borç düzeyini bulun ve bir ödeme planının değip değmediğini test edin.
Formül ve metodoloji planı
Model bir ürün ekibinin aylık görünümüdür. Bordro, mühendis çarpı tam yüklü maliyettir. Sprintin bir kısmı borca, bir kısmı bilinçli ödemeye gider; kalanı yeni özellik üretir. Teslim edilen özellik, mühendis çarpı mühendis başına özellik çarpı bu kalan paydır ve özellik değeriyle değerlenir. Borç ayrıca yeniden iş maliyetinin bir payı kadar olay yaratır ve ayrılmaları artırır; her yerine koyma dört aylık tam yüklü maaşla fiyatlanır. Projeksiyonda ödeme finanse edilmezse borç her ay artar.
- Üretim payı
- b = 1 − borç − ödeme
- Sprintin yeni özelliklere giden kısmı.
- Teslim edilen özellik
- F = mühendis × mühendis başına özellik × b
- Bir ayda teslim edilen yeni özellikler.
- Yeniden iş maliyeti
- W = bordro × borç
- Yeni değer satın almayan bordro.
- Ayrılma maliyeti
- A = mühendis × (%1 + %0,06 × borç puanı) × 4 ay × maliyet
- Mühendisleri yerine koymanın beklenen aylık maliyeti; borçla artar.
- Net sonuç
- Net = F × değer − bordro − 0,15 × W − A
- Teslim edilen değer eksi ekibin gerçek maliyeti. Kırılma noktası bunun sıfıra ulaştığı yerdir.
Zincirleme esneklik
Borç payı en esnek girdidir; çıktıyı azaltırken olay ve ayrılma maliyetini aynı anda artırır. Özellik değeri ve mühendis başına özellik tüm getiriyi ölçekler. Bordro maliyeti, değerin aşması gereken sabit taban olduğu için önem taşır.
Gerçek dünyadan üç vaka
Sermayesiz başlangıç
Temiz kod tabanlı küçük bir ekip
Üç kişilik bir ekip borcu düşük tutuyor, hızlı teslim ediyor ve her özelliğe bordroya göre yüksek değer biçiyor. Yeniden iş küçük. Yüklediğinizde temiz bir tabanın erken avantajını ve onu aşındırmaya başlamak için ne kadar az borcun yettiğini görürsünüz.
Ölçeklenen orta ölçek
Borç ödemeye yatırım yapan büyük ekip
Kırk beş kişilik bir ekip orta düzeyde borç taşıyor ama her sprintin onda birini temizliğe ayırıyor. Özellikler iyi bir hızla çıkıyor ve olaylar az. Yüklediğinizde disiplinli ödemenin neden ölçeklendiğini görürsünüz.
Kara kuğu krizi
Kimsenin değiştiremediği hızlı büyüyen kod tabanı
Yirmi beş kişilik bir ekip yıllarca birikmiş kestirmeleri devraldı. Her sprintin yarısından fazlası yeniden işe ve olaylara gidiyor, ayrılmalar yüksek ve ödeme zamanı sıfır. Yüklediğinizde büyük bir bordronun az şey ürettiğini ve hangi kaldıracın ayı kurtardığını görürsünüz.
Sektör kıyaslama matrisi
| Ölçüt | Tehlike bölgesi | Sektör ortalaması | İlk %10 seçkin |
|---|---|---|---|
| Yeniden işe giden sprint payı | %40 üstü | %15–25 | %10 altı |
| Borç ödemeye ayrılan zaman | Sıfır | %5–10 | Gerekirse %15–20 |
| Bordro başına teslim edilen değer | 1,0 altı | 1,2–1,6 | 2,0 üstü |
| Aylık mühendis ayrılma oranı | %2,5 üstü | %1–1,5 | %1 altı |
| Olay işinin yeniden iş maliyetine oranı | %25 üstü | %10–15 | %8 altı |
Değişkenler ve kaldıraçlar
Ekipteki mühendis sayısı
Ürün üzerinde çalışan geliştiriciler, tam zamanlı eşdeğer olarak.
Kaldıraç: Borcu ağır bir ekibe önce mühendis eklemeyin; her yeni kişi aynı yükü devralır ve ekibi uyum sürecinde yavaşlatır.
Mühendis başına aylık tam yüklü maliyet
Bir mühendis için ayda maliyet; maaş artı vergiler, yan haklar, ekipman ve genel giderler.
Kaldıraç: Maaşları piyasada tutun ama gizli genel giderleri azaltın; borca giden her saat tam yüklü bedelle ödenir.
Borç ve yeniden işe giden sprint
Mühendislik zamanının yeni özellik yerine geçici çözümlere, hata düzeltmeye, yavaş derlemelere ve eski kodla uğraşmaya giden payı.
Kaldıraç: Borcu görünür kılın: en kötü modülleri listeleyin, yeniden iş saatlerini tahmin edin ve en çok özelliğe dokunanları önce düzeltin.
Mühendis başına aylık özellik (borçsuz)
Borca zaman kaybedilmeseydi bir mühendisin ayda teslim edeceği anlamlı özellik sayısı.
Kaldıraç: Derleme, test ve inceleme sürtünmesini kaldırın; geliştirici deneyimi bir kişinin kaç özellik teslim edeceğini belirler.
Teslim edilen özelliğin aylık değeri
Tipik bir özelliğin yayına çıktıktan sonra ayda eklediği gelir, tasarruf veya elde tutma; kendi tahmininiz.
Kaldıraç: Gelir ya da elde tutmayı kıpırdatan özellikler teslim edin; teslim edilen değer düşükse hiçbir hız ekibi kârlı yapmaz.
Borç ödemeye ayrılan sprint payı
Borcu azaltmaya bilerek harcanan sprint payı. Şimdi çıktıdan yer, daha sonra borcu azaltır.
Kaldıraç: Her sprintin sabit bir dilimini, çoğu zaman yüzde onla yirmi arasını, yaklaşan işi engelleyen borca ayırın.
Bu simülatör nasıl kullanılır
- 1Gerçekçi hazır ayardan başlayın ya da ekip büyüklüğünüzü, tam yüklü maliyetinizi ve tahmini yeniden iş payınızı girin.
- 2Beş domino kutusuna bakarak hızın ya da borç yükünün önce kırmızıya döndüğünü görün.
- 3Kırılma noktamı bul düğmesiyle ekibi kârsız yapan borç payını öğrenin.
- 424 aylık grafikte mevcut planı borç ödeme planıyla karşılaştırın.
- 5Birkaç sprint boyunca yeniden işi ölçün ve modeli her çeyrekte yeniden gözden geçirin.
Kaçınılması gereken hatalar
- Maaşlar sabit olduğu için borca giden zamanı bedava saymak; her saat tam yüklü maliyeti taşır.
- Yavaş bir kod tabanına mühendis ekleyip hızın orantılı artmasını beklemek.
- Borcu, yaklaşan işi engellediği yerde düzenli ödemek yerine büyük bir yeniden yazım planlamak.
- Hoş olmayan kodun gerçek ve tekrarlayan maliyeti olan ayrılmaları görmezden gelmek.
Sık sorulan sorular
Borca giden sprint payını nasıl tahmin ederim?
Birkaç sprint boyunca yeniden iş, hata düzeltme ya da geçici çözüm olan kayıtları ve çekme isteklerini etiketleyin, bu süreyi toplam mühendislik zamanına bölün. Çapraz kontrol için ekipten kaba bir sayı isteyin.
Her teknik borç kötü mü?
Hayır. Daha hızlı öğrenmek ya da teslim tarihini yakalamak için kestirme yapmak iyi bir takas olabilir; yeter ki takip edin ve geri ödeyin. Borç, yönetilmediğinde ve bileşik büyüdüğünde sorun olur.
Ödemeye ne kadar zaman ayırmalıyız?
Borç düzeyine ve yaklaşan işe bağlıdır. Sabit yüzde on ila yirmi yaygındır, ama bunu kendi sebebiyle temizlik için değil, planlanan özellikleri engelleyen borç için harcayın.
Bir özelliği nasıl değerlerim?
Ekleyeceği aylık geliri, elde tutmayı ya da maliyet tasarrufunu kabaca da olsa tahmin edin. Edemiyorsanız ortalama gelir artışını teslim edilen özellik sayısına bölmeyi başlangıç noktası yapın.
Ekibin zarar ettiği borç düzeyini nasıl bulurum?
Kırılma noktamı bul düğmesine basın. Araç her girdiyi kötü ucuna doğru kaydırır ve aylık kârın sıfıra ulaştığı değeri gösterir.
Bu ne kadar doğru?
Belirtilen varsayımlarla çalışan eğitim amaçlı bir modeldir; yönetim tavsiyesi değildir. Gerçek mühendislik sonuçları birçok etkene bağlıdır. Girdileri kendi verilerinizle değiştirin.
Bu, belirtilen varsayımlara dayalı eğitim amaçlı bir planlama modelidir. Finansal, vergi ya da hukuki tavsiye değildir. Girdileri kendi rakamlarınızla değiştirin ve önemli kararları nitelikli bir uzmanla doğrulayın.