Nel nostro progetto, ogni modifica significativa al sistema viene esaminata dal leader del team o insieme a un altro sviluppatore che sarà il principale "consumatore" del nuovo modulo. Parliamo su skype e usiamo Rudel in Emacs (un plugin per l'editing collaborativo, in pratica consente a più utenti di modificare lo stesso file live), o TypeWith.me (Piratepad), o uno di noi condivide il suo schermo in skype.
È difficile quantificarlo, perché le modifiche banali, come nuove visualizzazioni, pagine, ecc. non vengono riviste. Esaminiamo i nuovi moduli, i principali aggiornamenti e i refactoring. Per quanto riguarda i grandi cambiamenti, la revisione del codice può richiedere dal 10% al 30% di tempo, ma vale la pena.
Posso dire che la programmazione in coppia, quando 2 programmatori modificano lo stesso file allo stesso tempo, non solo siedono allo stesso computer, è molto meglio della solita pratica in ufficio di sedersi dietro la spalla.
Per cose semplici come le convenzioni di denominazione e gli errori di ambito usiamo i nostri strumenti automatici propri o open source (jslint, pylint, pyflakes, pep8). E non limitiamo i commit e spinge: usiamo Mercurial che ha una ramificazione e fusione molto semplice (devo dire, più facile che in Git). I bug non sono una questione di revisione del codice.
Facciamo riunioni di team in cui vengono annunciati i cambiamenti e le novità, ma non tutti prestano attenzione. Probabilmente dovremmo fare un po 'più di revisione del codice.