Pair programming en practica…

La practica de “Programación en pares” o “Pair programming” es algo que no había practicado en su totalidad, esta semana estuve practicando y de verdad creo que es una gran idea.

Por un lado, es complicado no tener el “control” del teclado, esto puede ser complicado o incluso molesto si eres muy posesivo con el teclado. Otra cosa interesante es que es muy útil usar un par de monitores, así como de teclados y ratones. Es requisito indispensable que los desarrolladores se pongan de acuerdo sobre quien hace que cosa, de lo contrario puede ser también molesto.

Lo que mas me ha gustado de “Pair programming” es que se favorece la comunicación entre desarrolladores, pues mientras uno teclea “su” código, el otro observa; esto permite que se intercambien ideas, experiencias, razonamientos; lo que se traduce en mejor código, maduro, estable. Esta experiencia para mi ha sido fabulosa, me agrada muchisimo la sensación que te queda al final de día cuando vez los resultados del trabajo. El rol de “observador” de código pretende que se pueda opinar y/o sugerir mejoras, intercambiar ideas con el “codificador”, al intercambiarse los roles la perspectiva cambia totalmente. Es muy recomendable, si no es que mandatorio, acompañar Pair Programing con TDD, pero TDD en serio.

A primera vista pareciera que el “Pair Programming” es muy costoso, dado que tienes a dos desarrolladores haciendo lo “mismo”, pero hay muchos beneficios adicionales a los que he mencionado. Lo que mas me ha impresionado es que se reduce la perdida de tiempo en otras cosas diferentes a lo que se debe hacer, se evita la procastinación. El tener a los desarralladores cada quien en su lado y aislado puede generar demasiada procastinación.

Me he sentido muy cómodo trabajando así, me he sentido productivo escribiendo código y mejorando el que mi compañero escribe, es rico irse a la cama sintiendose satisfecho y con ganas de ir a trabajar al otro día.

Empezando…

Asi es, me encuentro de nuevo empezando otra etapa de mi vida profesional. El cambio no pudo caerme mejor, de hecho lo necesitaba desde hace mucho tiempo.

Estoy en mi tercer día, sigo familiarizandome con el proyecto, que por razones de un convenio de confidencialidad no puedo contar, solo puedo decir que haré mucho Swing y mucho del lado del servidor, y todo con Spring. 😉

El entorno de trabajo es excelente, el ambiente me agrada mucho, pero sobre todo que se usa Agil, en concreto Scrum. Desde el primer día participe en el Daily Meeting. El equipo es auto-organizado, no hay líderes, la comunicación se favorece en lugar de la documentación excesiva. El equipo es multicultural, eso también me agrada mucho, voy a mejorar mi ingles, eso esta mucho mejor…

En fin, seguro aprendere mucho de Ágil, así que de ese aprendizaje empezare a bloguear. Tengo mucho que aprender…