Nov 18
jjballanoOtros
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
Nov 17
jjballanoFormación, Saraos
Ayer terminó el curso de 2 días al que asistí sobre TDD y que impartió el gran Enrique Comba.
El curso comenzó con diferentes ejercicios para ver qué pensábamos que era TDD, conocer a gente del curso a la que no habíamos visto nunca y tratar de centrar un poco lo que se daría en el curso y ver sobre que de todo nos interesaba que se profundizase. Si no recuerdo mal (que seguro que sí), el “temario” del curso era el siguiente:
- TDD
- Refactorización
- BDD
- Mocks & Stubs
- Diseño Simple
- SOLID
De estos 6 temas teníamos que votar 3.
El curso al final se ha centrado en un problema muy simple, pero que nos ha costado a todos horrores hacerlo porque estábamos preocupados de cada uno de los detalles de la implementación. El problema era sobre un cajero autómatico, es decir, meto tarjeta, pongo pin, pido dinero y si tengo suficiente en mi cuenta me lo da. Sencillo pero donde hemos estado trabajando más de un día. No importa, el aprendizaje ha sido mucho.
No hemos aprendido (que sí practicado) a hacer test unitarios, de integración ni nada así, tampoco era el objetivo y creo que por eso puede haber gente a la que le haya decepcionado el curso (sobretodo a la gente que no conocía a Enrique de antes). Nos hemos centrado en el buen diseño, en el buen nombre de las cosas, en poner cada cosa en su sitio, etc.
Yo siempre digo que mi modo de programar es el de la consultora, y es algo que llevo intentando cambiar de un año para acá. Con “modo consultora” me refiero a programar deprisa, sin preocuparme del código que hago siempre que parezca funcionar y sacar cuantas más funcionalidades posibles en el menor tiempo, ya nos preocuparemos de los bugs por lo que les vamos a cobrar otro tanto… Error de los gordos! Y una estafa como decía Xavi Gost en el Agile Open Spain.
Ahora toca practicarlo en casa, hasta que salga sólo, sin necesidad de pensarlo. En el trabajo no aplicaré TDD sobre software que vaya a llegar al cliente mientras no domine la técnica en condiciones. No tengo que hacer pagar a ningún cliente por mi aprendizaje.
Nov 14
jjballanoMetodologías ágiles, Saraos
Bueno, pues ya terminó la #aos2010. No voy a contar las sesiones, ya lo han hecho algunos por mi. Mi objetivo es sobretodo centrarme en las sensaciones generales.
Creo que el tweet que puse al llegar al hotel el sábado resume bien mi impresión:
“ya se ha terminado el #aos2010 y sensación distinta al año pasado: este año no quiero cambiar el mundo, ya lo está haciendo”
Sobre esta frase me preguntó Amalia en una especie de juego que hicimos unos cuantos donde uno tenía que preguntar al de al lado algo y éste tenía que hablar durante 5 minutos sobre ese tema. Creo que no llegué a explicarlo bien, voy a intentarlo ahora.
Ver como un open space llena hasta la bandera, más gente que se ha quedado fuera y gente que se dio de baja teniendo plaza (lo cuál indica que había interés pero que por diversos motivos no pudieron ir) hace pensar que hay bastante gente interesada. Además, una idea que estuve hablando con varias personas durante todo el open, que era hacer más eventos de este tipo y más específicos, salió en la retrospectiva y hubo un porcentaje interesante de gente que estaba de acuerdo.
¿Qué significa esto? No que las metodologías ágiles sean las que vayan a salvar el mundo, sino que hay una corriente muy importante de gente que está preocupada por lo que hace, que quiere mejorar siempre. Y allí había todo tipo de perfiles, no éramos un grupo de frikis llorones porque el mundo está en contra nuestra, sino que había desde directores generales de empresa, hasta desarrolladores de a pie, incluso había al menos una persona que se presentó diciendo que no era ni informática, pero supongo que tendría muchas ganas de aprender.
Para mi, el sector para el que trabajo está mal, muy mal, pero nadie distinto a nosotros podemos mejorarlo. Ver que cada vez hay más gente que al menos se preocupa me hace pensar que el mundo (el mundo profesional en el que me muevo) ya está cambiando, lentamente pero está cambiando. Ver que las sesiones centradas en el software tuvieron una acogida muy buena me da muchísimo ánimo. Parece una obviedad que dedicándonos a desarrollar software sean sesiones más que demandadas, pero muchas veces nos perdemos en eventos/charlas sobre una tecnología (ej, taller de lenguaje X, nuevas características del framework Y,…) y nos olvidamos que nuestro objetivo es hacer SOFTWARE que FUNCIONA y está bien hecho. Esta vez no, esta vez se llenaron hasta la bandera (no se las demás) sesiones como la de “Software que funciona” del genial comunicador y desarrollador Xavi Gost, “Software craftmanship” de Enrique Comba (creo que la sensación del open para la gente que no le conocía previamente) o la de “Frameworks sí o no” de Roberto Canales y los otros 2 monstruos que he nombrado antes.
De todas formas, con una de las cosas que más disfruté, mejor me lo pasé, más me cargó las pilas y más ganas me dio ganas de comerme el mundo fue en la cena del viernes, ya fuera del evento. Allí estábamos (espero no dejarme a nadie ni meter gente que no estaba) Xavi Gost, Enrique Comba, José Manuel Beas, Jorge Jimenez (semurat), Raquel Laina, Amalia Hernandez (que llegó más tarde porque estaba realizando tareas de organización del evento, que por cierto, un 10 para todos), Alfredo Casado, Laura Morillo, Javier Acero (me olvidé de ponerlo al principio, levanto las manos y reconozco mi error) y un servidor. Allí salieron tantos temas interesantes y tantas risas, que sólo por eso mereció la pena el fin de semana.
Mi retrospectiva particular (y poco formal) sobre el evento en sí:
- Vi 2 opens muy distintos, el más orientado a la “gestión de proyectos” y los más orientados a labores técnicas. Cuándo no coincido en ninguna sesión con un porcentaje alto de los asistentes, es que hay intereses muy distintos y quizás organizar 2 de 75 personas sea más barato y fácil. O mejor, hacer muchos opens, en muchas provincias/comunidades, más específicos, con los asistentes que sean (5 o 500), sin necesidad de patrocinadores (es decir, a coste 0), sin necesitar que haya ninguna asociación detrás (es decir, la organizan personas como tú y yo)… se puede, y trataré de demostrarlo, más pronto que tarde.
- Gente que trata de acaparar sesiones. Si quieres una presentación la propones, si es un debate deja hablar.
- Organización y lugar del evento perfectas. Por poner un pero, me pareció excesiva la facilitación, creo que debería de haberse dejado más al “libre albedrío”.
- La gente con la que intercambié palabras, un 10 para todos.
- Variedad de perfiles que asistieron.
Y para terminar, cosas a las que darle vueltas estos próximos días/semanas/meses/años:
- Hablando con Enrique Comba de camino al hotel el sábado, hacía la reflexión (o al menos eso entendí) de que lo Agile no funciona por si sólo. Funciona mucho mejor hacer las cosas bien, sin ningún nombre ni tener que seguir lo que dices los iluminados con certificación. Tampoco hay que tratar de cambiar la visión de nadie, a mi me funciona. Y a ti te va bien? Pues ya sabrás tú lo que tienes que hacer… si quieres me preguntas cómo lo hago yo, sino no te trato de convencer que lo mío es mejor
- José Manuel Beas me dijo un “como molas, tío”, después de comentarle alguna de las cosas que pasaban por mi cabeza. El ego por las nubes, autocomplacencia cero. Simplemente me hace pensar que mi camino parece el correcto.
- No quiero montar una empresa, quiero un taller.
- Constancia, fuerza antes los palos y paciencia es, entre otras cosas, lo necesario si quieres cambiar el mundo a tu alrededor (lección de Raquel Laina en su sesión)
Nov 11
jjballanoMetodologías ágiles
Hace algo más de un año vi un anuncia en javahispano (si no recuerdo mal), donde se hablaba de un evento sobre algo llamado metodologías ágiles, que era gratuito y en sábado. No tenía ni idea de qué iba el asunto pero siendo gratis me dije, voy a ver de qué va eso. Y eso era el Agile Open Spain. Para no ir de nuevas, pregunté en la lista de correo de Agile Spain (donde me apunté después de tener plaza en el Open) qué podría mirarme antes del evento para empaparme un poco sobre lo que iba a tratar. Me recomendaron esto y desde entonces (la lectura del libro y la asistencia al evento) mi vida en cuanto a lo profesional cambió radicalmente.
Siempre pensé que tenía muchos pájaros en la cabeza cuando buscaba trabajo. Pensaba eso de “bueno, me gustaría que fuera así, pero esto es lo que hay”, y ver que había gente que decía que muchas de las cosas que yo pensaba funcionaban y que tenía el nombre de metodologías ágiles, me hizo replantearme muchas cosas y buscar siempre la mejora continua. Desde entonces, en cuanto a lo profesional he ido evolucionando. Creo que mi evolución la resumo en la frase que les dije a la gente de Autentia en la entrevista que me hicieron hace un par de meses:
“El año pasado os envié el CV también pero no me hubiérais cogido. Este año es distinto”
Y bueno, no me cogieron pero no por falta de conocimientos y ganas sino por falta de un puesto que cuadrara conmigo.
Dentro de poco más de medio día empezará el Agile Open Spain 2010. Este año lo afronto de forma muy distinta. Ya conozco a mucha gente, y más que me faltan por desvirtualizar y mi conocimiento e interés son superiores a la edición del año pasado. Incluso me planteo el proponer sesión!! Ya veremos…
El año pasado fui a las sesión más “teóricas” sobre las metodologías ágiles, ya que no tenía ni idea de qué iba el asunto. Este año creo que voy a tirar más por las técnicas, que es al fin y al cabo lo que me gusta, aunque dependerá de que sesiones haya. Es lo bueno que tiene un Open, que son todo sorpresas, incluso las mismas sesiones, que se decidirán en el momento.
Iba a poner un párrafo diciendo lo que espero de este año pero no consigo escribirlo. Realmente es que no se lo que espero y es lo bueno de este tipo de eventos, no sabes que te vas a encontrar, a que sesiones, con quién hablarás más o menos… Simplemente espero aprender de toda la buena gente y gente buena que va allí.
Y para la noche… #agilidadnocturna y #mojitosagiles. Seguro que igual o más interesante que el propio evento.
Nov 01
jjballanoProyectos
Podría escribir 15 post explicando la motivación que tengo por hacer aplicaciones personales, pero creo que los 4 minutos del video lo resumen tan bien, que me parece imposible explicarlo mejor.
Por cierto, una serie de problemas personales han hecho que se retrase esto un poco, pero en cuanto llegue mi nuevo MacBook Pro, monto todo lo necesario para empezar con fuerza… y como dije, si alguien se apunta, bienvenido sea! Incluso si el tema no motiva y apetece otro, escucho ideas
Os dejo con esta obra de arte:
[youtube=http://www.youtube.com/watch?v=A2iq8VEP6go]