2009-10-20 9 views

risposta

8

Si può anche prendere in considerazione la mappatura tasso di scoperta dei difetti e tassi di risoluzione di difetti ... quanto tempo ci vuole per trovare bug, e una volta che sono trovati, per quanto tempo si vuole per risolvere? Per quanto ne so, TDD dovrebbe migliorare i tempi di correzione perché rende i difetti noti in precedenza ... giusto?

+0

Ho votato per aver menzionato il * mio * lavoro più facile. –

+0

Direi che meno difetti escono dal team di sviluppo e in QA, ma è quello che spero di dimostrare (e quantificare). Grazie - Jonathan – jdharley

+0

Fateci sapere i risultati – Burt

3

Qualsiasi misura è un confronto arbitrario di difetti con le dimensioni del codice; finché il confronto è simile, dovrebbe funzionare. Ad esempio, i difetti/kloc in C ai difetti/kloc in C. Se si sono cambiate le lingue, ciò influenzerebbe in ogni caso la metrica, poiché lo stesso programma in un'altra lingua potrebbe essere meno incline ai difetti.

3

suggerisco di utilizzare il rapporto tra i tempi:

  1. il tempo di spendere correggere i bug
  2. il tempo di spendere a scrivere altri codici

Questo sembra valida in tutta lingue ...


Funziona anche se si dispone solo di una stima approssimativa di alcuni grandi codici di base. Puoi ancora confrontarlo con il nuovo codice che stai scrivendo, per impressionare la tua gestione ;-)

3

Misurare i difetti non è una cosa facile. Si vorrebbe rendere conto della complessità del codice, ma questo è incredibilmente disordinato e spiacevole. Quando si misura la qualità del codice vi consiglio:

  1. Misurare lo stato attuale (qual è il tuo tasso di difetto ora)
  2. fare un cambiamento (peer review, la formazione, le linee guida del codice, ecc)
  3. Misurare il nuovo tasso di difetti (le cose sono migliorate?)
  4. Goto 2

Se avete intenzione di confrontare i codificatori assicurarsi di confrontare i codificatori facendo un lavoro simile nella stessa lingua. Non confrontare il codificatore che lavora nel profondo del suo motore di calcolo più complesso con il codificatore che scrive il codice che memorizza le cose nel database.

Cerco di assicurarmi che i programmatori sappiano che il processo viene misurato e non i programmatori. Questo aiuta a migliorare la qualità delle metriche.

+0

Trovo che confrontare i codificatori sia in gran parte contrario al principio del lavoro di squadra, quindi non lo farei comunque. Grazie per il commento. – jdharley

+0

Potresti essere scioccato da quanti "manager" pensano che sia una buona idea. Se misuri individualmente i programmatori, troveranno un modo per giocare al sistema. –

1

Sono scettico su tutte le misurazioni relative a LOC, non solo a causa della diversa espressività relativa delle lingue, ma perché i singoli programmatori variano abbastanza nell'espressività del loro codice per rendere questa metrica "sfocata" al meglio.

Le cose che vorrei misurare nell'interesse della gestione del progetto sono:

  • numero di difetti aperti sul progetto. Non esiste un singolo scalare che può dirti dove si trova il progetto e quanto è vicino a uno stato rilasciabile, ma questo è ancora un numero utile da tenere a portata di mano e da osservare nel tempo.
  • Tasso di rilevamento dei difetti. Questa non è la velocità di introduzione di nuovi difetti nel sistema, ma è probabilmente il proxy più vicino che troverai.
  • Tasso di risoluzione dei difetti. Se questo è inferiore al tasso di rilevamento, stai cadendo indietro - se è maggiore, stai andando avanti.

Tutti questi numeri sono più utili se si combinano con le informazioni di severità. Un prodotto con 20 bug minori potrebbe essere più vicino al rilascio di uno con 2 bug di arresto anomalo. Se stai eliminando i bug minori ma non quelli gravi, devi convincere gli sviluppatori a focalizzare la loro attenzione.

Vorrei tenere traccia di questi numeri per progetto e per sviluppatore. La ragione per eseguirli per progetto dovrebbe essere chiara. I numeri per sviluppatori non rappresentano certamente l'immagine completa delle competenze o della produttività di un singolo collaboratore, ma possono indirizzarti a persone che potrebbero aver bisogno di formazione o di riparazione.

È inoltre possibile contrassegnare tutti i ticket nel sistema di tracciamento dei difetti anche per modulo di progetto (in particolare per i progetti più grandi), in modo da poter rilevare quando i moduli critici si trovano in uno stato fragile.

0

Perché non si considerano i difetti per caso d'uso? o difetti per requisito. Abbiamo affrontato problemi pratici per arrivare al KLOC.

Problemi correlati