In qualsiasi piano è probabile che ci sia una certa differenza tra ciò che vorresti essere ad alta priorità e ciò che in realtà è alta priorità. Dal momento che stai pagando, puoi decidere quale è la priorità più alta e devi dire innanzitutto alle persone che stai pagando di lavorare su argomenti con priorità elevata.
Quindi, se stanno evitando la revisione del codice, allora:
- Non stai rendendo la revisione del codice una priorità più alta rispetto alla scrittura di un nuovo codice. Potresti pensare di sì, quando in realtà stai dicendo "possiamo farlo entro la fine di domani?" e lasciando che rispondano "certo, se lasciamo tutto il resto". "Tutto il resto" significa che salta la revisione del codice su questo e qualsiasi cosa abbia fatto di recente che necessita di revisione.
- Non stanno facendo ciò che hai chiesto loro e li hanno pagati per farlo. Dato che sei disposto a pagare un extra per la revisione del codice e loro ancora preferiscono scrivere un nuovo codice senza revisione per meno soldi, devi scoprire da loro perché la revisione del codice è così spiacevole.
In ogni caso, per coinvolgere gli sviluppatori, è possibile esaminare il concetto di Scrum di una "definizione di fatto". Potresti avere questo anche se non stai facendo Scrum e includere la revisione del codice nella definizione del tuo team. Cioè, non possono dire che X è finito finché X non è stato revisionato, il che significa che devono trovare qualcuno che riveda il loro codice (e il codice dei ragazzi di cui sono responsabili). Speriamo che questo porti a scambiarsi recensioni tra loro.
Un altro modo per presentarlo è che esaminando il codice si stanno familiarizzando con parti del sistema su cui potrebbe essere necessario lavorare in futuro. Se incoraggi la responsabilità condivisa per l'intera base di codice, al contrario della proprietà dei componenti, quindi imponi più occhi su ogni parte di codice. Certo, non è la stessa cosa di una fase di revisione formale, ma è una mossa nella giusta direzione poiché raggiunge lo stesso obiettivo di evitare l'uso di codice che solo una persona ritiene sia corretta.
Ovviamente se loro davvero odiano la revisione allora potrebbero scegliere di fare una recensione completamente superficiale, passando tutto più o meno senza leggerlo. In tal caso dovrai approfondire il problema e convincerli a fare un buon lavoro. Per dimostrare che la revisione è utile, è possibile indicare i problemi che si verificano a causa di qualcuno che ha perso la recensione che avrebbero dovuto fare. Si spera che i professionisti rispondano abbastanza strong una volta che i loro errori sono stati visti come causa di problemi reali, ma spesso meno intensamente se non riescono a spuntare quello che percepiscono come un compito inutile. Se non riesci a trovare problemi che possano essere almeno parzialmente ascritti alla mancanza di revisione, considera di nuovo come hai deciso che la recensione è veramente utile per questo progetto.
Un'altra possibilità, che non posso escludere da ciò che dici nella domanda, è che i programmatori che hai semplicemente non sono molto buoni, o almeno non sono molto bravi a produrre un progetto di lavoro senza ulteriori tecniche supporto. Non parli di test, bug fixing o QA in generale. Se tutto ciò che vogliono è scrivere codice e non volerlo far funzionare in modo affidabile, quindi naturalmente non fare la revisione del codice sarebbe una parte di questo. Il rovescio della medaglia, suppongo, è che forse i tuoi programmatori sono così universalmente fantastici che il loro codice funziona sempre per la prima volta e non ha bisogno di test, correzione dei bug o revisione. Sembra improbabile!