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..