Czy istnieją badania dotyczące wad korzystania z systemów śledzenia problemów? [Zamknięte]

9

Nie lubię systemów śledzenia problemów, ponieważ:

  • Opisanie zawartych w nim problemów zajmuje zbyt dużo czasu. To zniechęca do jego używania.
  • Tworzysz miejsce do przechowywania błędów. A jeśli jest dla nich miejsce, ludzie zwykle nie przejmują się zbytnio naprawą błędu, ponieważ mogą go tam umieścić, aby pewnego dnia ktoś mógł to naprawić (lub nie).
  • Z czasem listy błędów stają się tak długie, że nikt już nie może sobie z tym poradzić, co zajmuje dużo czasu.

Wolę rozwiązywać problemy z użyciem post-it na białej tablicy, bezpośrednich rozmów i zabijania ważnych błędów, gdy tylko się pojawią. Nie przejmuję się zbytnio śledzeniem historii błędów, ponieważ nie sądzę, że jest to warte narzutu.

Czy jestem tu sam? Czy istnieją badania (książka / artykuł / cokolwiek) na temat wad (lub wielkich zalet) korzystania z systemów śledzenia problemów?

użytkownik1062120
źródło
5
Głosowanie na zakończenie, zbyt zlokalizowane. Problem tutaj nie dotyczy systemów śledzenia problemów, a raczej procesu obsługi błędów w firmie.
P.Brian.Mackey
1
Jakie systemy śledzenia problemów wypróbowałeś (inne niż notatki i tablice post-it)? Jak przebiegał proces ich używania?
FrustratedWithFormsDesigner
1
Spośród nich użyłem tylko Jiry (zgadzam się, że wydaje się, że ma dużo narzutów, dopóki nie przyzwyczaisz się do jej „rytmu”). Nie jest fanem internetowego interfejsu użytkownika, ale wykonuje zadanie. W tym przypadku korzystamy również z MKS, który również kontroluje źródła. To lepsze niż Jira. Żadne z nich nie jest idealne, ale wszystkie są wciąż lepsze niż papierowe notatki i omylne organiczne wspomnienia ludzi.
FrustratedWithFormsDesigner
15
Myślę, że jestem zdezorientowany tym pytaniem. Używanie post-it na tablicy JEST systemem śledzenia problemów. Jeśli baza twojego projektu / zespołu / kodu jest wystarczająco mała i działa po jej + osobiście, prawdopodobnie nie będziesz miał czasu przekonać się, by zwiększyć obciążenie procesu. Jak wspomniano poniżej, istnieje wiele wad tego systemu. Gdy tylko projekt i zespół rosną, zwłaszcza gdy członkowie zespołu mogą nie znajdować się w tym samym budynku, mieście lub kraju, inne systemy zaczynają świecić, jak zauważono w odpowiedziach poniżej.
s_hewitt
2
jak dołączyć ślad stosu do postu? lub zrzut ekranu? lub komunikat o błędzie?
jk.

Odpowiedzi:

41

Opisanie zawartych w nim problemów zajmuje zbyt dużo czasu. To zniechęca do jego używania.

Jeśli nie potrafisz nawet opisać błędu, jak możesz go naprawić?

Tworzysz miejsce do przechowywania błędów. A jeśli jest dla nich miejsce, ludzie zwykle nie przejmują się zbytnio naprawą błędu, ponieważ mogą go tam umieścić, aby pewnego dnia ktoś mógł to naprawić (lub nie).

To jest problem z zespołem, a nie z oprogramowaniem.

Z czasem listy błędów stają się tak długie, że nikt nie może sobie z tym poradzić, co zajmuje dużo czasu.

Ponownie opisujesz problem ze swoim zespołem.

Oprogramowanie do śledzenia błędów nie ma na celu pomóc ci zmotywować zespół do naprawiania błędów, ale prowadzić rejestr, abyś mógł śledzić przyczynę błędów i powstrzymywać je od ponownego wystąpienia. Żadne oprogramowanie nigdy nie zastąpi dobrego zarządzania.

Tom Squires
źródło
Oprogramowanie śledzące pomaga również śledzić błędy do naprawienia. Karteczka może spaść, a jeśli cztery osoby podejdą do ciebie z błędami, nad którymi możesz pracować, możesz naprawić trzy i zapomnieć o czwartym. Jest to przydatne, nawet jeśli nie zwracasz uwagi na przyczyny błędów.
David Thornley,
i aby rozwiązać problem ze swoim zespołem, możesz użyć grywalizacji -> pl.wikipedia.org/wiki/Gamification
marc.d
11
@JaoaoBosco: Ręcznie pisane bilety gubią się, zostają nabazgrane, wyrzucone przez przypadek ... rozmowy twarzą w twarz są świetne, z wyjątkiem sytuacji, gdy opisujesz złożone błędy osobom, które nie mają pamięci fotograficznej. Ludzie będą zapomnieć rzeczy z rozmów, a nie dlatego, że chcą, ale dlatego, że po prostu to, co się dzieje.
FrustratedWithFormsDesigner
3
@JoaoBosco: Co z zrzutami ekranu błędów GUI? Czy narysujesz je ręcznie? Próbki niepoprawnych danych wyjściowych (jeśli jest to błąd bazy danych, czy jesteś gotowy napisać ręcznie n wierszy z m kolumnami niepoprawnych danych)? Innych form cyfrowych artefaktów związanych z defektem, które po prostu nie przekładają się dobrze na karteczki? Wszystkie te elementy można łatwo dołączyć do zgłoszenia w systemie śledzenia problemów. A jeśli zamierzasz później przekonwertować swoją karteczkę na pliki tekstowe, dlaczego nie baza danych, która pozwala sortować, zamawiać, kategoryzować swoje bilety, a następnie przejść dalej do śledzenia problemów.
FrustratedWithFormsDesigner
10
@ user1062120: „Jeśli nie ma miejsca na błędy, ludzie częściej je poprawiają” - lub zaczynają ignorować i zapominać o błędach. To nie jest „sztuczka motywowania ludzi”, ale absurdalna próba zmiany słabości w siłę.
Michael Borgwardt
12

IMO twój punkt początkowy jest stronniczy. Jeśli programiści nie naprawią błędów, projekt jest skazany na porażkę, niezależnie od tego, czy śledzą błędy za pomocą odpowiedniego narzędzia do śledzenia błędów, post-it, kamiennych rzeźb, czy nie. To nie jest wina narzędzia, jeśli nie jest używane lub niewłaściwie używane. (To powiedziawszy, istnieją oczywiście złe narzędzia do śledzenia błędów / problemów ... Pracowałem nad projektem przy użyciu całkowicie nieodpowiedniego narzędzia do tej pracy, więc myślę, że wiem, jak źle może być. Ale są też dobre, które wymagają minimum ceremonii i kosztów ogólnych, co pozwala skupić się na odpowiednich informacjach).

Jeśli jednak programiści się tym przejmują, a projekt jest większy niż trywialny, a jest w nim więcej niż jeden programista, i wiąże się to z pewnym rodzajem zarządzania (wszystkie są dość powszechne w projektach w świecie rzeczywistym ), wkrótce pojawią się pytania takie jak:

  1. Które z otwartych błędów powinny zostać naprawione jako pierwsze? (uwaga: w rozsądnym projekcie o tym powinien decydować właściciel produktu i / lub kierownictwo, a NIE programista - dla których muszą oni przede wszystkim wiedzieć o wszystkich otwartych błędach!)
  2. Ile mamy otwartych błędów i jakiej dotkliwości?
  3. Które z nich należy naprawić, zanim będziemy gotowi do wydania?
  4. Ile czasu trzeba zaplanować na te poprawki - co często prowadzi do: średnio tyle czasu, aby naprawić błąd?
  5. ile błędów zgłoszono przez klientów w ostatniej wersji?
  6. kto naprawił ten i ten błąd, kiedy i jakie zmiany (kod / konfiguracja / dane) dotyczyły tej poprawki?
  7. jakie poprawki błędów znajdują się w wydaniu, które właśnie zamierzamy opublikować?
  8. ...

Czy potrafisz odpowiadać na takie pytania [aktualizować] w sposób powtarzalny, niezawodny i wydajny [/ aktualizować] na podstawie notatek post-it?

Tak, wprowadzenie danych błędów do modułu śledzenia problemów wiąże się z pewnym nakładem pracy. Jest to jednak więcej niż rekompensowane przez czas i wysiłek zaoszczędzony na wyszukiwaniu i tworzeniu raportów podobnych do powyższych na podstawie przechowywanych danych błędów.

Péter Török
źródło
Post-it nie odpowie na wszystko. To tylko narzędzie. Nadal możesz nadawać im priorytety, tworzyć statystyki dotyczące błędów otwartych, naprawionych itp. Mówię tylko, że uważam, że systemy śledzenia problemów mogą przynieść więcej efektów przeciwnych do zamierzonych niż pomóc w rozwiązaniu problemów z zarządzaniem.
user1062120,
7
@ user1062120: I wszyscy inni mówią tylko, że bardzo się mylisz. Post-it to system śledzenia problemów, po prostu bardzo słaby, pozbawiony wielu niezbędnych funkcji.
Michael Borgwardt,
@ user1062120, oczywiście teoretycznie na wszystkie te można odpowiedzieć za pomocą karteczek samoprzylepnych - jeśli dodasz do nich unikalne identyfikatory, dodawaj do nich szczegółowe komentarze historyczne (więc po pewnym czasie zaczniesz potrzebować dość dużych karteczek :-) i spędzaj strasznie dużo czasu na sortowaniu, ponownym sortowaniu i porządkowaniu ich zgodnie z bieżącym pytaniem (na które być może będziesz musiał zatrudnić nowego faceta w większym projekcie ;-).
Péter Török
@ user1062120, np. planowanie daje pytanie 1 powyżej - zmieńmy kolejność karteczek według priorytetu. Wkrótce PM pyta Q2: Ups, przestawiaj według ważności. Ale pierwszy kwartał jest nadal otwarty, więc posortujmy je wszystkie według priorytetów. Ups, 3 post-it zostały pominięte, ponieważ były na biurku Joe - zacznij od nowa! Następnie Q6 - wykopmy skrzynki z historyczną pocztą, przejrzyj je wszystkie ręcznie, aby znaleźć odpowiednią, a następnie spróbuj przeczytać bazgroły na odwrocie, aby opisać zmiany ... Ups, ktoś otworzył okno w pobliżu, spiesz się, aby uratować pocztę przed ucieczką przez wiatr ... itp.
Péter Török
9

Twoja metodologia może działać w przypadku bardzo małych projektów z ograniczoną liczbą programistów. Gdy projekt staje się większy, posiadanie systemu śledzenia problemów staje się znacznie ważniejsze dla koordynacji między różnymi zespołami, szczególnie jeśli poprawki będą wprowadzane w różnych wydaniach kodu. Złożone projekty będą miały wiele ruchomych części / komponentów, a zapewnienie, że problemy są zaplanowane i naprawione, stanowi dużą część dobrej implementacji śledzenia problemów

Niektóre artykuły / opracowania, które mogą Cię zainteresować, obejmują ten artykuł omawiający użycie Jiry przez Zend oraz francuskie badanie omawiające wykorzystanie systemów śledzenia błędów.

JW8
źródło
1
Dziękuję bardzo za referencje. Rzucę na nie okiem. I tak, działa tutaj w ramach 3 małych zespołów.
user1062120,
2
+1 dla referencji, o które w pytaniu chodziło o wyjaśnienie.
mattnz
4

Mogą istnieć badania, ale jeszcze lepsze są ciężko zdobyte doświadczenia ludzi w tej dziedzinie. Większość systemów śledzenia problemów cierpi na procesy napędzające ich projektowanie. Osoby śledzące problemy często muszą obsługiwać 2 różne klasy użytkowników:

  1. Zespół programistów
  2. Użytkownicy systemu

Cal Henderson (wcześniej Flickr) ma świetny post na temat projektowania wielu programów do śledzenia problemów i dlaczego preferuje narzędzie do śledzenia problemów na GitHubie (podobnie jak ja). Ponadto Garrett Dimon omówił projekt Siftera i zilustrował sposób uproszczenia procesu w celu bardziej skutecznego śledzenia problemów . Przyjąłem niektóre pomysły z obu tych postów, aby uprościć proces śledzenia problemów mojego zespołu.

Wszystko, co powiedziało, wciąż sprowadza się do ludzi w kwestii procesu i narzędzi. Uważam, że moduły do ​​śledzenia problemów zwykle tworzą zaległości, którymi trzeba zarządzać. Podczas segregacji ludzie są bardziej skłonni do racjonalizacji tego, co jest błędem lub nie. W naszym procesie podejmujemy decyzje niemal natychmiast po zgłoszeniu błędu dotyczącego tego, czy jest to problem, czy nie. Po podjęciu tej decyzji błąd przechodzi do Pivotal Tracker. Różnica polega na tym, że używamy Trackera do ustalania priorytetów , a nie jako długopis do rzeczy, których nie chcemy robić. W rzeczywistości, gdy Icebox zaczyna być zbyt duży, aktywnie usuwam przedmioty, w tym błędy. Jeśli problem jest na tyle duży, że trzeba go rozwiązać, pojawi się ponownie.

Rzadko potrzebujemy historii błędów. Czasami ktoś może wspomnieć o objawie błędu i możemy wyszukać, czy ma to związek z jakimś problemem, który już rozwiązaliśmy. Ale to rzadkie.

TL; DR Skoncentruj się na swoim procesie, wybierz proste narzędzia i rozwiąż pojawiające się problemy.

kstewart
źródło
Dokładnie o to mi chodziło. Priorytetowo traktujemy również przedmioty, gdy tylko się pojawią, a także usuwamy nieistotne elementy. Ważne rzeczy wrócą w czasie. Przekonałem się, że narzuty na śledzenie wszystkiego nie są warte. Pomysł posiadania małej białej tablicy samoprzylepnej polega na tym, że fizycznie nie można zarejestrować wszystkiego, tylko ważnych rzeczy. Tak więc ta sztuczka zmusza cię do jak najszybszego rozwiązania problemu. Ale tak jest w moim przypadku, więc nie jestem pewien, czy zadziałałoby to wszędzie.
user1062120,
2

zabijanie ważnych błędów, gdy tylko się pojawią

Wygląda na to, że włamujesz się tutaj do otwartych drzwi. Ważne błędy zostają „zabite” tak szybko, jak to możliwe, bez względu na to, czy używasz narzędzia do śledzenia problemów, czy nie.

  • Aha, a część „jak się pojawiają” jest dość śliska BTW. W jednym projekcie mieliśmy ważny błąd, który groził wyrzuceniem całego produktu z biznesu (co może być ważniejsze?). To było bardzo skomplikowane (błąd architektury) i wiedzieliśmy, że naprawienie go potrwa długo. Klienci uprzejmie zgodzili się dać nam rok na naprawę (przed upuszczeniem naszego produktu) i zrobiliśmy to w ciągu około roku.

Jeśli chodzi o moduły do ​​śledzenia problemów, używam ich od prawie dziesięciu lat i z reguły wszyscy programiści wokół mnie spędzają mało czasu z modułem do śledzenia (uwaga: mówię o programistach; menedżerowie to inna historia). Widziałem przypadki (rzadko), kiedy tak nie było - we wszystkich tych przypadkach coś było poważnie zepsute.

Jeśli chodzi o badania nad rozmowami twarzą w twarz a śledzeniem problemów, znowu wydaje się, że włamujesz się tutaj. Śledzenie problemów to typowa komunikacja pisemna ; istnieje wiele badań wskazujących, że do omawiania rzeczy komunikacja face2face jest znacznie wydajniejsza niż przez telefon, co z kolei jest znacznie wydajniejsze niż pisanie .

  • W rzeczywistości, biorąc pod uwagę, że pytasz o f2f, czujesz, że używasz trackera do omawiania rzeczy - to nie jest jego cel. Aby obliczyć przeznaczenie, po prostu przeliteruj jego nazwę powoli i wyraźnie: system śledzenia problemów .

listy błędów stają się tak długie

Z mojego doświadczenia wynika, że ​​powyższa zaleta nie stanowi problemu.

Dzięki długiej liście błędów programiści mogą ustawiać kolejki i planować poprawki na przyszłość. Jest to tak produktywne, jak to możliwe; dla mnie jest to w zasadzie nirwana, kiedy mam taką kolejkę do pracy. Pierwszy błąd - poprawka - zrobione, drugi błąd - poprawka - zrobione, następny błąd - poprawka - zrobione itp. Bez głupich przerw, bez bolesnych zakłóceń dzięki tak wydajnym rozmowom f2f, czysty przepływ .

  • Pamiętam tylko jeden przypadek, w którym problemem były długie listy błędów . Stało się tak, gdy jakiś idiota z wyższego kierownictwa zdecydował się na politykę, która zmusiła programistów do wybierania następnego błędu ze stosu 50-100 prawie codziennie. Co za strata. Zajęło nam kilka miesięcy bólu, zanim wymyśliliśmy, jak eskalować to nad jego głową i naprawić.
    Jakiś czas po tym, jak udało nam się stworzyć wygodny przepływ pracy, odkryliśmy, że nasze „niekończące się zaległości” magicznie się opróżniły.
komar
źródło
2
Niedawno spędziłem 2,5 dnia brodząc przez ponad 300 otwartych błędów (głównie interfejs użytkownika) naliczonych w ciągu roku, wszystkie przypisane albo do freelancerów / stażystów, których dawno już nie było, albo do kierownika projektu, który nie miał czasu, aby sobie z nimi poradzić. Odkryłem, że mogę zamknąć około połowy z nich, które są już naprawione lub nieistotne. Resztę naprawia się w przyzwoitym tempie po przydzieleniu ich odpowiednim osobom. System śledzenia błędów był źle używany, ale bez niego wszystkie te błędy (bez przerywników pokazowych, ale niektóre dość brzydkie) z pewnością zostałyby zapomniane.
Michael Borgwardt
1
@MichaelBorgwardt tak listuje tak długo, że nikt nie może sobie z tym poradzić, z mojego doświadczenia zawsze można sobie poradzić, dopóki nie zamrozią mnie przerażające liczby, takie jak 200, 400, 1000. Właśnie zrobiłem szybkie sprawdzenie z ciekawości - w zeszłym roku naprawiłem ponad 300 problemów - ja sam (!). Z ciekawości sprawdziłem też innych facetów w zespole, którzy myślą, że jestem wyjątkowy - nie, 200-400 poprawek rocznie wydaje się tylko średnią stawką. 500 błędów, choć wyglądają przerażająco, może to być tylko pół roku pracy dla 4-5 programistów, bułka z masłem :)
gnat