Jak wskazano w kilku innych odpowiedziach, właściwe pytanie tutaj jest prawdopodobnie: dlaczego masz narzędzie do śledzenia problemów. Dobra odpowiedź na to pytanie (nie tylko z perspektywy zarządzania, ale także z perspektywy programisty) jest niezbędna, jeśli chcesz, aby system śledzenia problemów naprawdę działał i był regularnie aktualizowany.
W wielu firmach system śledzenia problemów jest wykorzystywany głównie jako narzędzie do raportowania zarządzania. Nakłanianie programistów do aktualizowania problemów tylko po to, aby kierownictwo mogło uruchomić raport, nie działa dobrze. Zmuszanie programistów do aktualizowania problemów również nie działa - możesz mieć zaktualizowane problemy, ale powinieneś przesłuchać dane.
Z mojego doświadczenia wynika, że jedynym sposobem, aby naprawdę programiści (i testerzy, zarząd itp.) Skutecznie używali systemu śledzenia problemów, jest zintegrowanie go z procesem programistycznym. Oznacza to, że wynik jednej części procesu staje się wejściem do następnej części procesu.
Aby nadać autorytet systemowi śledzenia błędów, sugeruję:
- Programiści pracują tylko nad błędami / funkcjami zalogowanymi w narzędziu do śledzenia problemów i poza nim nie są wykonywane żadne prace. Wszystkie pomysły, projekty refaktoryzacji, nowe funkcje, niestandardowe narzędzia, które należy opracować itp. Również powinny zostać zarejestrowane.
- Zagadnienia są opracowywane według priorytetu. Priorytet powinien być częściowo ustalany przez kierownictwo, ale programiści powinni zdecydowanie mieć wpływ na określanie priorytetów. Jest to szczególnie prawdziwe, jeśli chodzi o kwestie konserwacji i refaktoryzacji.
Jeśli chodzi o przetwarzanie, możesz użyć czegoś takiego:
- status „nowy” wskazuje, że problem nie został jeszcze wykryty przez programistę i nadal znajduje się w kolejce problemów o priorytetach
- status „przypisany” oznacza, że został przypisany do programisty. Może to zrobić programista lub ktoś inny, na przykład kierownik zespołu. Uważam, że dobrze jest mieć kilka problemów przypisanych do każdego programisty, i zwykle połączenie „ciężkich operacji podnoszenia”, takich jak nowe funkcje i łatwe wybieranie, takie jak proste błędy lub niektóre proste prace konserwacyjne. Umożliwia to programistom wybór pracy w zależności od ich nastroju.
- status „w toku” oznacza, że programista pracuje nad problemem. Tylko jeden lub dwa problemy na programistę powinny być „w toku” w dowolnym momencie.
- po rozwiązaniu problemu programista może zmienić status problemu na „wymaga testowania” i zmienić właściciela na testera. To ważny krok, ponieważ jest to również kolejka robocza testerów.
- testerzy mogą zmienić status na „testowanie zakończone niepowodzeniem” i zmienić własność z powrotem na programistę, co oznacza, że przechodzi on na szczyt kolejki dla programisty, lub mogą zmienić status na „gotowy do wdrożenia”.
- problemy ze statusem „gotowy do wdrożenia” można następnie scalić i zwolnić zgodnie z cyklem wydania przez osobę odpowiedzialną za wydania.
W skrócie: uczyń system śledzenia problemów istotną częścią procesu programistycznego i nie będziesz musiał się martwić, że problemy nie będą aktualizowane.