Design & Code Review - Corso Aziendale


Produrre software di qualità è un compito molto difficile. Nel corso degli anni sono state proposte molte tecnologie in grado di supportare gli sviluppatori (CASE, RAD, ecc), ma raramente i risultati si sono dimostrati all'altezza delle aspettative.
Da molti esperiementi, e dall'esperienza concreta di chi ha provato ad adottarle, è da tempo emerso come una delle pratiche migliori (forse la migliore in assoluto) per produrre software di qualità sia l'adozione delle Technical Review, ovvero di uno specifico processo di revisione del design e del codice (applicabile peraltro anche ad altri documenti, come l'analisi dei requisiti) con l'obiettivo di trovare i difetti il prima possibile, quando la rimozione risulta più economica.
Il processo di review, pur se molto efficiente, pone alcuni problemi non banali, dalla mera giustificazione del tempo necessario a ben più serie problematiche di rapporti umani all'interno dei team. Non va quindi introdotto alla cieca: una delle casue più frequenti di fallimento nell'introduzione delle review è infatti la mancanza di training per i moderatori e team leader.
Il presente corso, orientato proprio ai team leader ed ai futuri moderatori di review, delinea gli elementi essenziali, i ruoli delle persone, le varianti possibili, l'uso di checklist, le fasi del processo ed i documenti da produrre.
Obiettivo del corso è non solo la presentazione del materiale, ma anche e soprattutto la discussione con i presenti circa l'applicabilità in azienda e gli eventuali problemi da affrontare, come sempre con la possibilità di confrontare la propria situazione con altre realtà aziendali in cui sono state introdotte con successo le technical review.
Riconducendo alla pratica alcune interessanti ricerche, mostra anche come utilizzare i risultati delle review per ipotizzare il numero di difetti residui presenti nel codice, dando così una utile indicazione per pianificare sia future review che lo sforzo di testing. Il corso discute anche l'utilizzo di tool e metriche come supporto all'identificazione delle porzioni di codice e design da ispezionare, e come affrontare con efficacia anche le review dei modelli (ad es. UML), riportando nella pratica i risultati di alcuni esperimenti sull'efficacia dei diversi stili di revisione nel trovare errori "distribuiti" tra piu' diagrammi.

Dettagli sul corso

Durata: 1 giorno
(con possibilità di ulteriori giornate di consulenza specialistica per adattare il processo, i template di documenti e le singole checklist alla struttura aziendale)

Partecipanti: massimo 15.

Prerequisiti: i partecipanti devono avere una buona conoscenza del processo di sviluppo, delle problematiche di design e di codifica. Abitualmente il corso è rivolto a team leader e software architect.

Programma del corso:

Introduzione
Perché fare le Review; Tipi di Review; Adottare le Review.

Ruoli e Processo nelle Review (overview)
Ruolo delle persone nelle Review; Overview del processo.

Processo di Review (dettagli)
Descrizione step-by-step di ogni fase (Planning, Overview, Preparazione, Meeting, Report, Follow-up), con esempi di documenti e discussione di quando e se svolgere ogni fase.

Fattori critici di successo o fallimento
Cosa fa funzionare le review, cosa le fa fallire.

Checklist
Caratteristiche di una buona checklist, esempi vari.

Misure
Cosa e perché misurare durante e dopo le review.

Varianti
Variazioni sperimentate alle review classiche.

Modelli di previsione
Come usare i risultati delle review per stimare i bug residui.

Bibliografia


Note: Durante il corso si discutono abitualmente anche alcune problematiche specifiche di una adozione in azienda del processo di review. Al termine del corso, è possibile prevedere un esercizio reale di revisione, usualmente impostato come review di codice. L'esercizio richiede un accordo preventivo per la selezione della porzione di codice tra i progetti dell'azienda.


Se siete interessati a questo seminario aziendale, potete compilare la seguente richiesta di contatto per fissare un possibile incontro.


  torna alla pagina dei corsi