Jak radzisz sobie z coraz większą liczbą problemów, które należy rozwiązać „gdzieś”?


15

Używamy JIRA do śledzenia problemów w naszych projektach oprogramowania. Zauważyliśmy jeden efekt, że często tworzymy nowy problem, ale nie wiemy jeszcze, kiedy / jeśli problem zostanie w ogóle naprawiony. Wynaleźliśmy więc fałszywy kamień milowy „Odległej przyszłości”, któremu przypisuje się takie problemy.

Tak się składa, że ​​liczba problemów przypisanych do tego kamienia milowego stale rośnie, więc wydaje się, że nie jest to dobre podejście. Do tej pory jest ich tak wiele, że sprawdzenie ich ważności stało się sporym nakładem pracy. Niektóre z nich stały się nieprawidłowe, ponieważ usunięto składnik, który jest z nimi powiązany. Niektóre z nich zostały powielone przez inne problemy. Niektóre z nich mają tak źle sformułowany opis, że nikt tak naprawdę nie wie, o co im chodzi.

Jak inne zespoły programistów radzą sobie z problemami, które są ważne, ale które mogą nie zostać naprawione w dowolnym momencie. Czy w ogóle męczysz się z ich nagrywaniem? Czy przypisujesz je do następnej planowanej wersji, a następnie przeglądasz je ponownie w miarę zbliżania się kolejnej wersji? Coś innego?


1
Wygląda na to, że mówisz o moim miejscu pracy, bardzo niepokojąco. Powodzenia z tym, lobbuję teraz przez chwilę i spowalniam do braku postępu w tym punkcie. Wydaje się, że zarządzanie nie przeszkadza, dopóki nie będziemy mieli tak dużo śmieci, że nie będziemy mogli ich dłużej ognować.
deadalnix

Dlaczego trzeba to naprawić? Jeśli nie jest to ważne i nigdy nie zostanie naprawione, jest to idealne rozwiązanie.
B, 7

Odpowiedzi:


11

Są to dobre błędy przy pierwszym kontakcie, które można naprawić dla nowych programistów, którzy właśnie dołączyli do Twojej firmy. Lub dla młodszych programistów, aby poszerzyć swoją wiedzę na temat systemu.

Jeśli nie, możesz oznaczyć je jako „nie naprawi”, jeśli nie są wystarczająco poważne, aby uzasadnić czas potrzebny na naprawę.


3
+1 Nie można rozwiązać, może to być problem społeczny, a także techniczny. Czasami musisz po prostu powiedzieć NIE. Jeśli nadal będziesz naprawiać błędy, szczególnie trywialne lub zbędne prośby o funkcje, oczekiwania ludzi wzrosną i będą prosić o więcej.
Keyo

4
Posiadanie młodszych programistów do naprawiania błędów to zły pomysł, niestety jest to powszechna praktyka w branży. Najbardziej opłacalnym sposobem naprawienia błędu jest pozwolenie programistom, którzy go wprowadzili, na naprawę.
Trasplazio Garzuglio

6
@MarcoDinacci - To zależy od tego, co wkładasz w „opłacalne”. W perspektywie krótkoterminowej masz rację. Ale jeśli projekt trwa długo, przydzielenie młodszego programisty zadań „napraw błędy” może być postrzegane jako inwestycja.
mouviciel

2
@mouviciel Myślę, że istnieją lepsze i bardziej stymulujące sposoby szkolenia młodszych programistów niż pozwalanie im na pracę z błędami, ale zgadzam się, że jest to sposób na naukę bazy kodu. Innym problemem związanym z tym podejściem jest to, że starsi programiści mogą po prostu pisać kod, nie dbając o wprowadzanie błędów, ponieważ są mniejsi programiści, którzy i tak je naprawią.
Trasplazio Garzuglio

3
@MarcoDinacci, powiem inaczej: jeśli starsi programiści potrzebują zewnętrznego procesu, aby zmusić ich do pracy wysokiej jakości, zespół ma podstawowy problem. IMHO każdy dobry programista - a zwłaszcza seniorzy - powinien mieć wewnętrzną motywację do jakości. Jeśli brakuje motywacji liderowi (liderom) zespołu, projekt prawie nieuchronnie zakończy się niepowodzeniem, w ten czy inny sposób, i żaden proces nie może temu pomóc.
Péter Török

11

Powinieneś naprawić błąd tylko wtedy, gdy aplikacja jest bardziej wartościowa bez błędu.

Jeśli pole tekstowe jest źle wyrównane i jego naprawienie zajmuje trzy dni, prawdopodobnie koszt jest zbyt wysoki i należy go zostawić. Przeciwnie, jeśli użytkownicy nie mogą w ogóle pisać w polu tekstowym, należy to naprawić i to szybko.

Zasadniczo łatwiej jest rozwiązać problem natychmiast po jego wykryciu. Jeśli pozwolisz na upływ czasu, programiści mogą zapomnieć, jak działa ta część kodu, a usunięcie błędu potrwa dłużej, a zatem będzie droższe.

Niektóre firmy nie piszą wiersza nowego kodu, jeśli nadal występują błędy. Inni nie zawracają sobie głowy aż do fazy testowania przed dostawą.

W Twojej firmie najwyraźniej masz dużo czasu, zanim naprawisz nowe błędy, aby się kumulowały. Morale zespołu źle wpływają na ogromną listę błędów.

Sugeruję, abyś spędził dzień, aby uporządkować istniejące błędy, decydując o tych, które są warte naprawienia i te, które nie są, i przydzielając je do naprawy członkom zespołu w celu rozwiązania problemów przed kolejnym etapem. .


6

W naszym śledzeniu problemów występuje status „przedawniony”. Jeśli problem ma kilka miesięcy lub nawet lat, a żaden klient nie zachęca go ani nie uzupełnia, wówczas ten status jest używany jako status końcowy. Nie dzieje się to automatycznie, ale ręcznie, za każdym razem, gdy menedżerowie poprosą nas o usunięcie otwartych problemów. Podczas tego procesu prawdopodobne jest również, że niektóre problemy zostały naprawione, ponieważ są łatwe do naprawienia i / lub względnie ważne (pomimo braku wezwania lub uzupełnienia).


1
To dobra strategia - znajomość błędu, który dręczy cię od lat, może zostać na zawsze zmieciony pod dywan, jest świetną motywacją do rozwiązania tego problemu.
Steve Jackson

2

Nie używam JIRA, mam Fogbugz w pracy, ale jestem pewien, że dotyczy to większości programów do śledzenia błędów. Pisząc to, zdałem sobie sprawę, że sposób mojej pracy jest bardziej zwinny niż wodospad, terminy nie są dla mnie konkretne, a najważniejsze jest to, co najważniejsze.

  • Jeśli szefowi zależy na tym, aby otwartych było zbyt wiele biletów, po prostu nie twórz trywialnych. Powinieneś być prgamatyczny i nie dodawać żadnych funkcji / poprawek, które nie przynoszą żadnych korzyści. Jeśli to ułatwi Ci życie, aby wypolerować kod lub ulepszyć interfejs użytkownika, to na pewno, dodaj go. Nie tylko wykonuj pracę dla siebie, próbując naprawić drobne wady w produkcie, nic nie jest idealne.
  • Umieść nieistotne błędy / funkcje na obecnym etapie, ale o niskim priorytecie. Jeśli w sprawie pojawi się więcej skarg / próśb, możesz podnieść priorytet.
  • Zamknij / rozwiąż to, co możesz, ponieważ nie można naprawić, nie można odtworzyć, powielić itp. Niektóre błędy są zbyt trywialne, aby je naprawić lub są żądaniami funkcji, które zajęłyby zbyt długo. Czasami musisz tylko powiedzieć osobie żądającej tych poprawek / funkcji „Nie, nie mamy czasu”.
  • Określ priorytety błędów według potrzeb i posortuj listę zgłoszeń według priorytetu i kamienia milowego.
  • Jeśli nie zamierzają osiągnąć kamienia milowego, przenieś je do kamienia milowego w przyszłości.
  • Jeśli bilet jest zależny od ukończenia innego biletu, oznacz go jako zablokowany lub zorganizuj bilety w hierarchię, aby było oczywiste, że bilet-x i bilet-y są ze sobą powiązane.
  • Jeśli bilet wymaga informacji zwrotnej od kogoś, przypisz go do tej osoby.

Ostatecznie zawsze będziesz mieć mnóstwo biletów o niskim priorytecie, ale powyższe punkty powinny pomóc Ci to zminimalizować.


2

Używamy JIRA i mamy do czynienia z dodatkowym stanem zwanym Suspended- jeśli funkcja / błąd jest czymś, z czego musimy po prostu zrezygnować, zostanie rozwiązany jako Zawieszony. W ten sposób nie zostanie pomieszany z listą aktualnie aktywnych problemów, na które musimy zwracać uwagę, ani z listą rozwiązanych problemów, o których wiemy, że zostały rozwiązane, i nadal znajduje się w bazie danych.

Lista zawieszonych problemów to coś, co okresowo sprawdzam (ale niezbyt często), aby w razie potrzeby ponownie otworzyć.


1

Nie jestem pewien poprawnej terminologii JIRA, ale rozważ umieszczenie daty ważności każdego „biletu”. Jeśli nie został eskalowany, z powodu potrzeb funkcji lub dotkliwości błędu, do implementacji w określonym czasie, prawdopodobnie nie był tak ważny. Powinno to pomóc automatycznie utrzymać przycięty stos. Często dostaję bilety na podstawie „nie byłoby miło” lub „to nie działa tak, jak chcę”. Jeśli nikt inny nie naciska na to wystarczająco dużo lub ten użytkownik nie ma wystarczającej siły przebicia, nie można tego zrobić i zamykam bilet po kilku miesiącach.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.