Ne kadar koddan sorumlu olmalıyım?


13

Meslektaşlarım ve çıkış görüşmeleri yoluyla, küçük şirketimde başka bir işte olacağımdan 3-10 kat daha fazla koddan "sorumlu" olduğumu duydum. İş yükümü alanımdaki diğer kullanıcılarla karşılaştırmak için kullanabileceğim bir tür bulanık metrik aramaya çalışıyorum.

"Kod sorumluluğu" derken, "Kod tabanının X alanını bilen tek kişi benim" demek istemiyorum (ne yazık ki, bir başlangıç ​​ortamında genellikle doğrudur), ancak "code_base_size" gibi bir sayıya atıfta bulunuyorum / number_of_developers".

İş yükümü yalnızca kod satırlarını saymaktan daha doğru bir şekilde ölçmeme yardımcı olmak için kullanabileceğim herhangi bir kaynak var mı?


8
Kod satırları, karmaşıklığın veya iş yükünün doğru bir ölçümü olmak zorunda değildir.

3
Bu yüzden benim son cümle :)
Michael

2
@ ThorbjørnRavnAndersen: "Doğru" mu? Bence başka bir şey ifade edebilirsin. Gerçekten doğru (ve kesin) tek önlemle ilgilidir. Barry Boehm (Yazılım Mühendisliği Ekonomisi) bunun tek mantıklı önlem olduğunu gösterdi. Bu proje tahmini için işe yaramaz hale getirir. Ancak çaba ve süreyi öngören geriye dönük bir önlem olarak, diğerlerinden çok daha iyiydi.
S.Lott

Yanıtlar:


12

Çalışan bir geliştirici için tek somut önlem, hataları kodlamak ve düzeltmek için harcanan saat sayısı ve bunun için ödenen paradır. Bir gece 50K US $ için haftada 6 gün gece geç saatlerde kalıyorsanız, o zaman bir sorun var. Patronunuz kaç satır sorumlu olmanızdan bağımsız olarak, elbette belirli bir kod kalitesini dikkate alarak yapabileceğinizden daha fazlasını işlemeyeceksiniz. Birim testleri olmadan kalitesiz kod geliştirmek, daha fazla kod işlemek için iyi bir yoldur, ancak şirket büyük bir teknik borcun bedelini ödemek zorunda kalacaktır .

Gelen küçük şirketler geliştiriciler çok daha fazla kod sorumlu olma eğilimindedir büyük corp. Bahsettiğiniz 3 ila 10 faktörü bana gerçekçi geliyor.


6

1,5 milyon satırlık bir kod tabanı yöneten ve içinde boğulmayan üç kişilik bir ekip tanıyorum. Önemli ölçüm, ne kadar koddan sorumlu olduğunuz değil, belirli bir zaman diliminde ne kadar kod değiştirmeniz gerektiğidir.

Risk değerlendirme açısı da var. Bir kod parçasını bilen tek kişi sizseniz, bir otobüsün altında yürürseniz kaybedilecek fırsat maliyeti nedir? Küçük şirketler genellikle böyle risk değerlendirmesi yapmazlar, ancak bu, işletmenin devam eden başarısının şansa bırakıldığı anlamına gelir.


3

kod taban boyutu / geliştirici sayısı iş yüküyle ilgili değildir. Büyük bir sabit kod tabanınız varsa, metrik yüksek olacaktır. Halen geliştirilmekte olan küçük bir kod tabanınız varsa, bu metrik düşük olacaktır. geliştirici başına birim zamandaki satır değişiklikleri iş yükü ile daha fazla ilgilidir. Ama o zaman bile, düzeltmesi bir satır olan ince hataları izlemek için günler geçirdim ...


2

Kod, bir geliştiriciden değil grubun sorumluluğunda olmalıdır. Destek her hafta adil bir şekilde devredilmelidir, başka bir şekilde tahsis etmek aptalca görünmektedir. Eğer durum böyle değilse, yönetiminizle konuşmanızı öneririm.

Durumda, bir geliştiriciyi tanımlamanız, diğer geliştiricilerin çalıştığı bir alandan büyük miktarda destek nedeniyle son tarihleri ​​karşılamakta zorlanıyor olabilir. Çok verimsiz bir yönetim yapısı.

Ayrıca, kod satırlarında iş yükünü ölçmekten uzaklaşmanızı öneririm. Adam saatleri aklıma gelen tek mantıklı metrik

Programlama ilerlemesini kod satırlarına göre ölçmek, uçak yapım ilerlemesini ağırlıkça ölçmek gibidir

NB. Eşit demiyorum, adil söylüyorum. Ayrıca, kod tabanının belirli yönlerinde uzmanlaşmanın cezasının, doğal olarak gerçekleştiğini de belirtmek gerekir. Bu kod üzerinde hiç kimse çalışmazsa bu sadece bir sorundur.


Daha net olmalıydım - "Bu kod benim sorumluluğumdur - ve ben sadece onu koruyorum" diyerek iş yükümü ölçmenin bir yolunu bulmaya çalışıyordum. Örneğin, Facebook'un 2 programcısı olsaydı, çok fazla çalışacaklardı - ama bu sonuca NASIL ulaşırdınız? Sormaya çalıştığım sorunun türü bu.
Michael

2

Örneğin, Facebook'un 2 programcısı olsaydı, çok fazla çalışacaklardı - ama bu sonuca NASIL ulaşırdınız? Sormaya çalıştığım sorunun türü bu.

Bu bir programlama sorusu değil, bir yönetim sorusu.
Bunu cevaplamak için birkaç kolay soru var ve bunların yazılımla ilgisi yok.

  1. Kaç saat çalışıyorsun
  2. Kaç saat çalışmalısın?
  3. Son teslim tarihlerine uyuluyor mu?

Sonra şu mantığı takip edin:

  • 1> 2 ise, daha fazla kişiye veya daha az agresif son tarihlere ihtiyacınız vardır.
  • 1 <2 ise, daha az insana veya daha fazla insiyatife ihtiyacınız vardır.
  • Son teslim tarihlerine uyulmuyorsa ve 1> = 2 ise, daha fazla insana ihtiyacınız vardır.
  • Son teslim tarihlerine uyulmuyorsa ve 1 <2 ise, birini kovmalısınız.

Bu iki göze çarpan kusuru olan bir aşırı basitleştirme.

  • İnsanlar eşit yaratılmaz.
  • İnsanları daha üretken hale getirmenin yolları vardır (bilgisayarlarını yükseltmek veya başka bir şey).

Ama fikri anladınız.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.