In parte, dipende da come stai facendo la programmazione di coppia. In alcuni casi, il driver della coppia sta scrivendo il 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 coppie coinvolge sia le persone che scrivono codice contemporaneamente: una persona sta scrivendo la funzionalità implementata e l'altra sta attivamente sviluppando e scrivendo codice di test all'unità e livello di integrazione, discutendo ancora i dettagli di progettazione e implementazione del sistema.
Indipendentemente dal tipo di programmazione della coppia, funziona efficacemente come una revisione del codice continua. Hai due occhi di persone sul codice, stai attento agli errori prima che sfuggano a un sistema di test / accettazione o al campo successivo. Hai anche due persone che comprendono molto bene una particolare parte del sistema, per fungere da ridondanza per ridurre al minimo il tuo fattore di bus . Entrambi i problemi di rilevamento precoce e la diffusione della conoscenza del sistema all'interno del team riducono il costo della creazione di un sistema.
La diffusione della conoscenza non è solo limitata alla conoscenza tecnica del team. A seconda di chi è la coppia, può consentire alle informazioni di fluire tra un membro più anziano della società 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 detto, aiuta anche a mantenere gli sviluppatori concentrati e in flusso . Oltre al flusso, molte persone hanno meno probabilità di interrompere più persone che lavorano su qualcosa che 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. Questo è meno probabile se vedi due o più persone che collaborano o discutono in modo collaborativo - non li interromperai. Le interruzioni costano tempo e spendere più tempo significa costi più elevati. È nel migliore interesse del business massimizzare la produttività dei dipendenti.
Tuttavia, ci sono alcune sfide che devono essere superate per rendere possibile la programmazione della coppia. Prendi in considerazione aspetti come scontri di personalità o scegliendo le coppie per distribuire correttamente le conoscenze. C'è anche la considerazione di quando ruotare esattamente le coppie. La programmazione accoppiata eseguita a caso probabilmente non sarà efficace come quella pianificata. A seconda della composizione della tua squadra, potrebbe non essere efficace per accoppiare le persone.