Nel progettare la classificazione per il nostro bugtracker, ho cercato di essere molto consapevole dello scopo di ogni campo. Ecco cosa abbiamo finito.
Quando ci lavoreremo?
Questo campo registra i risultati della nostra pianificazione. È molto utile cercare e filtrare su: quando uno sviluppatore è fuori dalle attività (tutto ciò che gli viene assegnato è fatto, o il suo lavoro è bloccato per qualsiasi motivo) può semplicemente prendere un problema dalla lista di tutti i bug non assegnati ordinati per "Quando ":
Spessospostiamoiproblemitra"Ora" e "Avanti" e rivediamo le attività "Presto" di volta in volta e dopo un rilascio. Occasionalmente eseguiamo le attività "Più tardi". "Se mai" è il campo che utilizziamo al posto delle richieste di chiusura, non siamo sicuri che avremo mai intenzione di lavorare.
Quanto ci vorrà per risolvere?
Questo campo è la nostra migliore stima di quanto tempo è probabile che il lavoro prenda. È notoriamente difficile avere un'idea di questo, ma a causa della scala logaritmica e della ruvidezza dell'ordine di grandezza raramente siamo fuori da più di una voce in questo elenco:
Questocampoèusatoindiversecircostanze.Innanzitutto,èunaconsiderazioneimportanteperquantoriguardailcampo"Quando" discusso sopra. Mi piace usare questo campo per scegliere un compito molto breve con cui iniziare il lunedì se non mi sento troppo motivato. È anche utile trovare lavoro per un nuovo dipendente o qualcun altro che non si sente motivato.
Quanto è importante questo compito, nel grande schema delle cose?
Questo campo è per chi pianifica il progetto; gli sviluppatori non si preoccupano davvero. Aiuta a registrare quanto pensiamo che questo lavoro sia importante per il successo del nostro progetto:
Vieneutilizzatoinsiemea"Quanto ci vorrà" per decidere quando lavoreremo a questa attività.
Qual è lo stato del bug?
Questo campo è usato per il flusso di lavoro. Ogni stato mostrato di seguito è uno stato "aperto" o "chiuso". Il bugtracker ha scorciatoie per mostrare solo bug aperti, e questo è l'uso principale per questo campo.
Lasuddivisioneinaperto/chiusoèloscopoprincipalediquestocampo,tuttaviaognisingolavoce"chiusa" agisce per riassumere il risultato. Questo può essere spesso dedotto anche dai commenti, ma aiuta ad avere un luogo standard in cui è possibile trovare queste informazioni.
C'è una regola imposta da bugtracker che un bug Duplicato deve avere almeno un link per dire di che duplicato sia il bug.
Siamo piuttosto espliciti riguardo al non utilizzare uno stato "in corso" perché, a seguito di esperienze passate, è molto difficile tenerlo aggiornato correttamente e, di conseguenza, lo stato può fare più male che bene.
Di cosa si tratta?
Questo è il campo più vicino al convenzionale "tipo di bug". Il suo scopo principale è descrivere la voce a un umano . Quasi mai non cerchiamo o filtriamo su questo campo. È solo lì per salvare le parole nel titolo del bug. L'elenco varia in qualche modo da progetto a progetto, ma ecco un esempio rappresentativo:
Campivuoti
Scegliereunvalorepertuttoquantosopranonèsemprefacile,quindipermettiamoallapersonacheentranelbugdilasciarevuotiicampichenonriesconoacapireinquestomomento.Manteniamol'atteggiamentosecondoilqualetuttovabene,anchesetisentisolopigro,perchéaltrimentipotremmofinireconlaspazzaturainquesti.
Icampi"Quando" e "Importanza" sono spesso lasciati vuoti perché queste cose sono da decidere per il progettista del progetto. Le voci con spazio vuoto "Molto lavoro" vengono riesaminate di volta in volta, con potenziali assegnatari chiamati a stimarla.
Project-specifica
Mentre i progetti di grandi dimensioni utilizzano tutto quanto sopra, alcuni piccoli progetti ne eliminano di meno. Se non hanno alcuna utilità per "Importanza", insistiamo affinché il campo venga eliminato da quel progetto. L'idea è che siano presenti solo i campi che vengono utilizzati attivamente.
P.S. Gli screenshot di cui sopra sono di YouTrack, che mi piace molto. Non ha avuto alcun problema con noi di eliminare tutti i campi predefiniti e utilizzare il nostro.