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 @ Thursday, February 16, 2006 10:15 AM

Comments on this entry:

Gravatar # re: Annotazioni sul Pair Programming
by Marco Sigot at 2/16/2006 10:58 AM

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 2/16/2006 6:26 PM

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 2/16/2006 7:39 PM

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.
Comments have been closed on this topic.