Geliştiricilere hata önceliklerini nasıl etkiler ve onlara göre nasıl davranılır?


14

Şu anda çalışmakta olan bir hata sürecimiz var.

3 hata seviyemiz var:

  • P1 hatası: Kullanıcıların çalışmasını engelleyen hatalar. Onlar yerinde çözülmelidir.
  • P2 hatası: Etkileyen ancak kullanıcılar çalışabilecek hatalar
  • P3 hatası: Etkilemeyen ve kullanıcıların çalışabileceği hatalar.

P1 zorunludur ve yerinde ele alınması gerekir. Ancak P2 ve P3 için, duruma göre karar veriyoruz.

Sahip olduğumuz 3 seviye ile, ekip, neredeyse acil olmayan P2 ve P3 ile uğraşmak yerine, müşteriler tarafından sorulan daha acil yeni gelişmeler üzerinde çalışmak için tendanliğe sahiptir.

Sorular aşağıdaki gibidir:

P4'e sahip olmak gibi başka bir öncelik düzeyi eklemeli miyim?

Bu haftaki gibi acil olmayan biletlerle ilgilenmek için onlara hedefler atamalı mıyım, bir kodlama görevi atamadığınızda en az 1 P2 mi tedavi etmelisiniz?

Şu anda, yukarıda dile getirdiğim gibi hedeflerimiz yok ama endişem onlara bu hedefleri vermenin acımasız olabileceğidir. Kesin olan şey, onlarla hedefler hakkında konuşmam gerekiyor, takım özellikle hedefler belirlerken tartışmaya katılmayı seviyor.

Güncelleme:


Benzerlik açısından bu soruyu önerdim . Ancak bu hiç de benzer değil.

Benim sorum, insanların katı bir gündemde bulunmadan ve henüz çözülmemiş böceklerle nasıl başa çıkmaları gerektiğidir. Yani hayır, ima edilen soru bana yardımcı olmuyor. Yine de, teşekkür ederim.



1
Genellikle öncelik seviyesi, öncelik sıralaması kadar kullanışlı değildir ... "bug X", "bug Y" den daha önemlidir. p4 eklerseniz sonunda p5 ve p3.5 isteyeceksiniz
sudo rm

2
Tüm geliştiricileriniz P2 / P3 üzerinde çalışmak yerine her zaman onları düzeltmekle meşgul olacak kadar çok P1 hatası varsa, çok yanlış bir şey yapıyorsunuz . Bir süre daha fazla özellik eklemeyin. Neredeyse kesinlikle bu hataların çoğuna neden olan mimari (veya personel) sorunlarının giderilmesine ve düzeltilmesine odaklanın. Örneğin, C ++ ile kod yazıyorsanız, el ile yapabileceğiniz her yerde RAII kullandığınızdan emin olun .release().
Monica'nın Davası

Amacın ne? Geliştiricilerin hata düzeltmeleri üzerinde daha fazla ve yeni özellikler üzerinde daha az çalışmasını istiyor musunuz? Açıklığa kavuşturmak için lütfen sorunuzu düzenleyin. Ayrıca, lütfen geliştiricilerin şu anda nasıl çalıştığını veya işe nasıl geldiğini açıklayın. Neyin üzerinde çalışılacağına karar vermek için ne kullanılır?
sleske

özellik, hata, ne adlandırırsanız değiştirin, yazılım ihtiyacı olan şeyi yapmaz. Bir hata ile bir özellik arasındaki tek fark, bunun bedelini ödeyen kişidir.
mattnz

Yanıtlar:


30

Genellikle hatalar için iki eksen vardır: yerçekimi ve frekans.

Yani açıkçası, sık ve sık görülen bir şey en yüksek önceliğe sahiptir. Bununla birlikte, ciddi olan ancak nadiren gerçekleşen bir şey, ciddi olmayan ancak sık sık gerçekleşen bir şeyle kabaca tartılmalıdır. Bu nedenle, yerçekimini 1'den 3'e ve frekansı 1'den 3'e kadar derecelendirdiğinizi varsayalım, muhtemelen düzeltmeniz gereken hata türleri, yerçekimi 1, frekans 3 ve yerçekimi 3, frekans 1 ile tanımlanan diyagonalden geçenlerdir.

Bir engelleme hatası veya istemci bilgisinde potansiyel hasar oluşturabilecek bir hata her zaman bir yerçekimi 3 olacaktır. Benzer şekilde, yerçekimi 1 ile ilgili bir hatanın kullanıcı tarafından fark edilmesi olası değildir veya önceliği düşüktür. Burada emin değilseniz, 2 muhtemelen atamak için güvenli bir sayıdır.

Kullanıcının her program başlatıldığında gördüğü bir hata 3 sıklığına sahip olacaktır. 1 numaralı bir hata, nadiren de olsa meydana gelen bir şey olacaktır. Yine, emin değilseniz, 2 muhtemelen atamak için güvenli bir sayıdır.

Çoğunlukla yerçekimi 3 ile bir hata veya frekans 3 ile bir hata neyin oluşturduğuna özneldir, ancak sağduyunuzu kullanın. Yerçekimi 1 olan bir hata, frekans 2 belki yanlış yazılmış bir etikettir. Yerçekimi 2, frekans 1 olan bir hata, veritabanı bağlantısı kesildiğinde doğru hata işleme olabilir.

Yine, bu sadece kaba bir fikirdir, ancak fikir, bir tür triyaj olarak hata düzeltmeye odaklanılması gereken noktaya vurgu yapmaktır. Açıkçası, tüm hataları ortadan kaldırmak, engellemek veya başka türlü ortadan kaldırmak mümkün değildir, ancak en azından bu yöntemle, hataların çok sıkışmadığını veya çok sık olmadığını güvenle söyleyebilirsiniz. Eğer yalnızca hataları engelleyen hatalar giderilmiştir, o zaman yüksek frekanslı hataları göz ardı edilecektir ve kullanıcılar olacak bu hataları düzeltmek vermedi dikkat edin.

Ayrıca, kolaylık sağlamak için, yerçekimi veya frekans için harf notları vermeyi tercih edebilirsiniz, böylece bir hatanın B3 hatası olduğunu ve hem yerçekimi hem de frekansı açık olduğunu söyleyebilirsiniz.

İyi şanslar!


3
Gerçekte, hatalar için yalnızca bir metrik vardır - YG - şirketin düzeltmemek için ne kadar kaybettiğine kıyasla düzeltmenin maliyeti ne kadardır. Bunu özelliklerle karşılaştırın. Tabii ki, bu metriğin yerçekimi, frekans,
vb.İle

3
@corsiKa, evet YG, bileşik bir metriktir: "getiri" ve "yatırım". Ve böcekler için geri dönüş, "yerçekimi" ve "frekans" ın bir bileşimi olarak modellenebilir.
Paul Draper

11
@corsiKa, kalite kararlarının bu tür soğukkanlı bencilce analizleri aslında son derece sorumsuz. Aynı mantık, ilaç şirketlerinin "ondan kurtulabilecekleri" veya yan etkilerin ciddiyetine ve sıklığına rağmen piyasada karlı ilaçlar tutabilecekleri etkinlik test yasalarını atlatmalarına yol açan mantıktır. Güvenli olmayan tüketici yönlendiricileri ve "akıllı" cihazlardan oluşan geniş botnet'lere yol açan aynı sorumsuzluk, çünkü üretici iyi bir güvenlik içinde dolar değeri göremedi. Yerçekimi ve sıklık, "kâr etkisi" nden çok daha iyi metriklerdir.
Wildcard

3
@Wildcard Kelimenin tam anlamıyla bir komünistim, bu yüzden% 100 size daha iyi olduklarını kabul ediyorum. Bu, yazılım şirketlerinin böyle yönetildiği gerçeğini değiştirmez ve şirketi yönetmediğiniz sürece bu gelgit karşısında sizi boğar. Dikkat çekmeye değer olsa da bencil değil. Bu tek kişilik, ama bu bekâr benlik değil, şirket. Sadece, oraya atarım.
corsiKa

1
@Wildcard ve corsiKa şirket büyük değil ve "oh para kaybedeceğiz, o zaman hadi başka bir şey yapalım" diyemeyiz. Bununla birlikte, büyük şemada, bahsettiğiniz yaklaşımın uzun vadede sürdürülebilir olduğuna inanmıyorum. İnsanlar - Müşteriler aptal olmaktan uzaktır. Sun'a böyle bir müjde olan Vaaz'ı veren şirketler artık burada değil. Paranın bu şekilde kazanılmayacağı kadar uzun süre hesap yönetiminde çalışıyorum. Kimseye, eğer şirketin sadakatten yoksun olduğu bir şirkette çalışıyorsanız 1 / n
Andy K

24

Bu gerçekten daha önemli olduğunu düşündüğünüz şeyle ilgilidir. P2 hatası mı yoksa yeni özellik mi?

Genellikle çevik bir proje yönetim sistemi, görevlerin öncelik sırasına göre sıralandığı ve bu sırayla üzerinde çalışıldığı bir tür önceliklendirme toplantısı içerecektir.

Geliştiricilerin üzerinde çalıştıkları görevleri seçmelerine izin verilmez. Bu proje yöneticisinin işi. Bütçe tükenmeden önce projenin mümkün olan en fazla sayıda önemli özelliğe sahip olmasını sağlamak zorundadır.

Bu gerçekten en önemli şey. "Haftada en az 1 P2 düzelt" gibi basit kurallar bu hedefe gerçekten yardımcı olmaz.


5
Öncelikleri atamayla ilgili sorun, seçtiğiniz kova ayrıntı düzeyi ne olursa olsun, her kova için birden fazla sonuç almanızdır. Bir şeyleri sıraya koymanız gerekir, sadece "tüm bunlar ÖNCELİKTİR!"
Ewan

6
@Ewan Ayrıca, en yüksek grubunuzun ele almayı umabileceğinizden daha fazla sayıda konuya sahip olduğu ve hata izleme sisteminin dışında yeni öncelik düzeylerinin bulunduğu öncelikli enflasyon olasılığı da vardır. İnsanların P eksi 2 konularından bahsettiklerini duydum.
kasperd

2
Geliştiricilerin üzerinde çalıştıkları görevleri seçmelerine izin verilmediğini söylemek verimliliğinize zarar verecektir. Bir geliştirici üzerinde çalıştıkları en yüksek öncelikli sorun nedeniyle engellenirse, bu arada başka bir sorun üzerinde çalışabilirlerse, ilk sorun bir şeyde engellenirken hiçbir şey yapamayacaklarından daha iyidir. Ayrıca, kullanıcılara zarar vermeyen ancak geliştirici verimliliğine zarar veren sorunlara genellikle olması gerektiği kadar öncelik verilmez. Son olarak, geliştiricilere kendi kararlarını almalarına izin verilmediğini söylemek motivasyonu yok etmenin kesin bir yoludur.
kasperd

3
@kasperd Çoğu geliştiricinin teknik süper dehaların yanı sıra çalışan olduklarını ve işverenlerinin önce hangi görevlerin yapılması gerektiğine karar vereceğini kabul ettiğini düşünüyorum. Biri engellendiyse, bir sonraki en önemli noktaya inersiniz, ancak havalı olan üzerinde çalışmak için 10 önemli görevi atlamazsınız.
Ewan

1
Eğer iş tamamlanırsa veya engellenirse, sprint'e başka bir gelişimsel görev çekmek yerine (scrum yaparak) bir hatanın öncelikli olması gerektiğini fark ettim. MS , Windows 2000 üzerinde çalışırken tüm hatalara herhangi bir geliştirme görevine göre en yüksek önceliği verdi - hata vermeyen yazılımlar (2000'in gerçekten sevilmesinin nedenlerinden biri) üretmenin en iyi yolu olduğunu buldular , genellikle üzerinde çalışılması gereken bazı yeni gelişmeler olduğu için hatalar sola dönme eğilimindedir.
Baldrickk

1

Bir yazılımın bir şey verene kadar kritik olmayan hataları biriktirmesi oldukça yaygın bir döngüdür, o zaman büyük bir olay gerçekleşir ve birçoğu bir seferde sabitlenir; belki de büyük bir yeni sürümden önce bir hata ya da iki hatayı düzeltmeye ayırarak ya da yazılımın EOL olması ve yığın hatalarını atlatması olabilir.

Yani geliştiricilerin kaymasına izin veriyorsa iyi bir şirkettesin. Tabii ki, bahsettiğiniz gibi "kurallar" ile dolaşabilirsiniz ("yeni bir özellik üzerinde çalışmıyorsanız, haftada en az bir P2 üzerinde çalışmalısınız"), ancak bu muhtemelen sizi popüler olmayacaktır.

Benim sorum, insanların katı bir gündemde bulunmadan ve henüz çözülmemiş böceklerle nasıl başa çıkmaları gerektiğidir.

Bunun yerine, genel zihniyeti biraz değiştirmenizi ve birikmiş iş yerinizde birinci sınıf vatandaş olmaları açısından hataları daha çok özellik gibi yapmayı öneririm. Evet, yeni özellikler harika; evet, yönetim ve satışlar yeni özellikleri çok zorlamaktadır. Ancak, büyük bir dağınık böcek yığını yerine istikrarlı, iyi işleyen bir uygulamaya sahip olmak da önemlidir.

Geliştiricilerinize sevmedikleri işleri yapmaları gerektiğini söyleme; ama böcek üzerinde çalışmak gibi ortam değiştirmek için çalışın. Hatasız bir uygulamada gurur duygusu aşılamaya çalışın. Bir böcek üzerinde çalışmayı, özellikle varsa bu hata tezahürünü (yani, sadece hızlı geçici çözümler / hackler değil) oluşturan temel nedeni düzeltmelerine izin vererek daha eğlenceli (sic) yapın. Bazı kırık sınıf yapılarını sökmek ve yerine daha uygun bir şey koymak, geliştiriciler için çok eğlenceli olabilir. Böceklerin başka yerlerde düzenli olarak tezahür etmesini sağlayan bazı kırık merkezi parçalarınız varsa, merkezi parçayı sabitleyin.

Hedefinize nasıl ulaştığınız büyük ölçüde kendi karakterinize ve takımlarınızın karakterine bağlıdır - onları ulaşmak istediğiniz şeye kandırmaya çalışmayın, ancak açık tartışmalara sahip olun, akran etkisi yaratmaya çalışın, gelmelerine izin verin bir çalışma sürecinin kendileri vb.

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.