Immagina se Stack Overflow avesse una linea guida: invece di fare una domanda, vieni e chiedi, nella stessa domanda, qualunque cosa ti venga in mente, tutti i tuoi problemi che hai avuto nelle ultime due settimane. Cosa significherebbe upvote e downvote? Quali sarebbero i titoli delle domande? Come accettare la migliore risposta? Come taggare la domanda?
Il sistema di tracciamento dei bug è fatto per ... tracciare i bug. Tracciare un bug significa:
-
Creazione di un record che dice che potrebbe esistere un bug, con informazioni su come riprodurlo,
-
Confermando che, in effetti, il bug esiste ed è un bug, non qualcosa di design,
-
Affermando che il bug è stato risolto,
-
Conferma che il bug è stato risolto.
In un modello molto semplicistico, 1 e 4 saranno eseguiti dal cliente e 2 e 3 dallo sviluppatore.
Immagina il seguente registro:
Day 1 [Customer] When pressing on “Remove” button in “Product details” window, the application hangs. Restarting the application shows that the product wasn't removed. The expected behavior is to remove the product.
Day 4 [Developer] <Issue reproduced>
Day 5 [Developer] <Issue solved in revision 5031>
Day 12 [Customer] <Ticket closed: issue solved>
Il log è semplice e chiaro . Puoi facilmente tenere traccia di ciò che è stato fatto e quando , quale revisione ha risolto quale bug, ecc. Ad esempio, se il sistema di tracciamento dei bug è integrato con il controllo della versione, quando visualizzi una revisione specifica, puoi controllare quali errori sono stati risolti in esso.
È facile trovare informazioni . È facile vedere il suo stato (è riprodotto? Se il biglietto era chiuso, perché?). È facile filtrare i ticket (Voglio visualizzare i ticket che riguardano solo l'interfaccia utente dei plugin, visto che desidero solo i ticket aperti, più vecchi di una settimana e assegnati dal nostro interaction designer e sono di media o alta priorità).
È facile riassegnare un ticket o determinare in origine chi è il responsabile del bug.
Ora immagina il seguente registro:
Day 1 [Customer] The app hangs when I press “Remove” button in “Product details” window. Also, the background color of the left panel is dark blue, while it should be purple. I also noted that the text of the “Product details” window is not translated well to German; is it expected? When the final translation would be available? BTW, have you received the new icon I sent for the “Publish product” action? I don't see it in the “Sync data” window.
Day 6 [Developer] I changed the color to purple.
Day 7 [Developer] Yes, it's normal that the translation to German is incomplete.
Day 8 [Customer] Ok for German. What about Italian? Lucia sent you the XML file two days ago.
Day 9 [Developer] It's ok now.
Day 10 [Customer] Ok for the “Remove” button? Strange, at my computer, it still hangs.
Day 11 [Developer] No, I wanted to say it's ok for Italian translation.
Day 12 [Customer] I see. Thank you. But there is a problem with the color. You changed it to dark purple, but it should be light purple, like the top panel on the main window.
Day 13 [Developer] I updated the icon.
Day 14 [Customer] The icon? What icon?
Day 15 [Developer] The icon you asked me to update.
Day 16 [Customer] I never asked you to update any icon.
-
Day 17 [Developer] Of course you asked. See this ticket. You wrote that the publish product icon should be updated. I've done it.
⁞
Day 100 [Customer] So, what about the entries in the log?
Day 101 [Developer] I have no idea what you're talking about. It's not even in this ticket, but in 6199. I'm closing this one as solved. <Ticket closed: issue solved>
Day 102 [Customer] Sorry to reopen it, but the problem is not solved. I'm talking about the entries in the log: I told you last week that the text is sometimes invalid when it contains unicode characters. Do you remember? <Ticket reopened>
-
Day 103 [Developer] I vaguely remember something like that, but after searching the last three pages of this ticket, I can't find any trace. Can you write again what was the problem?
⁞
Day 460 [Developer] I spent two hours searching for a trace of what you've said about the files sent encrypted through the network. I'm not sure I can find the precise request.
-
Day 460 [Customer] You guys should really be more organized. I notified you four times about this issue for the last two weeks. Why are you forgetting everything?
⁞
Di cosa tratta questo registro? È stato risolto 43 volte e riaperto 43 volte. Significa che lo sviluppatore è così stupido da non riuscire a risolvere lo stesso problema per 460 giorni? Ah, no, aspetta, questo ticket è stato assegnato a 11 sviluppatori nel frattempo. Qual è l'accordo? Come cercare un problema specifico? In realtà è assegnato a Vanessa, ma i suoi cinque colleghi sono preoccupati anche di sette degli undici numeri di questo biglietto. Quando il biglietto dovrebbe essere chiuso? È quando metà dei problemi è risolta? O forse dieci su undici?
Nota: potresti credere che tali registri non esistano. Credimi, ne ho visti più di una volta.