Pair programming: parte del processo Agile che andiamo a vedere nel dettaglio

Che cos’è il pair programming? Oggi vi spieghiamo nel dettaglio in cosa consiste la modalità di lavoro pair programming e quali sono i suoi vantaggi di questa preziosissima procedura Agile.

Che cos’è il Pair programming

Chi lavora nel mondo dello sviluppo web, sicuramente sa di cosa stiamo parlando. Attenendoci alla definizione di Wikipedia, possiamo dire che il pair programming è:

Una tecnica di sviluppo del software nella quale due programmatori lavorano insieme a una postazione di lavoro.

Diciamo che oggi parlare di postazione di lavoro è un po’ limitativo, perché gli sviluppatori web spesso e volentieri lavorano da remoto, collaborando con colleghi di altre città italiane o del mondo.

Per questo oggi vi parleremo proprio del pair programming da remoto e vi spiegheremo come funziona e quali sono gli aspetti positivo del processo Agile.

A chi serve il pair programming

Come vi abbiamo anticipato, chi lavora come developer si trova spesso a interfacciarsi con colleghi di diverse nazionalità per portare a termine un certo progetto.
Il pair programming serve proprio a questo, ovvero a far lavorare insieme due programmatori anche da remoto in maniera decisamente efficiente.

Il vantaggio è sicuramente il fatto che lavorando in coppia è più semplice sviscerare il problema e venirne a capo, facendo emergere questioni che una persona da sola magari non avrebbe affrontato.
Ma vediamo adesso come funziona il pair programming da remoto.

Pair programming da remoto

Che cos’è il pair programming da remoto? Quello che vi serve è una buona connessione uno strumento per condividere il proprio schermo.
A questo punto, nel pair programmin uno dei due sviluppatori dovrà scrivere il codice, mentre l’altro sviluppatore diventa partecipe nel decidere che cosa e come scrivere, stando più attento a seguire il task correttamente.
Insomma, il pair programming impone la scelta di due ruoli differenti ma affini:

  • il driver
  • il navigator

In genere si consiglia di scambiarsi spesso i due ruoli in modo che l’approccio al problema sia sempre fresco.

Svantaggi e vantaggi del pair programming

Non tutti sono abituati e portati al lavoro in coppia, per questo motivo questa procedura Agile non è apprezzata da tutti i programmatori; d’altronde potrebbe anche succedere che la coppia driver/navigator non sia ben assemblata e che a un driver professionista venga affiancato un navigator meno esperto e viceversa.

A parte questi aspetti negativi, in generale possiamo dire che il pair programming è una procedura molto utile per chi lavora nel mondo dello sviluppo web per diversi motivi:

  • Il team è sempre aggiornato: le coppie che fanno pair si scambiano continuamente all’interno di un team di lavoro, quindi tutti i membri sono sempre aggiornati sul progetto senza bisogno di organizzare standup e iteration metting
  • Qualità del codice: lavorare in coppia con un altro sviluppatore ci permette di prestare maggiore attenzione a quello che stiamo scrivendo: essendo osservati, sarà più naturale chiederci se ciò che stiamo scrivendo è chiaro e corretto
  • Ottimizzazione del tempo: lavorando in due su un unico obiettivo facilita e velocizza il lavoro. Risolvere i problemi in due è più semplice e può essere che il nostro “compagno” abbia già risolto il problema

Perché usare il pair programming

Se siete degli sviluppatori il pair programming è uno strumento utile quando si hanno davanti task complessi. Se invece il task è semplice oppure se driver e navigatori hanno competenze totalmente differenti, questa modalità di lavoro potrebbe risultare una perdita di tempo.

Insomma, c’è chi senza pair non riesce a lavorare e chi invece preferisce il lavoro individuale perché il lavoro in coppia gli crea stress e ansia da prestazione.

Quel che è certo è che lavorando insieme per uno stesso obiettivo può essere un’esperienza costruttiva che favorisce sia la risoluzione dei problemi sia l’arricchimento personale del developer.

Leave a reply