Otobüs faktörü nedir?
- Otobüs faktörü, projede kaç ekip üyesinin aniden ortadan kaybolması durumunda projenin gecikeceğini gösteren bir ölçüttür.
- 2015'te, şirkette gelir üreten tek kod tabanına katkı veren kişinin işten çıkarılması üzerine, bunu hesaplayan bir GitHub eklentisi yazmaya karar vermiş.
Eklentinin geliştirilme süreci
- Kamyon faktörü araştırma makalesini referans alarak eklentiyi geliştirmeye başlamış.
- İş arkadaşları, bu eklentinin yöneticiler tarafından kimin kolayca işten çıkarılacağını hesaplayan bir araç olarak kullanılabileceğinden endişe etmiş.
Sonuçları yeniden üretme denemesi
- Araştırma makalesinde sağlanan GitHub deposunu kullanarak sonuçları yeniden üretmeye çalışmış.
- Veriler JSON formatında sunuluyor ve görselleştirme CSV üzerinden yapılabiliyor.
- README'deki talimatlar düzgün çalışmadığı için sorunu çözmek zaman almış.
GNU Parallel kullanımı
- Birden fazla GitHub deposunu aynı anda klonlamak için GNU Parallel kullanmış.
- Yalnızca 8 süreç kullanacak şekilde ayarlamasına rağmen tüm çekirdekler sonuna kadar kullanılmış.
Ruby Gems ve NixOS
- Linguist eklentisini kurarken zorluk yaşamış.
- NixOS üzerinde Ruby Gems kurmanın bir yolunu arıyor.
Sonuçların yeniden hesaplanması
- Orijinal depoyu fork edip Java kaynaklarını derleyerek sonuçları yeniden hesaplamış.
- Linux kernel deposu için örnek sonuç: kamyon faktörü 12, kapsama oranı %49,98.
Sorunlar ve ek araştırma
- Hesaplama sürecinde code review süreci dikkate alınmıyor.
- Linux kernel'in kamyon faktörünün 10 yıl öncesine göre neden büyük ölçüde farklı olduğunu araştırmak gerekiyor.
- Daha iyi bir hesaplama yöntemi bulmak için makalenin alıntılarını incelemeyi planlıyor.
Sonuç - Otobüs faktörünün önemi
- 2015 tarihli makalede Linux kernel'in kamyon faktörü 90 olarak değerlendirilmişti, ancak bugün 12 olarak hesaplanıyor.
- Bu, bir iyileşme anlamına gelmiyor.
- Ek görselleştirmeler ve ayrıntılar mclare'in blogunda görülebilir.
1 yorum
Hacker News yorumu
CodeScene'in özelliklerinden biri, kod değişikliklerinin sık olduğu bölgelerde bilgi dağılımının düşük olduğu kısımları tespit ederek yüksek riskli alanları bulmaktır
Amazon, kod sistemine ilişkin raporlar aracılığıyla ekibin faaliyetlerini ve risk unsurlarını kolayca görmeyi sağlayan bir özellik sunuyor
GNU Parallel'in tüm çekirdekleri kullanmasının nedeni, her
git cloneişleminin birden fazlaindex-packthread'i oluşturmasıdırpack.threadsdeğerini 1 olarak ayarlamak yardımcı olabilir'Otobüs faktörü', ekibin özerkliğini ve şeffaflığını gösterir; ideal durumda tüm ekip üyeleri her şeyi anlayabilmelidir
Kariyerde yükseldikçe geliştiricilerin kod yazmaktan çok review'a odaklanması gerektiği yönünde bir yanılgı var
Sistemin yazarı, bir dosyaya önemli katkı yapmış kullanıcı olarak tanımlanır; yazar dosyanın toplamının %50'sinden azını kapsıyorsa sistem ciddi gecikmeler yaşayabilir
Startup'lardaki işten çıkarma meselesi, 'kimi işten çıkaracağız' değil, 'bir sonraki sürümü hızlıca geliştirecek ekip kim' sorusudur
Bazı kurumsal yazılımlarda e-posta gönderme ve alma hacmini ölçen dashboard'lar bulunabilir
CPAN uzun zamandır otobüs faktörünü takip ediyor; örneğin Moose'un otobüs faktörü 5
'Piyango faktörü' terimi, birinin piyangoyu kazanıp ayrılması durumunda bile projenin devam edip edemeyeceğini ifade etmek için kullanılır