Nel nostro progetto lavoriamo secondo una metodologia zero bug (ovvero zero difetti). L'idea di base è che i bug hanno sempre una priorità maggiore rispetto alle funzionalità. Se stai lavorando a una storia e ha un bug, deve essere risolto affinché la storia venga accettata. Se viene rilevato un bug durante lo sprint per una storia più vecchia, dobbiamo inserirla nel nostro backlog e risolverla: la massima priorità.
Il motivo per cui sto dicendo di risolvere è che non sempre risolviamo il bug. A volte dichiariamo semplicemente che "non risolverà" perché non è così importante. Tutto sommato suona alla grande. Stiamo spedendo prodotti di alta qualità e non portiamo "una gobba" sotto forma di un enorme arretrato di bug.
Ma non sono sicuro che questo approccio sia corretto. Tendo a concordare sul fatto che dobbiamo sempre correggere i bug gravi al più presto e dobbiamo eliminare i bug non interessanti. E i bug che sono importanti ma non così importanti come le nuove funzionalità? Tendo a pensare che dovrebbero essere archiviati nel backlog con una priorità adeguata.
Faccio un esempio per renderlo più chiaro: nel mio progetto lavoriamo con un'interfaccia utente scritta in flex. Abbiamo una schermata guidata che si apre con le stesse dimensioni per ogni risoluzione dello schermo. Si scopre che quando si estende la finestra della procedura guidata, una delle pagine non sembra buona (esiste una barra di scorrimento verticale che non scompare sebbene la procedura guidata ora possa presentare tutto e non richiede la barra di scorrimento). Penso che questo bug sia brutto. Sono sicuro che DEVE essere corretto. Ma siamo in un programma serrato e abbiamo molte funzionalità che temiamo non riusciranno a tagliare e ad entrare nella versione. Sento che possiamo vivere con un tale bug. Deve essere risolto ma con priorità inferiore rispetto ad altre funzionalità (quindi, nel caso in cui non saremo in grado di completarlo, almeno non abbiamo lasciato fuori funzionalità più importanti). Ma,
Mi piacerebbe conoscere le opinioni su come gestire i bug che non voglio contrassegnare come "non risolvibili", ma che non sono della massima importanza.