Agile – Pair Programming

Due Programmatori, Meglio di Uno

Pair programming Uno dei tanti aspetti interessanti delle metodologie Agile è la tecnica del “Pair Programming” descritta specificatamente nel modello Extreme Programming (XP). Quando se ne parlava per la prima volta, qualcuno sorrideva, chiedendo di essere più seri. Superficialmente, sembra non aver senso. Dopo tutto, programmare non significa costruire una Cattedrale.

Di solito, il programmatore riceve le specifiche del disegno dell’applicazione e inizia a scrivere codice. Apparentemente, sembra non aver senso che un programmatore codifichi e un altro guardi quello che fa il primo. Eppure …

Anche se non sembra intuitivo, questa tecnica ha dimostrato di funzionare egregiamente. Infatti se non avesse funzionato, non farebbe parte della base dello sviluppo Agile e sbandierata negli ambienti di sviluppo più evoluti.

La presenza di due programmatori, anziché uno offre diversi vantaggi:

  • Il codice prodotto è di qualità superiore – Un programmatore scrive il codice e l’altro guarda e fornisce immediatamente il suo feedback sul disegno e sull’accuratezza del codice. Vengono scoperti molto prima gli errori logici poiché il pensiero di un programmatore viene immediatamente valutato o confutato dal secondo.
  • Si produce più codice – Due programmatori producono più codice rispetto ad uno solo (ma più del doppio). Ciò perché ognuno scrive a turno una parte del codice. Infatti, tra i due programmatori viene scritto codice quasi senza interruzione di continuità del lavoro.
  • Il codice prodotto è più pulito – Di solito, una persona stanca produce codice pieno di difetti. Due programmatori si mantengono freschi perché si alternano al terminale nel ruolo di codificatore e revisore. Ciò consente di inserire meno difetti.
  • I requisiti possono essere confermati prima – Se un programmatore interpreta male una “user story” , il secondo programmatore può scoprire l’errore immediatamente.
  • Non è necessaria la revisione del codice – Il codice risulta già revisionato dal secondo programmatore. La necessità di revisionare il codice generalmente si elimina poiché il codice è stato validato da due persone al momento della stesura stessa.

“Programmare” comprende la stesura iniziale del codice, il test e il tempo per la correzione dei difetti ed i rifacimenti necessari per garantire che il codice sia completo e corretto. I team che utilizzano il “pair programming” hanno dimostrato che la tecnica fa raddoppiare la produttività ed anche più. In altri termini la produttività aumenta anche il doppio, poiché viene implementato codice più pulito, con meno errori rispetto a quello prodotto da programmatori che codificano da soli.

Le metodologie Agile sono in pieno fermento ed una certificazione Agile è ciò che occorre avere nell’attuale mercato del lavoro! Quale certificazione scegliere ? Dipende dalle specifiche esigenze del tuo momento lavorativo.

Certificazioni SCRUM

Portale PMTSI