
Pillole di Time Management
Per realizzare un progetto necessitiamo di un certo quantitativo di risorse, tra le varie tipologie di risorse troviamo quelle economiche, materiali, umane e il famigerato
Recentemente in azienda ho avuto l’occasione di partecipare ad una sessione di Pair Programming al fianco dello sviluppatore senior che lavora con me durante l’implementazione di una funzionalità strategica relativa ad uno dei progetti che sto seguendo in prima persona. Ma di preciso che cos’è il Pair Programming? Oggi vediamo nel dettaglio la tecnica della programmazione in coppia con i relativi vantaggi e svantaggi.
Il Pair Programming è una tecnica di lavoro facente parte della metodologia AGILE nella quale due sviluppatori software lavorano insieme in una sola postazione sullo stesso codice contemporaneamente. Lo stesso discorso vale anche per il Pair Programming da remoto, dove due programmatori lavorano insieme sullo stesso codice dalla propria abitazione attraverso la condivisione dello schermo o strumenti che consentono di lavorare in maniera collaborativa sul codice sorgente come Live Share, un’estensione di Visual Studio.
Le due persone che lavorano assumono ruoli distinti: il conducente o pilota, dall’inglese driver, che si occupa di scrivere il codice e ha come obiettivo quello di sviluppare una soluzione funzionante; l’osservatore o il navigatore, dall’inglese navigator, che si occupa di supervisionare e revisionare in tempo reale il codice scritto dal collega segnalando errori e proponendo soluzioni più efficienti. Come facilmente intuibile, questi termini sono stati adottati dal Rally. Solitamente i due sviluppatori si alternano nei ruoli ed hanno un livello di anzianità diverso: uno junior e un senior.
Questa tecnica viene anche utilizzata in ambito formativo, io stesso alle scuole superiori ho lavorato per diversi mesi al fianco di un compagno di lavoro. In questo modo lo sviluppatore con meno esperienza ha la possibilità di seguire il processo di scrittura di codice qualitativamente migliore rispetto al suo e il senior, spesso facente funzione di tutor o mentore, ha la possibilità di vedere il modo di ragionare del collega ed, eventualmente, dirigerlo verso una soluzione migliore.
Come facilmente intuibile, questa metodologia di lavoro porta con sé dei vantaggi e degli svantaggi. L’attività richiede l’impiego di due programmatori e, inevitabilmente, aumenta i tempi di sviluppo. L’uso di due sviluppatori di diversa seniority sullo stesso codice, tuttavia, aumenta la qualità del codice, la manutenibilità e riduce il proliferare di bug e malfunzionamenti, questo può essere utile durante lo sviluppo di funzionalità strategiche. Una sessione di Pair Programming è comunque d’alto valore formativo per gli sviluppatori junior. Lavorare a stretto contatto con i colleghi più esperti può essere molto utile per la condivisione della conoscenza, evitando di avere programmatori che detengano il monopolio del codice, per il rapido inserimento di nuove risorse all’interno del team e per mantenere coesi team già esistenti. Inoltre bisogna stare attenti all’effetto traino dove il navigatore risulta poco collaborativo e alla scelta delle coppie perché ci sono alcuni programmatori che sono poco inclini al lavoro di squadra e più produttivi nel lavoro “in solitario” con la musica nelle orecchie.
Avevi già sentito parlare del Pair Programming prima di oggi oppure hai avuto l’occasione di lavorare con questa metodologia di lavoro? Raccontami la tua esperienza!
Per realizzare un progetto necessitiamo di un certo quantitativo di risorse, tra le varie tipologie di risorse troviamo quelle economiche, materiali, umane e il famigerato
Dopo aver visto in un articolo precedente gli innumerevoli problemi che affliggono le applicazioni monolitiche e l’architettura a microservizi che ha l’obiettivo di risolvere tali
Con la corsa alla digitalizzazione si è diffusa molto rapidamente la filosofia DevOps che, mettendo in sinergia sviluppatori, project manager e addetti alle infrastrutture, consente
Questo sito utilizza cookie e tecnologie simili per garantire il corretto funzionamento delle procedure e migliorare l’esperienza di uso delle applicazioni online. L'utente è invitato a leggere le relative pagine di documentazione elencate di seguito:
Titolare del trattamento
Riccardo Riggi – Via Campomorone, 40/16 16164 Genova (Italia)
Indirizzo email: info@riccardoriggi.it
Hosting provider
Aruba S.p.A. - Via San Clemente n.53 Ponte San Pietro 24036 BG
Indirizzo email: dpo@staff.aruba.it
Gli Utenti che dovessero avere domande sono incoraggiati a contattare il Titolare
I cookie tecnici sono necessari per consentire la navigazione del sito e l’utilizzo di alcuni prodotti e servizi. Vengono utilizzati, ad esempio, per riconoscere l’utente che si è autenticato alla propria casella di posta elettronica e mantenere aperta la sessione anche quando visita altre pagine del sito, oppure per garantire alcune misure di sicurezza del sito e monitorarne il corretto funzionamento. Fra i cookie utilizzati troviamo:
L'utente è invitato a leggere l'intera Cookie Policy
Se disabiliti questo cookie, non saremo in grado di salvare le tue preferenze. Ciò significa che ogni volta che visiti questo sito web dovrai abilitare o disabilitare nuovamente i cookie.