Quand on travaille à deux sur un projet (qu’il s’agisse de programmation ou d’un autre projet), cela présente en principe de nombreux avantages. Quatre yeux voient généralement mieux que deux : le risque d’erreurs est réduit par le pair programming. Pendant qu’une personne écrit, l’autre regarde le code et se concentre uniquement sur la détection des failles. Il est généralement difficile de voir ses propres erreurs. Un collège détecte souvent beaucoup plus rapidement les incohérences.
Par ailleurs, la créativité développée avec la communication présente également un avantage incontestable : l’échange permanent du binôme permet de faire jaillir des idées auxquelles l’un ou l’autre n’aurait sans doute jamais pensé. L’interaction des deux partenaires permet également de mieux résoudre les problèmes, plus rapidement. En effet, alors qu’un individu seul se satisfera potentiellement de la première solution trouvée, il devra obligatoirement justifier ses décisions vis-à-vis de son collègue dans le cas du pair programming. Celui-ci aura néanmoins éventuellement un autre point de vue sur le problème et ne se satisfera donc pas de la solution proposée. La discussion qui en résultera permettra souvent de générer des idées améliorant nettement le code.
Un bon code est finalement aussi un code épuré : l’expérience a démontré que le code source généré lors du pair programming était souvent plus court et donc plus efficace. L’économie en ressources au niveau de la maintenance et du remaniement sera donc importante.
Comme indiqué précédemment, cette technique peut aussi être utilisée pour permettre à des collaborateurs expérimentés de transmettre leurs connaissances à des collègues plus jeunes. L’entreprise bénéficie ainsi non seulement des avantages du pair programming (la création d’un code de grande qualité), mais aussi de la méthode à des fins de formation.
Le tout prend néanmoins beaucoup du temps à disposition : certes, deux programmeurs avancent nettement plus vite qu’un seul, mais pas aussi vite que deux programmeurs travaillant séparément. Autrement dit, avec cette méthode, soit les projets progresseront plus lentement, soit davantage de personnes devront être embauchées, ce qui entraînera une augmentation des coûts. Les partisans du pair programming partent cependant du principe que ce surplus de travail initial vaut finalement le coup : étant donné que le code ainsi créé contient moins d’erreurs et est globalement mieux structuré, des économies sont faites au niveau de la maintenance.
Un autre avantage possible : le pair programming s’inscrit parfaitement dans la création d’un bon esprit d’équipe, mais à la seule condition que les deux collègues puissent bien travailler ensemble. Le binôme doit interagir si étroitement que des problèmes personnels conduisent soit à un ralentissement du projet, soit débouchent sur une situation explosive. C’est la raison pour laquelle dans cette méthode, le choix des collaborateurs ne peut pas être laissé au hasard. Il est certes idéal que chacun ait l’opportunité de travailler avec tel ou tel collègue, mais cela ne peut fonctionner que si toute l’équipe est en parfaite harmonie.