In parte, dipende da come stai programmando la coppia. In alcuni casi, il driver della coppia sta scrivendo codice, mentre il secondo membro della coppia sta osservando e discutendo i dettagli di progettazione e implementazione del sistema. Un'altra istanza di programmazione di coppia coinvolge entrambe le persone che scrivono contemporaneamente il codice: una persona sta scrivendo la funzionalità implementata e l'altra sta sviluppando e scrivendo attivamente il codice di test a livello di unità e di integrazione, discutendo ancora della progettazione e dei dettagli di implementazione del sistema.
Indipendentemente dal tipo di programmazione di coppia, funge effettivamente da revisione continua del codice . Hai gli occhi di due persone sul codice, osservando gli errori prima che scappino in un successivo sistema / ambiente di test di accettazione o sul campo. Ci sono anche due persone che capiscono molto bene una parte particolare del sistema, che servono da ridondanza per ridurre al minimo il fattore bus . Sia la cattura precoce dei difetti che la diffusione della conoscenza del sistema in tutto il team riduce i costi di costruzione di un sistema.
La diffusione della conoscenza non si limita solo alla conoscenza tecnica del team. A seconda di chi sia la coppia, può consentire alle informazioni di fluire tra un membro più senior dell'azienda a un nuovo membro su altre cose che trascendono il progetto: stile di codifica, cultura aziendale, aspettative e così via. Può anche consentire a qualcuno che ha più familiarità con una tecnologia o uno strumento di condividere le proprie conoscenze in quella tecnologia o strumento in un ambiente reale applicato.
Come hai già detto, aiuta anche a mantenere gli sviluppatori concentrati e attivi . Oltre al flusso, molte persone hanno meno probabilità di interrompere più persone che lavorano su qualcosa rispetto a un singolo individuo che lavora su qualcosa. Se passi dalla scrivania di qualcuno e stanno lavorando da soli, ma devi parlare con loro, potresti bussare e parlare con loro. Ciò è meno probabile se vedi due o più persone che lavorano in modo collaborativo o hanno una discussione: non le interromperai. Le interruzioni costano tempo e passare più tempo significa costi più elevati. È nel massimo interesse dell'azienda massimizzare la produttività dei dipendenti.
Tuttavia, ci sono alcune sfide che devono essere superate per rendere possibile la programmazione delle coppie. Considera cose come gli scontri di personalità o la scelta delle coppie per distribuire correttamente la conoscenza. C'è anche la considerazione di quando ruotare esattamente le coppie. La programmazione di coppia eseguita a casaccio probabilmente non sarà efficace come quella pianificata. A seconda della composizione della tua squadra, potrebbe non essere efficace accoppiare le persone.