Pair Programming remoto con Saros

7 Comments

En una de mis ideas locas se me ha ocurrido que se podría organizar una cosa que me parece divertida y de la que quizás se podrían sacar cosas positivas. La idea es juntarnos unos cuantos en un lugar, cada uno con su portatil y hacer pair programming pero de una forma especial, sin saber con quién lo estás haciendo. Lo que he llamado (después de que Israel Alcázar me lo comentara), practicar nuestro Anonymous Driven Development (aka ADD). Quizás la idea podría ser resolver un problema conocido por todos e ir cambiando de pareja de forma aleatoria pero sin saber con quien estás (ya me las ingeniaré para que esto ocurra). Luego se podría sacar conclusiones como “es necesario saber con quien estoy?”, “puedo saber con quién estoy a partir de su forma de trabajar?”, “el pair programming con 2 teclados y 2 monitores funciona?”, “cómo de bien se puede hacer pair programming sólo con el código, sin discutir nada de palabra?”, etc.

Suena raro… ¿como voy a estar programando con alguien y no voy a saber quien es? Para eso está Saros que es un plugin de Eclipse donde podemos desarrollar unos cuantos sobre la misma clase de forma remota, todos a la vez, cada uno con su color. Es curioso ver como está escribiendo otro código que tu puedes tocar también.

De cara a los que se quieran apuntar a esta idea loca (o para los que lo necesiten para otra cosa), he hecho una pequeña guía de instalación (saltándome pasos que doy por conocidos, sino es así, preguntad en los comentarios):

Dentro de Eclipse instalarlo como un plugin normal es decir, en el menú ayuda, se selecciona la opción de nuevo software y se busca en la URL http://dpp.sourceforge.net/update, dará la opción de instalar únicamente Saros, se instala y listo. Al reiniciar el Eclipse se mostrará (si no lo hace, ir al menú que pone Saros y darle a Create Account) la siguiente ventana:

Como todavía no tenemos cuenta, creamos una pulsando en el botón correspondiente.

Nos pedirá un servidor XMPP. De momento yo he usado el público que recomiendan desde Saros, aunque se podría crear uno (lo recomiendan para empresas sobretodo). La url del público que uso es saros-con.imp.fu-berlin.de. Es importante que todos los que quieran trabajar juntos estén en el mismo servidor. Se elige usuario y password y a correr!

Ahora tendremos que activar la cuenta en nuestro Eclipse. Para ello vamos al menú de preferencias->saros en el cuadro XMPP-Accounts aparecerá nuestra cuenta, se selecciona y se pulsa sobre el botón Activate Account

Ya tenemos nuestro usuario activado. Nos falta conectar. Supongo que se habrá abierto en el entorno de trabajo una ventana de Saros (sino abrir de la forma habitual). Entonces debemos de pulsar sobre el botón rodeado y seleccionar nuestra conexión. Ya estamos conectados!!

Después de esto necesitamos amigos… sin amigos esto no sirve para nada! Justo en el botón de la derecha del de conectar pulsamos y nos aparecer una ventana para añadir a un amigo. Tenemos que poner su id de usuario y el dominio en el que está (el mismo que nosotros es lo aconsejable), es decir, algo del estilo mi_amigo@saros-con.imp.fu-berlin.de.

Se empezarán a suceder los mensajes de solicitud de “amistad” y cosas así. Aceptar aceptar y aceptar.

¿Pero para que sirve todo esto? Para programar juntos, ¿no? Pues vamos a compartir un proyecto.

Si damos botón derecho sobre el proyecto que queremos compartir, seleccionamos la opción Saros y luego Shared Project, se ve lo siguiente:

Se selecciona los usuarios con los que quiero compartir y finish. Fácil fácil y para toda la familia!

Después de varias confirmaciones por parte de las 2 partes, ya vemos el mismo proyecto los 2. Se pueden tener diferentes roles, pero lo suyo es que los 2 puedan participar. Para ello, en la ventana de Saros, pestaña Shared Project Session, botón derecho sobre el usuario al que queremos darle permisos y seleccionar la opción Give Driver Role:

Y a divertirse!!!!

PS: Mi usuario como no podía ser de otra manera es jjballano y estoy en el dominio que he puesto antes. Invitaciones serán aceptadas :)

7 Comments (+add yours?)

  1. David Bonilla
    Nov 18, 2010 @ 07:32:08

    Me parece una idea brillante, original, con muchas posibilidades… y muy divertida.

    Si necesitas algún conejillo de Indias, cuenta con la gente de Funius :)

    • jjballano
      Nov 18, 2010 @ 11:01:35

      Pues el martes empiezo trabajo nuevo y no se a que hora empezaré a salir, pero en cuanto aterrice y tenga las cosas más claras, sí me gustaría que nos juntáramos 4 o 6 para hacer pruebas durante un rato y si sale más o menos bien, ya hacerlo para todo el mundo que quiera y más tiempo. Tendrás noticias mías en los próximos días ;)

  2. lauramorillo
    Nov 20, 2010 @ 00:07:52

    Ya tengo mi Saros configurado, a ver cuándo alguien se anima para que lo ponga a prueba!

  3. Carlos Ble
    Dec 08, 2010 @ 18:27:42

    Excelente Jesus!!!
    Hace tiempo probe otra extension para lo mismo pero no funcionaba nada bien la sincronizacion de ficheros.
    Actualmente hacemos pareja remota con vnc (bueno, teamviewer) y va muy lento el refresco de pantalla.
    Total que si Saros va rapido, sera un puntazo.

    Quedamos cuando querais para programar un ratito juntos y probarlo.

    Gracias :-)