Ortalamadan 4-5 kat daha fazla hikaye puanı veriyorum, ancak oranın yarısında hata üretiyorum. Grafikler bunun 2 kat daha fazla böcek olduğunu, bununla nasıl başa çıkacağını söylüyor?


43

Bu nedenle, genel olarak üst seviye programcıların, ortalama akranlarına göre daha fazla / daha iyi kod sırası üretebilecekleri kabul edilir .

Ayrıca, genel olarak kodda yapılan hata oranlarının programcılar için sabit olduğu kabul edilir .

Bunun yerine, kodu yazarken ve kod yazıldıktan sonra kullanılan işlemlerden etkilenme eğilimindedir . (Anladığım kadarıyla) İnsanlar hataları oldukça sabit bir hızda yapma eğilimindedir - daha iyi programcılar sadece daha fazlasını fark eder ve düzeltmek için daha hızlıdır.

  • Yukarıdaki iddiaların her ikisinin de Steve McConnell'in Code Complete'ten geldiğine dikkat edin - bu nedenle farklı bakış açıları meselesi değildir.

Bu yüzden son zamanlarda kodumda görmeye başladım. Daha yüksek kalitede (performans ölçütlerine ve check-in sonrasında yapılan değişiklik sayısına bağlı olarak), akranlarımın çoğunun (takım tarafından tahmin edilen hikaye noktalarıyla ölçülen) yaklaşık 4-5x kod miktarını çıkarabilirim. Ama yine de hata yapıyorum. Daha iyi ünite testleri arasında, kodun ne yaptığını daha iyi anlamak ve kod incelemeleri yaparken sorunlara daha iyi bakmak için hataların 4-5 katını üretmiyorum.

Ama hala QA'nın ekibimdeki diğer geliştiricilerin iki katı kadar hata üretiyorum . Tahmin edebileceğiniz gibi, bu teknik olmayan kişilerin metrik ölçümler yapmasıyla ilgili bazı sorunlara neden olmaktadır (okuma: patronum).

Akranlarımın oranının yarısında böcek ürettiğimi belirtmeye çalıştım (ve iki kez düzelttim), ancak iki katı ürettiğimi söyleyen grafikler olması zor bir satış.

Öyleyse, verimliliğin artmasının böceklerin artmasına neden olacağı gerçeğiyle nasıl baş edilir?


27
Ya da sadece yavaşla ki onu doğru bul.
Brandon

29
Pratik bir bakış açısına göre, kod üretmekten çok hatalardan kaçınmak için size daha fazla ödeme yapıldığı anlaşılıyor. Böylece, günün 1 / 4'ünü şirketinize kod yazarak geçirin ve günün geri kalanını kendi taraf projeleriniz için kod yazarak geçirin. Kurduğu kritere göre, patronun seni sevmeli.
Rob,

14
Topluluğumuzun neden "hızı" doğruluktan öte kutladığını pek anlamıyorum. Ve ben "hız" yazarım çünkü bunları düzeltmek için geri dönmeniz gerekiyorsa, belki gerçek "hız" dır. Sonunda, çalışma yazılımını teslim ettiğiniz için size ödeme yapılır. Kodları ortalamanın üzerinde bir hızda yazarak hatalar oluşturuyorsanız, testleri atlayarak veya gereklilikleri doğru bir şekilde anlayarak, o zaman "boş" zaman ayırın ve test / gereksinim anlayışınızı geliştirmek için kullanın (örneğin, yapıyorsunuz TDD?). Bob Amca'nın dediği gibi "hızlı gitmek istiyorsan, iyi git".
MichelHenrich,

9
Bunu düzeltmenin yolu, ölçümleri düzeltmektir.
Robert Harvey,

24
@MichelHenrich: Akranlarının yarısı oranında böcek üretiyorsa, o zaman hız sorun değil; yönetim problemdir. Bu aptal metrikleri, patronlarının yaptığı gibi okuyorsun.
Robert Harvey,

Yanıtlar:


41

Bence endişelerini karıştırıyorsun. Ve senin tarafında, değişmen gereken hiçbir şey yok .

Verimlilik, bir projenin ne kadar çabuk biteceği konusunda bir ipucu. Proje yöneticileri ve herkes projenin ne zaman teslim edileceğini bilmek ister. Daha yüksek veya daha hızlı üretkenlik, projenin daha erken teslim edildiğini göreceğimiz anlamına gelir.

Hata oranı üretkenliğe değil, projenin boyutuna bağlı. Örneğin, kod satırı Nbaşına hata olabilir Y. Bu metriğin içinde bu kod satırlarının ne kadar çabuk yazıldığını söyleyen (veya umursayan!) Hiçbir şey yoktur.

Bunu bir araya getirmek için, daha yüksek üretkenliğe sahipseniz, evet, böceklerin daha hızlı yazıldığını "görürsünüz". Ama yine de, projenin büyüklüğüne bağlı olduğundan bu kadar çok böcek olacaktı.

Herhangi bir şey varsa, daha yüksek verimlilik, proje sonunda bu hataları gidermek için daha fazla zamana sahip olacağınız veya geliştiricinin yarattığı hataları bulma konusunda daha hızlı olacağı anlamına gelir. 1


Sorunuzun daha kişisel yönlerini ele almak için.

Patronunuz, ürettiğiniz hataların aksine ürettiğiniz hataların sayısına kesinlikle bakıyorsa, bir eğitim oturumu düzenlenir. Oluşturulan hataların sayısı, destek oranı olmadan anlamsızdır.

Bu örneği aşırıya çekmek için lütfen patronuna maaşını iki katına çıkarmak istediğimi söyle. Neden? Ben oluşturduk kesinlikle hiçbir hata projenizde ve bu nedenle senden daha çok üstün programcı değilim. Ne? Projenize fayda sağlamak için tek bir kod satırı oluşturmadığım bir sorunu olacak mı? Ah. Şimdi oranın neden önemli olduğunu biliyoruz.

Ekibiniz hikaye noktası başına hataları değerlendirecek ölçütlere sahipmiş gibi gözüküyor. Başka bir şey değilse, yaratılan ham sayı ile ölçülmekten daha iyidir. En iyi geliştiricileriniz , daha fazla kod yazıyor olmalı çünkü daha fazla kod yazıyorlar. Patronunuza o grafiği attırın ya da en azından hataların yanı sıra kaç tane hikaye puanı (ya da ölçtüğünüz işletme değeri) gösteren bir seri yayınlayın. Bu grafik daha doğru bir hikaye anlatacak.


1 Bu özel yorum, beklenenden çok daha fazla dikkat çekti. Öyleyse biraz sersemletici olalım (sürpriz, biliyorum) ve bu soruya odaklanmayı sıfırlayalım.

Bu sorunun kökü, yanlış şeylere bakan bir yönetici ile ilgilidir. Tamamlanan görevlerin sayısına karşı üretim hızına bakmaları gerektiğinde ham böcek toplamlarına bakıyorlar. “Kod satırı” na veya hikaye noktalarına veya karmaşıklığa veya her neyse ölçmeye karşı saplantılı olmayacağız. Eldeki soru bu değildir ve bu endişeler bizi en önemli sorudan uzaklaştırır.

OP tarafından verilen bağlantılarda belirtildiği gibi, bir projedeki belirli sayıda hatayı yalnızca projenin büyüklüğüne göre tahmin edebilirsiniz. Evet, bu geliştirme hatalarını farklı geliştirme ve test etme teknikleriyle azaltabilirsiniz. Yine, bu sorunun amacı değildi. Bu soruyu anlamak için, belirli bir büyüklükteki proje ve geliştirme metodolojisi için, geliştirme "tamamlandığında" verilen sayıda hata göreceğimizi kabul etmemiz gerekir.

Öyleyse nihayet birkaç yanlış anlaşılan bu yoruma geri dönelim. İki geliştiriciye karşılaştırılabilir boyutta görevler atadıysanız, daha yüksek verimlilik oranına sahip geliştirici görevini diğerinden önce tamamlar. Bu nedenle, daha üretken geliştirici, geliştirme penceresinin sonunda daha fazla zamana sahip olacaktır. Bu "fazladan zaman" (diğer geliştiriciye kıyasla), standart bir geliştirme süreci boyunca sızacak kusurlar üzerinde çalışmak gibi diğer işler için kullanılabilir.

OP'yi, diğer geliştiricilere göre daha üretken oldukları sözleriyle almak zorundayız. Bu iddiaların hiçbiri OP ya da daha üretken geliştiricilerin işlerinde kayıtsız olduğu anlamına gelmez. Özelliğe daha fazla zaman harcarlarsa ya da hata ayıklamanın bu geliştirme zamanının bir parçası olmadığını öne sürerek daha az hata olacağına işaret etmek, sorulanı kaçırır. Bazı geliştiriciler diğerlerinden daha hızlıdır ve karşılaştırılabilir veya daha iyi kalitede işler üretir. Yine, OP'nin sorularına yerleştirdiği bağlantıları görün.


43
"Programlama ilerlemesini kod satırlarıyla ölçmek, uçak binasının ilerlemesini ağırlıkça ölçmek gibidir." -Bill Gates
Neil

40
Mükemmel programlar aslında ortalama programcıdan daha fazla hata üretebilir - çünkü harika programlar daha zor problemler üzerinde çalışmaya meyillidir.
hlovdal

4
Hatalar / K satırları veya hatalar / hikaye noktası makul bir oran olacaktır. Patron oran / saat oranını kullanmak istiyorsa olabildiğince hızlı koşardım.
Bart van Ingen Schenau

4
"En iyi geliştiricileriniz daha fazla hata oluşturuyor olmalı çünkü daha fazla kod yazıyorlar." hayır, hataları önlüyor ya da daha fazla özellik bitiriyor olmalılar. Genellikle bu, daha az kod yazdıkları veya hatta kodun kodlarını kaldıdıkları anlamına gelir. (muhtemelen bunu biliyorsunuzdur, tam olarak bu şekilde yazmamışsınızdır) Kesinlikle çalıştığım bazı endüstrilerde (örn. havacılık ve nükleer) önemli olan tek kod sıfır kusurlu olduğu kanıtlanmış koddur. Başka bir şey gürültü.
Pete Kirkham,

4
"Bir şey olursa, daha yüksek verimlilik, proje sonunda bu hataları gidermek için daha fazla zamana sahip olacağınız veya geliştiricinin oluşturduğu hataları bulma konusunda daha hızlı olacağı anlamına gelir." - Bence bu sahte ve daha dikkatli bir analiz gerektiriyor. Şunu koyun: Her bir özellik için daha fazla zaman harcarsa, evet, böcekleri ezmek için daha az zamanı olur. Fakat aynı zamanda kabak ezmek için daha az böcek olacaktır.
Oculus

21

Kodunuzu temizlemek, parlatmak ve test etmek için bu ekstra zamanın bir kısmını harcayın. Hala hatalar olacak, ama daha az olacak. Bu zaman alır. Kod çıkış oranınız düşecek, ancak hatasız kod çıkışınız artacak ve bu daha iyi üretkenlik sağlayacaktır. Çünkü böcekler pahalıdır.

Kodunuzu bir dalda veya bir test ortamında, etrafa atıp daha fazla böcek bulana kadar saklayabilir misiniz? Bir daldaki böcekler genellikle üretim kodundaki böceklerden daha az dalgaya neden olur.

Ama tam olarak soruna yönelen iddialarını kazmıyorum. Ve belki patronun da değil.

Her kodlayıcının aynı hataları ürettiğini sanmıyorum. İkinci bağlantınız, farklı kodlayıcı beceri düzeylerini değil, farklı dilleri karşılaştırdığı için tamamen konu dışı. Kod tamamlama, kodlayıcıların becerisinden ziyade işleme bakan bazı büyük örnek ölçümlerinden bahseder. Üst düzey kodlayıcıların daha fazla / daha iyi kod ürettiklerini söylediklerinde, bunun bir kısmı daha az hataya sahip olduğu anlamına gelir. Uygulamaya bağlıdır. Yani, evet, bunun farklı bir bakış açısı meselesi olduğunu düşünüyorum.

Sonunda, patron daha temiz kod istiyorsa, ona daha temiz kod verin.


4
+1. Diğer cevabın neden bu kadar çok olumlu oyu olduğunu bilmiyorum. Patronuna zaten iyi bir akıl yürütme vermiş gibisin ve dinlemiyor gibi. Bu nedenle daha fazla zaman testi yapın ve kod satırlarını "serbest bırakmak" için daha az zaman harcayın. Bu uygun değilse işleri değiştirin.
durron597

21

Bir uzuvdan dışarı çıkıp şeytanın avukatı olacağım. Bu, senin durumuna sempati duymadığımı söylemek değil ama, benim sempatim sana yardım etmeyecek. Öyleyse Philip'in bakış açısına eklememe izin ver :

Patronunuz ürünün kalitesini önemser, çünkü kısmen adı ve ünü ona bağlı olacaktır. Kalitenin bir kısmı algılanan hata miktarıdır . Herhangi bir rakip tatbikattan dört kat daha hızlı bir vuruş yapan ve aynı zamanda iki kez daha sık sıkan harika bir tatbikat yaparsanız, kötü bir üne sahip olursunuz. Tatbikatın daha iyi performans gösterdiği tartışılabilir olsa bile, insanlar hıza alışır, ancak arızaları hatırlarlar.

Ön görüşte, çoğu böcek açıkça önlenebilir. Keşke biraz daha dikkatli olsaydınız, patronunuz hissedecek, bu sorunları ve gerekli temizlikleri önleyebilirsiniz. Onun bakış açısına göre, sorulması çok önemsiz, duyusal bir şey ve bu konuda yaptığınız herhangi bir şey hem işe yaramayacak hem de sizi kötü gösterecek.

Üstün üretkenliğini ölçemez. Doğrulanabilir bir metriğe dayalı olarak daha yüksek üretkenlik talep edersiniz, meslektaşlarınız bu konuda ne düşünüyor? Belki de isteksizce daha üretken bir programcı olduğunuzu veya sizce yalnız mı olduğunuzu kabul ediyorlar mı? İddialarınızı destekleyecek başka insanlarınız varsa, daha güçlü bir noktaya değineceksiniz.

Bu perspektif için. Şimdi, içinde bulunduğunuz bu sinir bozucu durumu 'nasıl' düzeltirsiniz?

Biraz yavaşla. Hata oranını (*) düşürmeye çalışacağınız görevleri kimin dağıtdığını açıkça belirtin, böylece daha düşük alım miktarınız sizi şaşırtmaz. Eğer bir şey olursa, yavaşlamak, arz eksikliğinden size verilen hata sayısını azaltacaktır.

(*) Orada olduğunu kabul, bir taraftan arasında bir fark var olan var olduğunu kabul, diğer taraftan, adınızın böcek ve o tutarı azaltmak çalışacağımız anlamına ve çok fazla adınızın böcek ve gerektiği harekete geç.

Patronunu ikna etmeye çalışmayın , çünkü işe yaramaz. Yine, bu, amacınızı kabul etmeniz gerektiği anlamına gelmez ; Endişelerini reddetmeden bir karşı taraf sunabilir ve görüşünüzü saklayabilirsiniz. Çünkü, noktayı savunuyorsanız ve üstün verimliliğinizi (ve yapabilirseniz bile) tatmin edici bir şekilde ispatlayamazsanız, meslektaşlarınıza hakaret etme veya onları küçümseme riskiyle karşı karşıya kalacaksınız. O adam olmak istemiyorsun .


4
En sevdiğim cevabı ve ayrıca eklemek istediğim bir noktaya en yakın olanı: Tamamlanmış sayıda öykü noktasının değeri nedir ve bir hatanın şirkete maliyeti nedir? OP, patronların öncelikleri tarafından ağırlıklandırılan şeylerle, aslında diğer aygıtlardan iki kat daha fazla kod oluşturmanın daha üretken olduğunu, ancak daha az kusurlu olduğunu görebilir.
Neil Slater

2
Tatbikat hakkındaki düşüncen bir çok şeye bağlı. Özellikle, görev döngüsü. Bir matkap 7/24 çalışıyorsa ve dört kez hızlı çalışıyorsa ve iki kez daha sık sıkıyorsa, ÇOK DAHA FAZLA matkabının verimliliğini göz önünde bulundurmalısınız. Çünkü normal bir tatbikatın iki katından daha az bir maliyeti varsa ve onu kullanmaya başladığınızda daha iyi bir değerdir. Bilirsin, ekonomi. Ona işinin değerini, maliyetine kıyasla düşünmesini söyle. Yararı maliyet oranı, emsallerinin iki katı kadardır.
nomen

1
@ Kadınlar, ama katılıyorum: insanlar kesinlikle bunu göz önünde bulundurmalıdır. Ama onlar?
JvR

20

Çalışma arkadaşlarınız gibi aynı "miktarı", zamanlarının% 20'sinde ürettiğinizi varsayarsak, kodu gerçekten hata ayıklamak ve kusursuz hale getirmek için 4 kat daha fazla harcama yapabilirsiniz, bu da hata oranınızı daha da azaltacaktır. O zaman kendine iyi bir programcı diyebilirsin.

En büyük soru, kaliteyi amaçlamak yerine neden diğerlerinden 5 kat daha fazla kodladığınızdır. Bu, egonuzun sizi belirlediği bir şey midir, yoksa patronunuz sizi zorlar mı?

Ayrıca bir hatayı düzeltmek için maliyetleri göz önünde bulundurmanız gerekir. Erken bulduğunuzda, hızlı bir şekilde düzeltmek için yeterli kodun "içinde" olabilirsiniz. Sadece bir aylık gelişimden sonra ortaya çıkarsa, sizi zaten programlanmış kodun büyük bölümlerini değiştirmeye zorlamak hatta zorlamak olabilir.

Kod üretme becerisine sahip görünüyorsunuz ve odak noktanızı hız yerine kaliteye odaklarsanız, bunu harika yapabilirsiniz. Bir süre dene, sanırım seveceksin.

Bir sonraki sorun, daha iyi performansınız için onay almanız (para konuşmanız). Patronunuzla konuşun ve nasıl ilerleyeceğini sorun, sonuçta onun şirketi ve parası ve daha az böcek üretmenizi istiyorsa, bunun nasıl olacağına da karar vermesi gerekir.


11
OP, diğer ekip üyelerinin hikaye puanlarının% 500'ünü, her hikaye noktası için% 60 daha az kusurla teslim ediyor ve çalışma şeklini değiştirmek mi istiyorsunuz?
Justin,

6
En büyük sorun, kaliteyi hedeflemek yerine neden diğerlerinden 5 kat daha fazla kodladığınızdır […] odağınızı hız yerine kaliteye odaklayın ” - Günümü yaptım, dostum. Bunu her kim oyladıysa: Lütfen temel matematik ödevlerinizi yapın. Açıkça söylemek gerekirse: Hemen OP'yi işe alırdım ve sizi işe almayı reddederdim.
JensG

1
Matematik yanlış olabilir ama bence bu geçerli bir konu. Şu anki şirketimde daha yüksek kalitede çalışmayı hedefleyen birini işe almayı tercih ederim. Gereksinimler, özellikle sektöre ve şirket büyüklüğüne göre değişmektedir.
Michael Durrant

1
İnternetten şikâyet etmek yerine patronunun yapmasını istediği şeyi yapan birini işe almayı tercih ederim. Bazen patron en iyisini bilir.
Dawood, Monica'nın

8

Geliştiriciler, İYİ geliştiriciler olmadan, yalnızlığı anlama ve kodlama yeteneğine sahip, dahi dahi parlak olabilirler. İyi bir geliştirici kaliteli bir iş yaratır ve tüm projeyi daha iyi hale getirir.

Bunun sen olduğunu söylemiyorum, ama beraber çalıştığım en sinir bozucu programcılardan biri takımdaki herkesten daha fazla kod yazdı ve takımda iyi insanlar vardı. Bir sıralama yazılımıyla taahhütleri takip ettik, bu yüzden bazı insanlar için neredeyse bir rekabet oldu. Kod parçalarını çaldı, arkasında SIFIR belgelerini bıraktı, geçilmez ormanları ve gerçekte kendi kodumu anlamasını zorlaştırdı (bunu kendi başıma yapabilirim, çok teşekkür ederim!). Sonunda projeyi raydan çıkardı çünkü tek kişilik bir gösteri oldu. İnsanlar onu takip edemedi. Takım olarak senkronize değildik. Aslında, özelliklerinin bir kısmını yıllar sonra yeniden yazabildik, sadece sürdürülebilirliği yeniden elde etmek için.

Ondan istediğim şey yavaşlamak ve daha fazla zaman harcamaktı: 1) Kod tabanının kalitesini arttırmak 2) Takımla iletişim kurmak 3) Başkalarının yanı sıra özellikleri / hikayeleri bitirmesine yardımcı olan şeyler üzerinde çalışmak 4) Düzeltme böcek

Verimliliği kod satırlarıyla ölçmekle aynı fikirde değilim, ancak bu önemli bir ölçümdür. Kod sayacınız yorum içeriyor mu? Öyleyse, "hata oranınızı" azaltırken satır çıktınızı korumanın kolay bir yolu vardır; sadece yazdığınız yorumların kalitesini ve miktarını artırın. Yorumlar, nadiren (yapabildikleri halde) hatalara sahiptir ve genel olarak, yeterli kalitede yorumumuz yoktur. Ben am değil kod enflasyonu condoning ancak yorumlama eylemi mini kod incelemesi gibi, bu size, Refactor düşünmek ve geliştirmek zorlar.


1
İyi bir nokta. Yorum ekleme konusunda hemfikir değilim (çünkü daha net, daha okunaklı kod daha iyidir) ve kod satırlarıyla değil öykü noktasıyla ölçtük. Bu konuda iyi bir iş çıkarmışım gibi hissediyorum (kod incelemeleri, insanları net bir şekilde açıklamama yardımcı oluyor), ama + 1 çünkü kesinlikle herkes yapmıyor.
Telastyn

1
Yorum / kabartmak yorum eklemek istemiyorum. Az önce sizin gibi olduğumuzu ve yeterince yorum yapmadığınızı varsaydım. Evet, değersiz yorumlardan uzak durun, özellikle iyi bir mizah olmadığı sürece, özellikle fantezi sanat, :) :)
codenheim

4
Tecrübelerime göre yorumlar sıklıkla hatalar içeriyor.
Dawood, Monica

Fonksiyonel, ölçülebilir tür değil ...
codenheim

6
@DavidWallace, deneyim kodumda sık sık hatalar var. Yazmayı bırakman anlamına gelmez.
Charles E. Grant,

4

Yönetimi aydınlatmaya çalışmak bir başlangıç ​​değildir. Eski bir klişe var, "Bana veya yalancı gözlerine inanacak mısın?" Patronlarını endişelendiren şey böcek sayıları. Hiçbir rasyonalizasyon miktarı onlara kabul edilebilir olduğunu söyleyemez. İki katından daha riskli. Ayrıca, böcek sayınızdan etkilenen tek kişi siz değilsiniz. KG’de, hatalarınızı tanımlamaya çalışan iki katı çalışma var; bu nedenle yönetim, onlardan daha az kazanmanızı isteyecek.

En iyi çözüm, ürettiğiniz böcek sayısını azaltmaktır . Sadece yönetim daha mutlu olmakla kalmayacak, aynı zamanda siz de olacaksınız. Değil mi? Eğer dört kat iş arkadaşlarınızı daha iyi performans övünme zevk döndüğünce eminim Çünkü, diye seviyorum yaptıkları hatalar daha, bunu daha az aynı sayıda yapım veya yapmak demek.

Sizin de belirttiğiniz gibi, “… kodda yapılan hataların oranı… kodu yazarken ve kod yazıldıktan sonra kullanılan işlemlerden etkilenme eğilimindedir”. Hata üretme oranını değiştirmek istiyorsanız, kod yazmak için kullandığınız işlemleri değiştirmeniz gerekecektir.

Programcılar kod üretmek için üretim yöntemlerini kullanırlar, çünkü bir montaj hattı seri üretilen bazı nesneleri üretmek için yöntemler kullanır. Tamam, yazılım endüstrisinin uygulamaları daha çok ormanda bulunan dallardan gelen tırtıl trikolar gibidir. Ancak, makineler ürettiğimizden beri, seri üretimin yüksek hızlı makineleri için kullanılan aynı titizliği ve disiplini kullanmalıyız.

Bu, hata oranını azaltmak için seri üretimde kullanılan tekniklerin aynısını içerir: neden böceklerin yapıldığını belirlemek için kök-neden analizi ve işlemi öyle yapmamak için değiştirin. Ya da en azından QA'dan önce yakaladığınız.

  1. Hatalarınızın bir listesini yapın. Muhtemelen QA adamlarına zaten bir tane teşekkür etmişsindir. Muhtemelen de kategorize. Böceğin türü, ciddiyeti, böceğin koda enjekte edildiği nokta vb.

  2. En büyük hata kategorisini seçin. Hacminiz çok yüksek olduğundan, önce o kategoriyi hedeflemelisiniz. Diğer kategoriler arasında bulması en kolay olanları ve yapmak için en kolay olanları içerir.

  3. Bu hataların koda nerede girdiğini bilmek, bu aşamada (ve daha erken) bu değişikliklerin gerçekleşmesini önleyen değişiklikler ve bu aşamada onları daha kolay yakalamanın yollarını araştırmaya bakın.

  4. Programlama ile ilgili olmayan olaylara baktığınızdan ve işinizin kalitesinde bir fark yaratabileceklerinden emin olun. Fon müziği, kesintiler, yemek zamanları, ara vermeden çok uzun süre çalışmak, açlık, vb.

Bulduğunuz şey daha yavaş gitmenize neden olabilir. Öte yandan, daha önce üretmenize yardımcı olabilir, çünkü daha önce geride bıraktığınız işleri yeniden işleme gereksiniminiz daha az olacaktır. Olduğu gibi, dört kat daha fazla kod, iş arkadaşlarınızdan daha iyi bir büyüklük sırasına yakın değildir, bu nedenle işleminizi değiştirmek kesinlikle kesin bir yoldur.


3

Hedefinizi en çok kodu üretmekten, şirketin en çok ilerlemesine yardımcı olmak için değiştirin.

Çok fazla iş arkadaşınız ve fazladan zamanınız var gibi gözüktüğü için, özelliklerin ve hata düzeltmelerinin daha hızlı bir şekilde yapılmasında en çok etkisi iş arkadaşlarınıza yardımcı olmaktır.

Meslektaşlarınıza yardımcı olun

  • kod kalitesini ve eğitimini geliştirmek için kod incelemelerini kullanmak.
  • işlerini ve hayatlarını kolaylaştırmak için süreç otomasyonu oluşturmak.
  • onlarla daha iyi testler yazmak
  • kod tabanını iyileştirmek için teknik koda saldırmak
  • Başkalarına yardım etmek için her zaman müsait olan go-to-go.
  • geliştirici verimliliğine yardımcı olan araçlar yazma / geliştirme
  • Daha fazla güvenceye sahipseniz, iş arkadaşlarınız için daha iyi araçlar / ekipman / çalışma koşulları için durum yönetimi.
  • daha iyi kod yazma konusunda eğitim oturumlarına hazırlık ve liderlik yapmak.
  • tevazu pratiği

1

Öyleyse, verimliliğin artmasının böceklerin artmasına neden olacağı gerçeğiyle nasıl baş edilir?

Patronunuz, sizin durumunuzda buna cevap verebilecek tek kişi. Onunla konuş, daha iyi oranını göster ve karar vermesine izin ver. Kararı bir anlam ifade etmiyorsa, kendi tarzınıza göre bir şirket aramanın zamanı gelmiştir.

Profesyonel olarak, herhangi bir müşteri koşuluyla çalışabilmeniz gerekir, sonuçları anladıklarından emin olun. Güzel bir hata / hikaye tablosu, daha az hata üretmek için zaman harcarsanız patronunuzun verimliliğinizi ne kadar azaltacağını anlamasına yardımcı olabilir.

Ayrıca şu noktaları göz önünde bulundurmanız gerekir:

  • hikayelerin karmaşıklığı, örneğin istatistiksel hesaplamalar veya gerçek zamanlı programlamaya karşı basit alıcı / ayarlayıcı sarmalayıcılar, hatta gerçek zamanlı istatistik ...
  • hataların ciddiyeti, metin alanlarındaki küçük yazım hataları mı, yanlış hesaplama sonuçları mı, program çöküyor mu?
  • hataların giderilmesi, hem şimdi yaparsanız, sonra da, ya da bir başkası kodunuzu anlamak zorunda kalırsa gider

0

Durum, ortalama programcının dört katı kadar hızlı çalışmanız, ancak belirli bir sürede iki kat daha fazla hata yapmanızdır. Yaptığınız iş miktarına göre, aslında YARIM'ı “ortalama” kadar hata yaparsınız.

Hata oranınızın çalışma oranına, hatta tamamlanmış ürüne yapılan hatalara (normal zamanın dörtte birinde tamamlayabileceğiniz) dikkat çekmeye çalışabilirsiniz. Çoğu patron bunu kabul eder.

Her seferinde bir "ödenek" yanlışlığı ile çalıştıkları için olmayacak birkaç patron var. Ardından, çalışma hızınızı yavaşlatabilir, belirli bir süre içinde ortalama İKİLEŞTİRME yaparak aynı sayıda (veya daha az) hata yaparak işinizi kontrol etmek için daha fazla zamanınız olabilir.


0

Patronunuz işinizin kalitesini yükseltmenizi istiyorsa, işinizin kalitesini iyileştirin.

Bir sonraki en iyi programcının iki katı kadar üretmeyi değil, sıfır hata hedeflemelisiniz.


6
Sıfır hatalar, çoğu zaman maliyet açısından etkin olmayan büyük ölçüde erişilmez bir hedeftir .
Telastyn

7
Bu, hata oranınızı azaltmamak için bir bahane değil. Patronunuz daha iyi kodlar üretmenizi istiyorsa, daha iyi kod üretmenin zamanı geldi, bunun için mazeret değil.
Dawood, Monica’nın

4
Sadece sıfır hata hedeflemelisin dedim , bunu başarmalısın. Okçuluk düşünün. Okçulukta iyi değilim - hedefin ortasındaki "10" harfini hiç almadım. "7" halkasını hedeflemeli miyim, çünkü "10" çok zor olacak mı?
Dawood, Monica'nın

6
Evet, ama patronun işinin "yeterince iyi" olmadığını söylüyor. Başka bir deyişle, daha iyisini yapmalısın. Daha iyisini yapamaman için iyi bir sebep vermedin. Tüm bu tartışma bana birisinin böcek basması kodu üretmek için mazeret yaratmaya çalıştığı gibi geliyor. "Çok yavaş geliştiricilerden oluşan bir ekibim var ve bu yüzden diğer herkesin iki katı hata yapmak zorundayım". Lütfen!
Dawood, Monica'nın

3
Her sürüm döngüsünde, arkadaşlarınızdan iki kat daha fazla hata üretiyorsunuz. Hatalar bulmak pahalı ve düzeltmek için pahalıdır. Bu yüzden patronunuz, hatalarınızın üstesinden gelmek için kaynakları bütçelemek zorundadır; ve bir sonraki adamın böceklerine göre böceklerin iki katı. Bu nedenle, patronunuz, ekibinizin geri kalanının ne yaptığından bağımsız olarak daha az böcek üretmenizi istiyor. Belki de ekibin geri kalanından daha fazla deneyime sahip olduğunu ve bu yüzden daha az böcek üretebilmesi gerektiğini biliyor. Her durumda, neden daha az böcek üretmenizi isteyen bir patron sahibi olmaktan şikayetçi olduğunuzu anlamıyorum.
Dawood, Monica'nın

0

Patronunuza, kullandığı metriklerin oldukça hatalı olduğunu söylemelisiniz. Cirolara NBA’deki gardiyanlar bakarsanız, onların öne çıktıklarından daha fazla sayıda olma eğiliminde olduklarını göreceksiniz. Fakat bunun nedeni topu daha fazla kullanmalarıdır. Eğer başlangıçsız bir koruma, başlangıç ​​korumanın 1 / 5'i kadar oynarsa ve topu ortalama 3 kez döndürür. topu oyun başına 7 defa döndüren bir başlangıç ​​görevlisi - ilk bakışta başlangıç ​​görevlisi daha kötü görünebilir. Ancak ciro sayısını oynanan dakika sayısına bölerseniz, başlangıç ​​görevlisinin oynanan dakikalara göre çok daha iyi sayıları vardır.

Aynı şekilde, eğer böceklerin sayısı tamamlanan hikaye puanlarının sayısına bölünmüşse, çok daha iyi numaralara sahipsin. Demek yöneticinize önereceğim şey bu. Ölçülen tamamlanan öykü noktalarına bölünen hataların sayısı olacak şekilde metriği değiştirin veya geliştirici başına toplam hata sayısına ihtiyaç duyulursa, en azından bunun için yeni bir ölçüm ekleyin. Ancak, bazı hikaye noktaları diğer hikaye noktalarından çok daha zor ve daha karmaşık olduğu için, biraz farklılık gösterebilir ve olacaktır ve bunun da yönetici tarafından dikkate alınması gerekir.

Yapmamam gerektiğini düşündüğüm şey yavaşlamak.


0

Ölçüm değeri eklendi

Gerçekten önemli olanın eklediğiniz değer olduğunu iddia edin. Sonra gidip bunun kaba (manuel) ölçümünü yapın:

  • Ürettiğiniz işlevselliğin değerini tahmin edin
  • Maaşını al
  • Hatalarınızın tahmini maliyetini çıkarın (en azından bunları düzeltmenin maliyeti)
  • Ürettiğiniz diğer tüm Teknik Borçların tahmini maliyetini çıkarın

Kalan, katma değerinizdir. Aynı şekilde herkes için.

Bu tahminler zordur, ancak kaba olanlar bile bu konuyu açıklayabilir. Ve bu tahminleri tartışmanın yalnızca süreci ekip ve proje için kullanışlıdır.


-1

En iyi programcılar, hata ayıklamak ve anlamak kolay olan çok düzenli bir kod yazma eğilimindedir, kullanılabilir araçlar (statik analiz, derleyici hataları, hata ayıklama kodu) maks. Ayrıca, en iyi programcılar zaten zorlu deneyimlerle birim testinin değerini öğrendiler.

Bu nedenle, satır başına başlangıçtaki sorun miktarı aynı olsa da, sorunlar daha hızlı çözülür.


Bu soru bunun işe yaramadığını gösteriyor: "Akranlarımın yarısında böcek ürettiğimi (ve iki kat daha fazla) ürettiğimi belirtmeye çalıştım, ancak ürettiğimi belirten grafikler varken zor bir satış oldu birçok hatadan iki katı ... "
gnat

Bu göreceli ve oldukça öznel, değil mi? "Normal" kodun ne anlama geldiğini bilmiyorum. Üst düzey programcıların, kendileri için mevcut olan tüm kütüphaneleri ve dil yapılarını, üretkenlik ve ifade edilebilirlik açısından maksimum fayda sağlayacakları şekilde kullanmaya çalıştıklarını, bu da kodun diğer yüksek işleyen programcılar tarafından anlaşılmasını çok kolaylaştıracak ... Orta ila orta arası programcılar, özellikle daha gelişmiş mimari kavramlara, kontrol akışına, veri yapılarına aşina olmayanları ... anlamak çok zor olabilir.
Aaronaught

IMHO, büyüklük, uzun süredir izlenen kayıtlar tarafından tanımlanmaktadır ve canlı yazılım mühendislerinin% 90'ı hiçbir zaman harika olanlarla tanışma şansı bulamamıştır. İzlenimlerimi üzerinde çalıştığım iki harika programcıdan özetlemeye çalıştım. "Düzenli" kod şu anlama gelir: (a) aynı şeyler tüm üretilen kod boyunca aynı şekilde yapılır, (b) bir düzenlemeyi yorumlamak kolaydır, ve (c) kesinlikle "diğer" tarafından anlaşılması kolaydır. işleyen programcılar ... ".
zzz777
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.