Diğer insanlar tarafından yapılan hataları düzeltmek iyi bir yaklaşım mı?


17

Dört geliştiriciden oluşan bir ekibin bir uygulama geliştirdiği durumu varsayalım. Test aşamasında hatalar kullanıcılar tarafından rapor edilir. Onları kim düzeltmeli? Hatalı kodu yapan kişi mi, yoksa özgür olan mı?

Çevik gelişimde (scrum) tercih edilen yaklaşım nedir?


3
Kodunuzu oluşturan kişi kodunuzu düzeltmelidir
Agile Scout

Yanıtlar:


35

Çevik geliştirmede tercih edilen yaklaşım, mümkün olan en kısa sürede, mümkün olan en kısa sürede düzeltilmesini sağlamaktır. Bunun nedeni, kodun sahipliğinin herhangi bir kişiye değil, tüm geliştirici grubuna düşmesidir. Bir kişi sürekli olarak hatalara neden oluyorsa, bu ayrı olarak ele alınması gereken başka bir sorundur.


1
"Olabildiğince çabuk" için +1. Gerçekten de, bunları mümkün olan en kısa sürede düzeltin ve kullanıcılarınızın teste devam etmesine izin verin ve yeni hataları bildirin.

1
Ve hatayı yapan kişiye geri bildirim ne olacak?

@ Robert bu sadece bir geri bildirim meselesi değil. Hata, gönderen tarafından resmi olarak kapatılmalıdır .

10
Ayrıca diğer insanların hatalarını düzeltmek de öğrenmenin harika bir yoludur. Yazmadığınız için, kodun ne yaptığını gerçekten anlamanıza zorlar.
AndrewKS

1
@yegor, robert göndereni değil, hatayı yazan kişiye sordu. Önemli hatalar için önemsiz olanlar için rapor edilmelidir.

8

Varsayılan olarak kişi. Nedeni oldukça basit: geri bildirim. Hatalar, kişisel ve profesyonel geri bildirim için harika bir fırsat sağlar. Eğer bir başkası hatalarımı düzeltirse, yine aynı hatayı yapardım, çünkü ondan öğrenemezdim.

Bu kişi mevcut değilse, başka biri düzeltebilir, ancak kişi böcek yaşam döngüsünü takip etmelidir.


3
Bu yüzden iletişim önemlidir. Orijinal kodlayıcı olmayan hatayı düzelten bir kişi, sorunun ve düzeltmenin yaratıcıya ne olduğunu açıklarsa, o zaman iki kişi bir değil, ondan öğrenir.
AndrewKS

7

PM olarak hataları belirli geliştiricilere bağlamaktan kaçınırım. Eğer yapılması gerekiyorsa, fonksiyonel / geliştirme yöneticisinin bunu yapmasına izin verin. Kendinizi ekiple ilgilenin. Takımın düzeltmesi gereken bir hata var.


Yaptığımız şey, "Müşteri Geliştiricisi" adını verdiğimiz, ekipte herhangi biri olabilecek genel bir vekilimiz var ve triyajda bu kullanıcıya atanan tüm sorunları gösteren bir işaretimiz olacak. Bununla birlikte, sonunda bu görevleri / hataları atamanız önemlidir, böylece insanlar onlar için sorumluluk alır.
Ağustos

2

Scrum'ın bu senaryoyu nasıl ele aldığını bilmiyorum, ancak takımımda çapraz test / kod incelemesi gibi bir şeyimiz var. Bu şekilde, bir hata bulunduğunda, hem geliştirici hem de gözden geçiren, düzeltmek için en iyi yaklaşımı tartışır.

Çözümün uygun olduğu sürece, geliştiricinin veya yorumcunun uygulayıp uygulamadığı önemli değildir. Ancak, geliştirici ile test arasında her türlü çatışmayı önlemek önemlidir.

Rgds

Düzenleme: Kendimi açıklığa kavuşturduğumdan emin değilim, ancak gözden geçirenin ekipteki başka bir geliştirici olduğunu vurgulamak önemlidir.


@Tiago: Çözümünüzü takdir ediyorum, ancak tartışmanın her zaman gerekli olduğunu düşünmüyorum.
Hoàng Long

1
  1. Hatayı değerlendirin
  2. Orijinal geliştiricinin düzeltmesi daha hızlı / mantıklı olacaksa, onlara verin
  3. Takımdaki herhangi biri tarafından düzeltilebiliyorsa, bunu herkes yapsın.

1

Steven'ın kodun tüm ekibe ait olduğu konusunda tamamen katılıyorum; ve hatayı yaratıcılarına vermemeniz için başka nedenler de var:

Bildiğim gibi, birçok durumda hataya kimin neden olduğunu belirlemek zordur. SVN gibi bir belge yönetim sistemi kullanıyor olsanız bile, hata kodunu izlemek çok zaman alabilir. Yani, bence, özgür olan herkes için hata verin.

Hatanın nasıl üretildiğini izlemek istiyorsanız, boş zamanlarında tamirciye vaka hakkında (tüm ekiplerden önce) sorabilirsiniz. Ekibiniz küçük olduğundan, bunun olası hatalarla ilgili deneyimi paylaşacağını ve kimseyi utandırmayacağını düşünüyorum.


1

Kimin bir hatayı düzelttiğine dikkat etmek için sadece üç neden vardır: maliyet, hız ve profesyonel gelişim.

Ve üçünün de artıları ve eksileri var. Örneğin mesleki gelişim, bir yandan kod hakkında daha fazla bilgi edinme fırsatı, diğer yandan gelecekte yapacağınız hata türlerini tanımak ve bunlardan kaçınmak bir fırsattır. Ya da maliyet alın, muhtemelen hatayı yapan kişi daha hızlı ve muhtemelen daha ucuza giderdi, diğer yandan hatayı kimin yaptığını belirlemek ve uygun kişiye atamak için bir maliyet var - zaman ki çoğu durumda hatayı düzeltmek için aşıyor.

Çevik yaklaşım, geliştiricilerin sorunu kendileri atamalarına izin vermektir, bunu sadece iyi bir nedenden ötürü geçersiz kıldım.


1

Ekibimde daima önceliğe göre karar veriyoruz. kodu gönderen kişi varsa, kodu düzeltir. Bu kişi daha yüksek öncelikli bir hikaye üzerinde çalışıyorsa, mümkün olan en kısa zamanda kodu düzeltebilen herkes düzeltir. Herkes geçerli yinelemede daha yüksek öncelikli görevler üzerinde çalışmakla meşgulse, düzeltme diğer hikayelere ve kusurlara kıyasla önceliğine göre bir sonraki yinelemede zamanlanır.


0

Bir düşünün: Hata hakkında kimin daha fazla bilgisi var? Geliştirme ekibi.

Bu yüzden hatayla ne yapacağına karar versinler. Onlar kendi onlar sorumludur; dolayısıyla, kod.

Projeyi yöneterek, hata düzeltmeleri için proje kapsamına biraz zaman ayırarak ve işlerini yalnız yapmalarına izin vererek onlara yardımcı olabilirsiniz .

Sizin (PM rolü olarak) takımdan daha az bilgiye sahip olduğunuza karar vermekten kaçının.

Şu soruya bakın: Bir Yazılım Geliştirme Ekibini Mikro Yönetmekten Nasıl Kaçınılır?


0

Diyorum ki, tarafından bildirilenlerin neden olduğu hataları kaydetmek ve daha sonra hataları iş yüklerine göre farklı kişilere atamak için bir hata izleme sistemine ihtiyacınız var. Ayrıca kimin kodu hataya neden olduğunu ve daha sonra hafta boyunca kaç kodlayıcının ve hangi uygulamaların x hata sayısına neden olduğunu gösteren bir rapor var.

Daha sonra kodlayıcılara, hatalara nasıl neden olduklarını göstermek için gösterebilirsiniz.

Ve hataları önlemenin en iyi yolu, herkesin bunları düzeltmekle ilgilenmesini sağlamaktır. Yani, hatalara neyin neden olduğunu ve bunları neyin düzelttiğini göstermek için farklı insanlara bir hata düzeltmesi atamak demek.

Sonra belki bir ya da iki ay hata düzelttikten sonra, nasıl programladığınıza ilişkin yazılı / belgelenmiş standartlara sahip olacak şekilde, sistem genelinde gelecekteki hataların önlenmesine yardımcı olmak için kodlama stili kılavuzunuzu gözden geçirin veya oluşturun.


0

Bir hata bulunduğunda, onu düzeltmek tüm geliştirme ekibinin sorumluluğundadır.

İnsanlar bir hatanın yazarı tarafından düzeltilmesi gerektiğine inanıyorsa, "Sorunu çözmüyorum, delik teknenin yanında değil" demek gibidir. Ancak delik sabit değilse tekne hala batar ve siz o teknede herkesle birlikte olursunuz.

Bireylerin bir takımın parçası olduklarını fark etmeleri ve kodun sorumluluklarıyla birlikte hepsine ait olduğunu anlamaları gerekir. Bir projenin başarısı tüm ekip üyelerine dayanır.

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.