Naturalmente la revisione del codice non è necessaria . Inoltre, né i test, l'integrazione continua, il controllo del codice sorgente, il coinvolgimento del cliente, la profilazione, l'analisi statica, l'hardware decente, le build con un clic, il monitoraggio dei bug, l'elenco continua.
Insieme alle recensioni di codice, le cose che menziono sopra sono strumenti che aiutano a garantire la qualità del software. Con una combinazione di abilità, fortuna, tempo e determinazione; si può fornire software di qualità, senza nessuna di queste cose, ma è più probabile che non lo faranno .
Nel tuo scenario, non c'è nulla di cui essere confusi. Non tutte le organizzazioni si abbandonano a tutte le migliori pratiche. Potrebbero essere in disaccordo con esso, potrebbe essere in conflitto con una diversa migliore pratica che implementano o potrebbero considerare che il sovraccarico di implementarlo è troppo grande per loro in questo momento. A seconda delle circostanze, potrebbero essere corretti nel farlo, oppure potrebbero creare una falsa economia. Per alcuni strumenti (ad es. Controllo del codice sorgente) il rapporto di ammortamento / sforzo è così buono che utilizzarlo è un gioco da ragazzi; per altri è meno chiaro.
Non c'è dubbio che la revisione del codice sia una pratica che introduce un sovraccarico significativo. Per questo motivo, le organizzazioni cercheranno di ridurre al minimo tale sovraccarico, non facendolo affatto, o facendolo solo in determinate situazioni (ad esempio per un membro del team junior o un cambiamento particolarmente peloso). Non è sempre ovvio che ripaga di più (nella cattura di bug, nella riduzione del debito tecnico o nella condivisione delle conoscenze) di quanto costi. La maggior parte di tale ammortamento è difficile da quantificare, mentre è molto facile contare il numero di ore-uomo che la tua azienda impiega a fare recensioni. Il bit più semplice da quantificare (conteggio dei bug ridotto) è facile da attribuire ad altri fattori (ad es. "Ovviamente ha meno bug, è più maturo").