Sembra che farebbe più male che bene. Ignorando per un momento se è giusto che un manager lo faccia, diamo un'occhiata alla logistica ...
Problema 1: tutti i bug sono uguali?
Lo sviluppatore 1 introduce un bug: cancella tutti i dati dei clienti e li maledice.
Lo sviluppatore 2 introduce due bug: le etichette del modulo non sono allineate a sinistra e la funzionalità di calendario è disattivata di 1 secondo se viene creato un evento che copre due anni bisestili.
Quindi chiaramente lo sviluppatore 2 merita più dolore dal loro manager perché ha il doppio del tasso di errore. Certo che no, quindi vieni con un sistema di classificazione dei bug in modo che gli sviluppatori con bug insignificanti non si sporchino così tanto. Ma aspettate, dovrebbe il fattore di sistema in un modificatore per uno sviluppatore che sta facendo ripetutamente lo stesso errore banale e sprecando il tempo del tester perché non imparano mai dai propri errori? Forse, hmmm. Questo è complicato
Problema 2: ciò che conta come un bug?
Manager : questo rapporto doveva includere un totale parziale, questo è un bug per te!
Sviluppatore : non era nei requisiti, è un FEATURE non un bug.
Problema 3: come raggruppate i bug?
Sviluppatore - "[Nome responsabile], i tester hanno presentato 10 bug contro di me perché le velocità non erano corrette 10 schermate diverse, ma questo era tutto collegato a un singolo bug nella funzione getVelocity. Abbiamo discusso per 3 ore al riguardo, ma non si spostano. Ci piacerebbe un incontro con te per decidere quanti bug devono essere archiviati Oh, a proposito, non c'è modo di colpire il codice entro la scadenza prevista per domani. "
Problema 4: più SLOC probabilmente significa più bug
Lo sviluppatore 1 si siede sul suo sedere tutto il giorno, ma riesce a scrivere 3 linee di codice prive di bug tra argomenti su Reddit sulla legge sull'immigrazione dell'Arizona.
Lo sviluppatore 2 lavora duramente tutto il giorno e sforna un'IA completamente funzionale che non uccide John Connor alla prima occasione. "
Quindi ovviamente vuoi penalizzare lo sviluppatore che fa più progressi e / o prende più rischi innovando, vero?
Riepilogo
Probabilmente ci sono soluzioni praticabili a molti di questi, ma come manager di un team di programmazione che cerca di rispettare una scadenza, vuoi davvero che tutti passino il tempo a discutere su ciò che conta come un bug, ciò che conta come un bug discreto, l'importanza di un bug, ecc.? Nessuna di queste cose muove il tuo progetto in avanti e questo sarà veleno per i team che saranno costretti a competere su problemi che non hanno alcun impatto significativo sul software attuale creato. Per non parlare di ciò che fa alla cultura dei tuoi dipendenti concentrarsi su questo sforzo per trovare modi per assicurarsi che gli errori di ogni dipendente siano registrati meticolosamente in modo che possano essere rigettati in un secondo momento.
Inevitabilmente avrai sviluppatori che blandiranno i tester per aggirare il tuo sistema di tracciamento dei bug e riferiranno direttamente i problemi in modo che possano risolverli senza che entrino nel loro "FILE PERMANENTE". Quindi non hai nemmeno una contabilità accurata dei bug o di ciò su cui le persone stanno realmente lavorando.
Poi c'è il problema dell'impatto negativo. Questo è il discorso delle risorse umane, è meglio avere una buona documentazione prima di iniziare a penalizzare i dipendenti, soprattutto dal punto di vista finanziario. E se qualcuno di loro è una classe protetta (minoranze, veterani, donne, portatori di handicap, ecc.) È meglio essere sicuri che qualunque sistema tu abbia impostato non discrimini uno di essi in base all'appartenenza a quella classe (o che un giudice potrebbe essere convinto in quanto tale), anche se si tratta solo di un indesiderato effetto collaterale del piano.
Quindi alla fine non crei incentivi per creare meno bug, il che è difficile, ma piuttosto per superare i bug minimizzandone l'importanza o incolpandoli su qualcun altro.
Versione breve No.