Annotazioni sul Pair Programming

In attesa di ricevere qui feedback anche su cosa/quando la collaborazione non è efficace, economica od efficente mi segno alcune annotazioni sul Pair Programming:

  • Two programmers working side-by-side, collaborating on the same design, algorithm, code or test.
    • One programmer, the driver, has control of the keyboard/mouse and actively implements the program. Types and thinks tactically about the method being created.
    • The other programmer, the observer, continuously observes the work of the driver to identify tactical (syntactic, spelling, etc.) defects and also thinks strategically about the direction of the work.
    • On demand, the two programmers can brainstorm any challenging problem.
  • The two programmers periodically switch (30min) roles, they work together as equals to develop software.
  • 2 people working at a single computer will add as much functionality as two working separately except that it will be much higher in quality (da verificare se è vero ed in che condizioni)

Le fonti: http://www.pairprogramming.com/ , http://www.extremeprogramming.org/rules/pair.html

Update 24-02-2006:

Pair programming is a dialog between two people trying to simultaneosly program and understand how to program better (Kent Beck)

Tags :   |  |  |

Print | posted @ giovedì 16 febbraio 2006 10.15

Comments on this entry:

Gravatar # re: Annotazioni sul Pair Programming
by Marco Sigot at 16/02/2006 10.58

Non credo sia efficace in tutti gli scenari. E' vero che in questo modo si possa risparmiare una buona "fetta" di debug ..ma è anche vero che non tutti i programmatori siano nell'ottica del lavoro "in pair" .. (personalmente mi darebbe fastidio come quando uno ti legge il giornale alle spalle ..e fa i commenti).

Più produttivo, a mio giudizio, è la verifica e testing di pezzi di codice da parte del secondo programmatore, in modo che il primo possa concentrarsi solamente sull'implementazione non preoccupandosi più di tanto delle funzionalità, ovviamente scambiandosi i ruoli di tanto in tanto.

Facendo così, il discorso è estendibile a più programmatori. .

Questa è una mia opinione.



Gravatar # re: Annotazioni sul Pair Programming
by Nicola at 16/02/2006 18.26

Concordo sul fatto che il PairProgramming non sia per tutte le situazioni ne per tutti i developer. E' pero' indubbio che sia la migliore pratica a me nota per aumentare la qualita' del codice che si scrive.
Gravatar # re: Annotazioni sul Pair Programming
by Michele Bersani at 16/02/2006 19.39

x Marco,
se il testing si facesse prima dell'implementazione (TDD), sarebbe piu' efficace.
E in pair, uno puo' fare il test che fallisce e il secondo l'implementazione che lo fa passare e poi via di refactoring insieme. Poi ci si scambia i ruoli.
Gravatar # re: Annotazioni sul Pair Programming
by Luca Mauri at 16/02/2006 20.17

Io ho sviluppato parti di un progetto web asp.net 1.1 utilizzando la tecnica del pair-programming.

Devo dire che ho trovato l'esperienza molto gratificante in quanto mi ha permesso di realizzare parti delicate in modo migliore di quanto probabilmente avrei fatto da solo.

Io ho sempre svolto la funzione di "driver", ma il mio "observer" partecipava attivamente alla decisione implementativa, più che al controllo degli eventuali bug.

E' pero' importante che ci sia sintonia tra i due sviluppatori "in pair", che nessuno voglia avere il predominio assoluto e che entrambi siano tecnicamente allo stesso livello.

Gravatar # re: Annotazioni sul Pair Programming
by Luca Minudel at 17/02/2006 10.29

Grazie dei feedback, gli ho annotati in sintesi qui http://blogs.ugidotnet.org/luka/archive/2006/02/13/34805.aspx
Gravatar # Pair Programming e velocit
by (luKa) at 23/02/2006 15.05

Gravatar # Il Bob Ton del Pair Programming
by (luKa) at 14/03/2006 20.44

Gravatar # Pair Programming e tempi di sviluppo
by (luKa) at 04/06/2006 0.18

Your comment:

Title:
Name:
Email:
Website:
 
Italic Underline Blockquote Hyperlink
 
 
Please add 8 and 8 and type the answer here: