Abbiamo campi "prioritari" e "severità" nel nostro sistema di tracciamento dei bug. Definiamo la gravità come "il modo in cui influisce sull'utente" e la priorità come "l'impatto sul prodotto".
La mia domanda riguarda come classificare un'attività di "miglioramento del codice" in gravità e priorità. Supponiamo che il miglioramento non cambi alcun comportamento ma lo renda un "codice migliore". Prevediamo un miglioramento della manutenzione a lungo termine nel complesso, ma è difficile quantificarlo.
Quando utilizziamo le nostre definizioni per priorità e gravità, un miglioramento del codice ottiene i valori più bassi per entrambi, a meno che non si introducano alcuni aspetti difficili da prevedere nell'immagine per i benefici a lungo termine. Pertanto implica che il miglioramento del codice è un compito frivoloso e non dovrebbe mai essere tentato.
Tuttavia ritengo sia fondamentale per migliorare e reimpostare costantemente il codice, perché:
- Lo sviluppo del software è di per sé un processo di apprendimento continuo e senza migliorare il codice non puoi migliorarlo.
- Una squadra dovrebbe essere orgogliosa del proprio codice.
- La manutenzione futura richiederà meno tempo e nel lungo periodo i risparmi saranno significativi.
O pensi che tali compiti non dovrebbero mai essere creati e tali miglioramenti vengono eseguiti solo "su richiesta", "quando associati a un bug"? Anche se è associato a un bug, non sarebbe un punto di discussione su una revisione del codice, ad es. "perché hai fatto questo drastico cambiamento nella struttura?".