Programación en pareja


La programación por pares es una técnica de desarrollo de software ágil en la que dos programadores trabajan juntos en una estación de trabajo. Uno, el controlador , escribe el código mientras que el otro, el observador o el navegador , [1] revisa cada línea de código a medida que se escribe. Los dos programadores cambian de roles con frecuencia.

Al revisar, el observador también considera la dirección "estratégica" del trabajo, aportando ideas para mejoras y probables problemas futuros a abordar. Esto tiene la intención de liberar al conductor para que concentre toda su atención en los aspectos "tácticos" de completar la tarea actual, utilizando al observador como red de seguridad y guía.

La programación por pares aumenta las horas-persona necesarias para entregar el código en comparación con los programadores que trabajan individualmente. [2] Sin embargo, el código resultante tiene menos defectos. [3] Junto con el tiempo de desarrollo del código, otros factores como los costos de soporte de campo y la garantía de calidad también influyen en el retorno de la inversión. En teoría, la programación por pares podría compensar estos gastos al reducir los defectos en los programas. [3]

Además de prevenir errores a medida que se cometen, pueden existir otros beneficios intangibles. Por ejemplo, la cortesía de rechazar llamadas telefónicas u otras distracciones mientras trabajan juntos, tomar menos descansos a intervalos acordados o descansos compartidos para devolver llamadas telefónicas (pero regresar al trabajo rápidamente porque alguien está esperando). Un miembro del equipo puede estar más concentrado y ayudar a impulsar o despertar al otro si pierde el enfoque, y esa función puede cambiar periódicamente. Un miembro puede tener conocimiento de un tema o técnica que el otro no tiene, lo que podría eliminar las demoras para encontrar o probar una solución, o permitir una mejor solución, expandiendo así de manera efectiva el conjunto de habilidades, el conocimiento y la experiencia de un programador en comparación a trabajar solo. Cada uno de estos beneficios intangibles, y muchos más, puede ser un desafío para medir con precisión,pero puede contribuir a un horario laboral más eficiente.

Un sistema con dos programadores posee un mayor potencial para la generación de soluciones más diversas a problemas por tres razones:

En un intento de compartir metas y planes, los programadores deben negociar abiertamente un curso de acción compartido cuando surge un conflicto entre ellos. Al hacerlo, consideran una mayor cantidad de formas de resolver el problema que las que podría hacer un solo programador. Esto mejora significativamente la calidad del diseño del programa, ya que reduce las posibilidades de seleccionar un método deficiente. [4]


Programación en pareja de dos compañeros de trabajo, 2007