sábado 28 de junio de 2008

Pair Programming, Cola y Software Factory


Hace ya bastante tiempo que conocí el concepto de Pair Programming, que para el que no lo conozca, se trata de una técnica de desarrollo que se basa en que dos programadores trabajan simultáneamente sobre el mismo código. Programan juntos lo mismo compartiendo ordenador, uno teclea y otro dicta.

En realidad la definición es mucho más formal y define a los participantes como Driver (o el que teclea) que es el encargado de implementar en base al cumplimiento de las normas de estilo o buenas practicas de programación, y el Observer que es el encargado del aspecto estratégico, afronta una visión más global del aplicativo, selecciona patrones correctos, etc.

Nunca creí que esto pudiera funcionar, de hecho es algo que descarte nada más conocerlo sin prestarle más atención. Porque para mi un programador tecleando y otro al lado con unos papeles explicándole que hacer, no me entra fácil.. que perdida de tiempo !!!

Evidentemente la técnica evoluciona y ya los entornos de desarrollo distan mucho de los que yo use cuando era programador. De repente me encuentro algo, como Cola y la Edición compartida en tiempo real, y todo ello en Eclipse integrado y con skype..

A continuación os dejo el video, que no tiene ningún desperdicio, pero si al que no le apetezca le dejo un enlace con el plugin de Eclipse que explica como funciona.


De repente uniendo esto, con el Pair Programming y la Software Factory, empiezo a tener ideas de como un programador senior, quizás fuera capaz de Construir una aplicación manejando a la vez a tres programadores junior, siguiendo sus avances y dictando ordenes.. Además estos podían estar en diferentes lugares...

Vale, ya se que no invento nada, esto se llama Virtual Pair Programming, pero en principio voy más allá.. pienso en la parte NearShore como Observer y el OffShore como Driver.. ¿Imposible? Técnicamente no lo es, y rentable supongo que si sería.. Probablemente sea una locura, pero si pudiera lo intentaba..

Otra idea, que me asusta, es si esto se pude volver un gran hermano (Big Brother) de la programación, en que se controla línea a línea, lo que escriben los programadores.. Esperemos que esto última jamás sea cierto, porque pase la Monitorización se Servidores, pero la Monitorización de Programadores.. :-D

Gracias a Abraham por el video y la idea..

3 comentarios:

Hyoga dijo...

Todo un placer ;)

Es una idea muy interesante el unir el Pair Programming y la Software Factory, no solo para el desarrollo habitual sino también para la formación.
Esto aceleraría la curva de aprendizaje sobremanera. Una de las mejores maneras de aprender a programar es leyendo mucho código y comprendiéndolo... y si encima lo están escribiendo contigo delante y puedes ver a dónde quiere llegar un comoañero y de qué manera lo hace... seguro que aprendes mucho más rápido.

Un saludo.

Mancarf dijo...

Muy interesante, no había pensado en la Formación de programdores.. incluso para formación e-learning..

Kmilo dijo...

Solo una vez he hecho Pair Programming y fue muy agradable, realmente es mas fácil ver los errores entre 2 así que se comenten menos, y siempre hay alguien pensando a niveles mas altos de abstracción que el código que se esta escribiendo