Che cosa significa l’espressione “Pair Programming”?
Il pair programming affonda le proprie radici nell’eXtreme Programming, una metodologia di sviluppo software “mirata a migliorare la qualità del codice e la responsività al cambiamento dei requisiti del cliente“.
La metodologia del Pair Programming prevede la presenza di due persone su uno stesso terminale. In generale si identificano due ruoli: il “driver” (conducente) ha il compito di scrivere il codice, mentre il “navigator” (navigatore o osservatore) ha il compito di supervisionare e correggere il codice man mano che viene scritto.
Durante l’attività, i ruoli possono essere scambiati a intervalli regolari così che il navigator diventi driver e viceversa.
Pair Programming: gli aspetti più interessanti
In genere, la prima volta che ci si avvicina a questa tecnica si ha l’impressione di “perdere tempo”. L’intuito e l’istinto ci portano a pensare che la “velocity” si dimezza: lo stesso lavoro fatto “in pairing” potrebbe essere svolto da due persone contemporaneamente, raddoppiando la velocità.
Su questo punto occorre però fare attenzione: l’istinto e l’intuito spesso ci possono ingannare; per una reale valutazione occorre procedere con un’analisi più profonda in modo da comprenderne i reali pregi e difetti (soprattutto nel medio/lungo periodo). I risultati di questa analisi possono essere sorprendenti e inattesi.
Vi sono diversi aspetti della programmazione in gruppo (due o più persone) che hanno catturato la mia attenzione. Di seguito vorrei provare a fare un elenco dei punti che ritengo più interessanti: per ognuno di essi si potrebbe forse dedicare un articolo a parte, ma per il momento vorrei accontentarmi di descrivere a grandi linee queste meccaniche “nascoste”.