miércoles, 8 de diciembre de 2010

Saros, Programación de a Pares Distribuida?

Whole Team

Todos sabemos que la forma de comunicación más efectiva que existe es la cara a cara, en un mismo lugar físico, adonde cada uno de los participantes de la comunicación pueda ver las expresiones del otro, sus gestos, y hasta la postura del cuerpo, ademas de escuchar su voz y percibir los cambios de tono.

Por eso una de las practicas centrales que proponía para un equipo de desarrollo eXtreme Programming era Whole Team, todo el equipo, incluyendo usuarios, debían trabajar juntos en un mismo lugar, para que la información fluyera , sin barreras.

En mil y una oportunidades los autores de este blog hemos comprobado cuan cierto es esto.

Outsourcing

Sin embargo, somos realistas, y lo que ha sucedido desde hace varios años es que el modelo económico mundial Globalizado basado en la premisa de buscar fuerza de programación, de análisis, testing o Diseño allí donde sea más barato hace que cada vez sean mas comunes encontrar proyectos distribuidos. Viviendo en paises como Argentina, Chile, Bolivia, Uruguay, Perú, Colombia, Ecuador, Venezuela, Mexico o el mismo Brasil (la unica duda que tengo es España y perdón si me olvido de algún otro País), adonde se recibe cada vez mas proyectos "tercerizados", todos sabemos de lo que hablamos.
De cualquier manera, bienvenido sea el trabajo, ademas porque brinda una gran oportunidad para mostrar la clase de profesionales de primera que tenemos en toda hispanoamerica!.
Las mismas metodologías ágiles lo han terminado aceptando (en algunos casos) y asi existen rios de e-tinta sobre Scrum Distribuido para nombrar una.

Nuevos remedios

Hay una frase de Francis Bacon que es una de mis frases favoritas : "Aquel que no aplica nuevos remedios debe esperar viejos males".

Uno de los problemas más importante ha resolver tiene que ver cuando el equipo de programación esta distribuido. Para ello, para desarrollar sistemas con programadores trabajando en distintos lugares se necesitan nuevas herramientas.

Los que escribimos este blog alguna vez hemos intentado trabajar con herramientas de escritorios compartidos como VNC, TeamViewer, LogMeIn, etc. pero la tasa de refresco de pantalla, la modalidad misma de ver toda la maquina del compañero, no poder hablar al mismo tiempo, todo esto hace difícil el trabajo compartido prolongado y en tiempo real.

Saros

A este respecto hace muy poco nos encontramos con este articulo de Kent Beck que atrajo nuestra atención:
"A Few tips for using Saros for Remote Pairing"

Saros es un plugin de eclipse que permite hacer Pair Programming, programación de a pares distribuida! Prometedor verdad?

Aqui tienen el sitio del proyecto Saros.

Tambien puede ver un video de como se trabaja con Saros.

Tips de Instalacion

Les dejo por ultimo unos tips de instalación, porque hay ciertas cosas que solo funcionan por ahora siguiendo por el caminito de piedras...

1 - El proyecto que compartan lo deben tener ambos desarrolladores ya bajados del repositorio de fuentes o tener muy pocos cambios de diferencia. Lo mejor es empezar con un proyecto nuevo, limpio.

2 - Todos los que vayan a formar parte del pair programming tienen que tener cuentas en el mismo servidor Jabber.

3- La única manera que logre hacerlo funcionar detrás de un entorno VPN con firewall (que impedia acceder a un server Jabber externo) fue primero instalando un servidor de Jabber local en una maquina de la misma LAN, por ejemplo el servidor OpenFire 3.6.4.

4- En las pruebas que hice no funcionó creando las cuentas Jabber por afuera de eclipse. Solo anduvo cuando las creamos desde el menú que instala el plugin en eclipse "Saros\create account", ahí recién el plugin reconocio las cuentas, permitio conectarse y pudimos compartir proyectos.

El plugin esta en un estado de desarrollo beta, pero avanzando a grandes pasos. Al respecto Dice Kent Beck: "...en 15 o 20 años la mayoría de los programas serán escritos a través de colaboración en tiempo real distribuida, así que vale la pena un poquito de dolor ahora para experimentar el futuro."

No hay comentarios:

Publicar un comentario