Objetivos para el 2011

¡Un año!…ha pasado un año desde la anterior entrada sobre los objetivos del 2010 y puedo decir lleno de orgullo que he fracasado estrepitosamente en la mayoría de ellos.

Como este año tengo posibilidad de hacer balance lo haré punto por punto para a continuación pasar a los objetivos del 2011.

  1. «Hacer más ejercicio». Creo que ni yo me lo creía cuando lo escribí, pero era la intención. Por supuesto he conseguido salir a correr alguna vez pero nada de nada. Hay un agujero negro que se llama ordenador y una tendencia natural a estar sentado que no me facilitan este reto.
  2. «Comprometerme mucho más con la escritura del blog». Veamos las estadísticas: 4 post en enero, 1 en marzo, 3 en junio y 1 en noviembre porque me debió de entrar fiebre. Sin comentarios.
  3. «Quiero enfocar este año en el aprendizaje / mejora de conceptos técnicos» Por fin un punto en que puedo levantarme orgulloso: he ido a cursos de TDD con Carlos Blé, sigo mejorando el tema de realización de test, integración continua, y  ya me manejo con Grails, Groovy y hasta fui a un taller de JRuby, además de los CodeRetreats y katas que he practicado. Algunos avances he ido teniendo 😀
  4. «Aportar mi esfuerzo a la comunidad agil de España«. Vaya, ahora van los puntos en los que he hecho «algo». Sería el momento de hacer balance del grupo AgileCyL, pero será mejor hacerlo en su blog. Solo decir que estoy orgulloso de haber encontrado en esta comunidad gente que no debe envidiar nada a las de otras regiones y que aportan mucho día a día a esta profesión y que les encanta compartir, escuchar, debatir, aportar y aprender. Lamento que la segunda parte del año no he podido estar al 100% comprometido con ellos, pero hay gente que ha tomado el relevo muy bien como @amaliahern, @jacegu, @eduferrandez y @aloaisa y más gente que anda detrás del grupo pero estos cuatro cuando no estaba yo han tirado del carro. GRACIAS CRACKS!!!
  5. «Promover, perseguir y mejorar mi entorno de trabajo en la empresa en que trabajo». ¿Qué puedo decir de esta parte? ¿He fracasado? ¿He conseguido algo? Al final conseguí meter las metodologías ágiles en un proyecto en el cual no me dejaron participar con lo cual tuve cierto desencanto pero asumí mi rol de coach. Por el equipo estuve bastante contento, creo que les fue bien y el proyecto salió, pero había mucho camino que recorrer y pocas ganas en ciertos elementos perturbadores que no facilitaron el cambio de mentalidad en la empresa. Hice aquello que me dejaron, no luché lo suficiente por lo que yo creía y me dejé llevar por la desidia…y sinceramente, mi cabeza estaba desde abril pensando en otra aventura profesional en la que todos los que me siguen por twitter saben: Wiseri. Es mi ojito derecho, mi apuesta de cambio radical en mi vida y donde este punto 5 se va a desarrollar al 100%, aprendiendo cada día y apostando por las metodologías ágiles, la artesanía del software y el extreme programming, ale con dos narices todo en el mismo saco 😀
  6. «Leer más libros técnicos En este momento puedo decir que es imposible que pueda leer más de lo que he hecho el año pasado. Este punto lo he resuelto bien.

Y ahora los puntos de este año 2011, no voy a pasarme tanto como el año pasado, los resumiré en 4 verdaderamente importantes:

  1. Mejorar técnicamente, aprender todos los días algo. @amaliahern me ha enseñado a contestarme 3 preguntas cada día que me hacen valorar mi aportación a los demás y a mi mismo: ¿qué has aprendido hoy? ¿qué has hecho para ser feliz? ¿qué has hecho para que los demás sean felices? Si tu respuesta es la misma ese día has triunfado en lo personal y en lo profesional. Es difícil, muy difícil, pero nadie dijo nunca que fuera imposible.
  2. Contribuir al mundo de desarrollo de software. Creo que ha acabado el camino de sólo aprender, debo seguir aprendiendo pero ahora devolviendo a los demás lo que me han dado, para ello voy a hacer lo posible por escribir entradas en el blog más técnicas siguiendo pasos de gente que aprecio y valoro como @jacegu y @kinisoftware. De hecho y para forzar este cambio puedo anunciar que esta será la penúltima entrada en este blog, la última será para comunicar dónde encontrarme de nuevo con noticias en otro lado (habrá que actualizar RSS).
  3. Seguir apoyando y aportando a gente en las metodologías ágiles. Esto me puede llevar tiempo, que no tengo mucho, pero pienso seguir participando en Code Retreats, Open Space y cualquier evento que tenga que ver con mi ilusión en la vida que es el desarrollo de software y con ello poder ayudar a las personas a darles solución a sus problemas…sí, esas personas que se llaman clientes, pero tienen unas necesidades y nosotros podemos ayudarles con nuestra mejor sonrisa y nuestro mejor trabajo.
  4. Escribir algún post en inglés. Es un asunto de superación personal 😉

Y ahora tendría que dar una lista de agradecimientos…sería infinita.

El ir al XGN de Santiago de Compostela fue el primer punto de inflexión de este 2010, igual que en el 2009 lo fue el AOS. En Galicia encontré de nuevo a gente que admiro y de la que aprendo día a día y ahora me permito la osadía de contar dentro de mis amigos, no sé si lo soy suyo pero en mi tienen un hueco importante por lo que me han dado y por lo que espero devolver alguna vez:

  • Xavi Gost: madre mía!!! un huracán sin control, un rebelde del sistema pero con las ideas claras, un sentido ante la vida envidiable y como los perfumes, un tarro tan pequeño que contiene una gran esencia. Puedes no estar de acuerdo con él, pero no te deja indiferente y su mensaje tiene un transfondo que te dura durante tiempo y tiempo. Debo reconocer que necesito un par de dosis de él a lo largo del año. Me gustaría poder compartir su día a día en beCode en algún momento este año, mejor que algunos Masters que dan por ahí.
  • David Bonilla: si no sigues a este tío y tienes espiritu  de negocio, de tecnología, de ir más allá que quedarte en lo superficial, estás perdiendo el tiempo, este es tu hombre. Mientras hablas con él te das cuenta que mentamente está calibrando el potencial de los que le rodean, haciendo estudios de mercado y viendo las posibilidades que flotan en el aire. Es un crack y seguro que el 2011 da un bombazo, profesionalmente hablando.
  • José Manuel Beas (aka Mr Liante): si te mueves dentro del mundillo ágil en este país no puedes decir que no conoces a este tipo…y ten cuidado si te pilla porque te lía seguro seguro en alguna historia. En Galicia conocí a la persona por encima del personaje y a lo largo del año hemos podido compartir muchos más ratos. Tengo una deuda pendiente con él y no sé si habrá años en mi vida para devolvérsela, de momento puedo decir que estoy donde estoy por empezar a seguir su blog y a Agile Spain.

El segundo punto importante de inflexión fue de nuevo un Open Space, el AOS2010. Está vez ya iba con gente conocida, incluso con el coraje de presentarme a nuevas caras y buscar a los que seguía en distintas redes y no conocía en persona. Aquí la lista ya es más importante y no quiero un post-biblia,a modo de ejemplo: Alberto VilchesRoberto CanalesAlfredo Casado,  Alberto PeñaDani LatorreJordi MonneKinisoftwareJorge UriarteYeray Darias, Germán del ZottoRaquel LainaAriel Ber, Jesús Jiménez, Javier Acero, Israel Alcázar, Laura Morillo

Me he dejado gente lo sé, pero según iba añadiendo (gracias a David Bonilla que hizo un buen recopilatorio en su post) sentía que dejaba a alguien y he parado…disculpadme, estáis en mi cabeza.

Pero voy a nombrar especialmente los grandes descubrimientos de este año para mi:

Espero que este tipo pueda traer a España toda su vitalidad y todo lo que conoce de ese mundo de piruleta que algún ignorante nombró en su día.

Y si no le conoces te recomiendo que leas esta entrada de su blog que hace un momento he tenido la oportunidad de leer y comentar con él. En ella encontrarás al profesional al que pongo como referencia y a la persona que me muestra sus sentimientos y que ha hecho que volvieran a mi cabeza momentos tristes, pero con lo que él ha puesto ha conseguido que los viera desde otro punto de vista en estas fechas en que extrañas a ciertas personas que ya no está contigo pero te han dejado lo que eres a día de hoy.

Mi socia y una de las personas con mayor empatía que he conocido. Exhala por sus poros buen rollo, confianza, seguridad, firmeza en el trabajo. Creo que ha empezado una relación profesional y personal de largo recorrido. Os recomiendo alguna vez conocerla en persona y hablar 5 minutos, veréis como acabaréis queriendo hacer proyectos con ella.

Y en lo personal…si quieres no sigas leyendo…

Por supuesto y como todo el mundo que me conoce comprenderá: no soy lo que soy ni lo que quiero ser sin ella, mi alter ego, mi compañera, la fuerza que me permite levantarme todos los dias y mirarme al espejo orgulloso de las decisiones y los proyectos que emprendo.

Este año de cambios profesionales tambien ha tenido su hueco lo personal y hemos hecho de nuevo un plan de pareja para los próximos años en los que vamos a poner lo mejor de nosotros para conseguir que todo sea un EPIC WIN, como llevamos haciendo desde hace 18 años.

GRACIAS AMALIA

PD: ¿Tendré más comentarios que el año pasado? Podría ser también un indicador de si he cumplido mis objetivos del año pasado…y además lo voy a publicar a una hora en que la gente esté más pendiente del cambio de año a ver quien me sigue 😉 Puedo decir con orgullo que en apenas unos minutos superé el número de comentarios del año pasado…era fácil y tenía truco, sólo tuve 1 COMENTARIO. Gracias a todos por vuestro cariño

Otro AOS a la vista… AOS2010

Medio año sin escribir una entrada en el blog no tiene perdón. Ya estoy incumpliendo uno de mis objetivos para este año y encima perdiendo puntos para promocionar mi marca personal.

Pero he decidido hacer una pequeña entrada hoy, vísperas del AOS2010 para recordar cómo hace un año, en el AOS2009 de Madrid pudo mi vida dar un cambio radical. Fue un momento muy interesante profesionalmente hablando y que me ha permitido mejorar mis habilidades profesionales y sobre todo preocuparme por ellas, dándome cuenta del largo camino que hay por delante, incluso un camino que nunca va a terminar porque siempre hay que mejorar.

Es el momento de volver a encontrar a personas que ahora considero amigas, gente de la que siempre siempre estoy aprendiendo y sobre todo, espero encontrar nuevas gentes y desvirtualizar a nuevos contactos establecidos durante este año.

Todo esto mientras estoy inmerso en mi nueva aventura profesional, emprendiendo como un valiente en Wiseri, lo cual merece otra entrada en el blog que en próximas fechas comentaré.

 

Espero veros en Barcelona!!!

Resumen de sesiones en CAS2010 (día 2)

Siguiente con el post anterior:

Día 2

1. Ser ágil en España, un caso real con equipos de trabajo en remoto (Enrique Amodeo y Antonio David Fernández Reyes)

No voy a ser pelota de nadie, pero para mi una de las mejores sesiones. ¿Por qué? Porque laguien se atrevió a poner encima de la mesa lo difícil que es trabajar con metodologías ágiles, los intentos que ahces, los problemas que te encuentras y cómo te adaptas para mejorar. Y la mejora no se hace de un día para otro, hay mucho trabajo por detrás, muchas decisiones y mucho trabajo de comercial o psicólogo para convencer hacia arriba de que ese es el camino y al final se demuestran con hechos los beneficios.

Algo a destacas de la CAS2010 ha sido la presencia de casos reales como esta sesión y la siguiente. Y hay que ser valiente para pnerte delante y decir: empezamos así y nos equivocamos, y cambiamos y mejoramos.
Dejémonos de historias de éxito sin contar porqué es difícil, dejemos la teoría que muchos ya la han puesto en libros. Si yo quiero empezar con Scrum quiero saber qué problemas voy a tener y cómo solucionarlos, sabiendo que cada caso tendrás sus cosas.

En este caso la complejidad residia en tener un equipo distribuido, cn muchos kilómetros de distancia de Madrid. Entre los primeros puntos que nos hablaron estuvieron la experiencias previas, la implicación del equio y sobre todo la dificultad de la visibilidad del avance. Aquí entraron a explicar las diferentes herramientas que evaluaron.
Tras esta fase detectaron una serie de fallos, como que el Scrum Master estaba en Madrid, la estimación se hacía a mano alzada…
En esta segunda aproximación detectaron que los sprints no se respetaban por el número de incidencias urgentes que alargaan el sprint, no exitía el Definition of Done lo que provocaba malentendidos…los pases de entorno se volvían imposibles.
La solución que aplicaron fue TDD, SM en el equipo remoto, optimizar builds y dependencias con el uso de Maven, Hudson+Sonar y Sprint inamovibles, para ello se contó con un Product Owner más involucrado en el proceso.

Y como en todo este proceso late la mejora continua, tras estas fases siguen plantenado cambios para mejorar, queriendo incluir Kanban, Repositorios distribuidos (Git), Pair Programming, optimizar el tiempo de entrega, no de recursos…

La presentación la podéis encontrar en esta dirección.

2. One year of software developments to win a world racing championship (Luca Minudel)

¿Sabíais que los grandes equipos de Formula 1 trabajan en sus departamentos de Software con metodologías ágiles? Increible ver esta charla de Luca como miembro del equipo de Ferrari y que nos dijo que en McLaren también lo hacían y en Renault también…hasta que se han quedado sin presupuesto, porque eso de hacer release que luego tenías que tirar o modificar no lo puede hacer todo el mundo…sin dinero.

¡Ferrari es Agile! by semurat.

Trabajan en la nueva temporada sin esperar a que termine la actual, sin conocer la nueva regalmentación y a tope para poder ir sacando mejoras de su actual sistema. Cuando llega la regalmentación tienen que adaptarse y cambiar y mejorar, cuando llegan las carreras tienen que comparar resultados con los rivales y volver a mejorar. La verdad es que el nivel de incertidumbre y de cambio hace que las iteraciones sean una locura pero con Scrum consiguen tener release tempranas y adaptarse a los cambios que el entorno tan agresivo les empuja a tener.

3. Probando tu TDD (Juan Gutiérrez y Carlos Blé)

No tenía en mi hoja de ruta esta sesión, pero estando Juan y Carlos en ella me dejé llevar por mis compañeros de Agile-CyL allí. Tras una buena comida y con cierto sopor me encontré con que tenía que programar. Fue una sesión muy muy interesante y con un mensaje final bastante adecuado a lo que estábamos haciendo: cuando haces TDD, la documentación son los tests. Este mensaje obliga a implementar correctamente los tests, a definirlos y diseñarlos de manera adecuada para que su mantenimiento y revisión sean adecuados y sencillos.
Sólo voy a comentar que nos pusieron en grupos de 4, 2 parejas. Cada pareja con un problema distinto y que debían desarrollar mediante TDD…y hasta ahí puedo leer. Me gustaría guardar el mecanismo de la sesión para poder llevarla a cabo alguna vez en la comunidad local de agile-cyl, o en alguna empresa que quieran empezar a trabajar con TDD.
Si alguien quiere saber de qué iba que se ponga en contacto conmigo para explicarle el procedimiento en privado.
Lo recomiendo.

4. Prácticas recomendadas para la relación Cliente-Equipo en el desarrollo ágil de software (Juan Garbajosa y Agustín Yagüe)

De esta sesión me esperaba otra cosa, pero fue un acercamiento a la relación cliente-proveedor desde un punto de vista académico y Con la IEEE detrás de todo esto. Juan nos contó los avances de la IEEE para establecer un contrato marco avalado por la IEEE para la relación indicada anteriormente.
Bajo este contexto nos estuvo describiendo los diferentes puntos que sacaron, pero lamentablemente no llegaron a una conclusión final y una firma del borrador, quedando sin acabar. Juan hizo un llamamiento a quien quiesiera colaborar ya que era un trabajo desde instituciones académicas, IEEE y grandes corporaciones de diferentes paises.

Puntos Comunes:

  • Colaboración sobre negociación contractual: hay un problema legal si no está escrito, pero la confianza debe estar por encima del contrato.
  • Creación de valor: El suministrador aporta valor, pero el cliente se compromete a facilitarlo. Este punto es clave, pero estamos lejos de conseguirlo.
  • Adaptabilidad
  • Mejora contínua

Prácticas:

  • Contratos: existe, pero en cualquier momento se puede romper por cualquiera de las partes. Se puede porque en cada sprint se aporta valor. Describe cómo trabajar juntos mejor que impoener multas o penalizaciones.
  • Requisitos: base del producto. Las necesidades del cliente son cambiantes, pero el cliente debe priorizar. La priorización no debe cambiar el contenido de entrega del sprint.
  • Prácticas de gestión
  • Planificación: gestión de riesgos
  • Ciclo de vida iterativo: timebox «sagrado», romperlo afecta a la gestión de recursos.
  • Documentación: acordar la necesaria (mínima).
  • Testing: Introducir el concepto de DoD (Definition of Done) y definición de hecho-hecho.
  • Delivery: Verificar que el producto coincide con los requisitos. Si el cliente lo rechaza debe explicarlo muy bien.

5. Diez maneras infalibles de asegurar Scrum será un fracaso (Rodrigo Corral)

Rodrigo es un gran comunicador, hace la charla amena y simpática, recalcando el mensaje que quier dar con ejemplos sencillos y directos.
En esta sesión nos explicó conceptos que hacen que falle Scrum. Algunos de los que nombró fueron:

  • No tengas equipos
  • Sprint review de mentira: el equipo no tiene compromiso si le asignan tareas. El cliente no sale del Sprint Review hasta que haya dado feedback del producto.
  • Haz de tus retrospectivas un valle de lágrimas: se hacen para hacer algo, no para desahogarse. Hay que revisar las últimas retrospectivas y buscar los puntos repetidos, esto garantiza un éxito seguro.
  • En las prácticas de ingeniería del software hay valor, no importa la metodología.
  • No usar métricas para castigar el equipo, sino para animarlo.
  • Ojo con los detalles: evitar flexibilizar scrum. Se adapta scrum una vez que funciona, y mejoramos nuestra gestión.

Resumen de sesiones en CAS2010 (Día 1)

Hacía tiempo que tenía pendiente hacer esta entrada, pero por diversas circunstancias nunca encontraba un rato para sentarme y volcar todo lo que viví esos días de Junio.
Voy a hacer breves resúmenes de las sesiones a las que me presenté:

Día 1

1. Keynote de Henrik Kniberg: The Essence of Agile

Debo reconocer que tengo debilidad por este hombre. Desde que devoré su libro Scrum and XP from the Trenches y me mostró cómo trabajar con una metodología desde el núcleo de un equipo y que funcionaba y no era un rollo a seguir con una guía de buenas maneras, sino algo sencillo y directo que todo el equipo se podía leer de una manera rápida y entendible para ponerla en práctica.

En cuanto sacó el siguiente libro Kanban and Scrum – making the most of both me atrajo porque conocía su lenguaje directo y porque en ese momento me interesaba profundizar en Kanban. Por esto participé modestamente en su traducción al castellano como he hablado en un post anterior.
La keynote fue un gran resumen en una hora de las metodologías y prácticas ágiles, explicado de una manera sencilla y poniendo cada cosa en su lugar. Con un mensaje directo y fluido nos introdujo en la agilidad, explicando los conceptos de Scrum y XP, referencias al Manifiesto Agil y a autores como Ken Beck y Robert C Martin.
La segunda parte de su presentación se orientó hacia Kanban, sacando referencias que aparecen en su segundo libro y mostrando diferentes escenarios y cómo trabajarlos con Kanban.
Me quedo con una palabra de su presentación: ¡Experimenta!

2. Desarrollo de aplicaciones en la nube con Scrum y XP (Leo Antoli e Iván Zaera)

Tenía ganas de que alguien me contara qué es eso de la nube, el Cloud Computing y cómo llevarlo a la práctica.
Leo e Iván cumplieron con mis expectativas, salvo que no vi la relación directa con Scrum como ponía el título, supongo que realmente eran las ventajas de trabajar en la nube en un equipo ágil.
Comenzaron distinguiendo las diferentes capas que nos encontramos en estas tecnologías: SaaS, PaaS e IaaS, y para cada una de ellas pusieron ejemplos como Google Docs, Google App Engine, Azure y Amazon EC2.
La charla se centró en GAE (Google App Engine) que es con lo que ellos estaban trabajando. Las razones para trabajar de esta manera las resumieron en 2: precio y mantenimiento. La primera azón, el precio, porque el hosting es menor que en un servicio tradicional y porque pagas por consumo. El mentenimiento es mucho más evidente, ya que Google se encarga del mantimiento planificado y el no planificado, siendo transparente para nosotros.
Sin embrago también hay que saber cuáles son las limitaciones que tiene GAE, y no son pequeñas: tiempo de respuesta limitado a 30 segundos y base de datos noSQL (DataStore en terminología GAE).
La primera limitación nos puede dar quebraderos de cabeza si queremos hacer uploads, y también en la primera carga de una página, ya que tiene que arrancar todo y tenemos ese límite de 30 segundos. Otro problema es que la aplicación está en máquinas distribuidas, si te mueven la aplicaciónde una máquina a otra hay que volver a levantar todo el contenedor y puede ser un incordio si la aplicación es pesada. No lo controlas tú.
Para el futuro plantean introducir MySQL, aunque el uso de noSQL es precisamente porque las base de datos relacionales no son escalables (o casi imposible).
Para garantizar la alta disponibilidad la sesión debe ser serializabe y no pude ser una sticky session. Esto es un problema para aplicaciones con JSF y su gestión de datos en sesiones (habría que serializar toda la información de los diferentes componentes de una página JSF).
Respecto al rendimiento hablaron de dos elementos:

  • Cola de tareas (API experimental)
  • Servicio memcache

Explicaron por encima las diferencias entre SQL y noSQL, y alí con una sensación de absoluto desconocimiento y de cambio de mentalidad bastante fuerte. Habrá que darle una vuelta.
Para la pruebas diferenciaron dos puntos:

  • Pruebas en Servidor: con un Runner de JUnit que se sube al GAE
  • Pruebas en Cliente: soporte JUnit para GWT (lento) o usar el patrón MVP

Respecto a la Seguridad en la nube: es una cuestión de confianza y cultural.
Versioneado: Trabajan con varios entornos (dev, pre, pro / entornos cliente / funcionales…). Hay un límite de despliegues al día, 100 y sólo se pueden hacer cada 15 minutos.

3. Enterprise Scrum (Xavier Quesada)

En esta sesión Xavier Quesada esperaba la asistencia de personal de grandes empresas y del apartado de gestión  y se encontró con una mayoría de técnicos que no habíamos entendido el sentido de Enterprise (o sí) y queríamos saber cómo emter agilidad en nuestra empresa, aunque fuera tomando como modelo ejemplos de grandes corporaciones.
Xavier es una persona que sabe cautivar al personal y desde su gran experiencia nos hizo elegir de qué hablar en la sesión partiendo de 5 puntos, de los cuales tratamos tres:

-> Lidiar con la metodología actual

En este caso es importante contar con el apoyo de la gerencia para provocar el cambio. Detectamos varios problemas que hay en este cambio. Importante si lo hacemos desde abajo que los compañeros estén convencidos, los requerimientos siempre están visibles y conforman el backlog para trabajar. Si eres gerente, provocar el cambio es difícil por la resistencia que encontrarás. En este caso es mejor traer a alguien de fuera que explique la metodología y haga un coaching de la misma para adaptar los equipos a la nueva cultura.

-> Prácticas técnicas
Control de Versiones, Integración Contínua (despliegue automático y ambientes de testing) y Unit Test.

-> Cómo empezar

Trabajar con un proyecto piloto es la mejor solución. Con un tiempo limitado para mostrar los resultados del mismo ante la gerencia. Los resultados y beneficios hay que mostrarlos en calidad de dos parámetros: velocidad y software entregado y dentro de presupuesto.
Tener en cuenta que la velocidad no es la medida de la productividad.
Para mostrar los resultados hay unos indicadores:
Calidad dada mediante el número de bugs en User Acceptance Test, número de bugs en Producción durante el periodo de garantía.
Satisfacción del cliente, es algo objetivo pero igualmente válido
Encuesta del euipo de desarrollo para comparar con la metodología anterior.

4. Gestión ágil de la configuración (José Luis Soria)

La verdad es que de esta sesión esperaba más. No por ello estuvo mal, sino que le había puesto el listón muy alto y lo que me contaron ya era en cierta forma conocido por mi.
Dentro de la gestión de la configuración sólo se habló del control de versiones y sus estrategias.
Notas tomadas: seguir un modelo de aislamiento mediante una estructura de branches (qué ramas hay y su objetivo), ante una nueva funcionalidad crear una nueva branch, y definir el completado de funcionalidad, cuándo realizar el acercamiento de una rama a la troncal o master.

5. Comunidades locales de Agile Spain (Jorge Jiménez y David Esmerodes)

Esta me la guardo para una entrada propia en el blog, ya que fui protagonista de la misma

Impresiones tras CAS2010 (I)

Ya ha terminado la Conferencia Agile-Spain 2010 y puedo hacer un resumen de la misma. Esta vez hay mucho que contar por lo que lo dividiré en varias entradas del blog, por las diferentes sesiones a las que he asisitido.
Iba a empezar a escribir esta entrada en el blog cuando me he parado a pensar en qué estaba haciendo hace un año y dónde estoy ahora.
Hace un año estaba dando vueltas a que no me gustaba mi trabajo, a que me estaba dejando llevar sin más, sin importarme nada, haciendo todo como siempre…pero con un runrun interno que me hacía sentir incómodo. Empecé a buscar información de no sabía muy bien qué cuando llegué a la lista de agile-spain, lo peor es que no puedo recordar cómo llegué allí, pero llegué. Y profesionalmente es lo mejor que he hecho en mi vida. Me empapé ese verano de palabras «raras» como scrum, product owner, retrospectiva…y me di cuenta que cosas como las prácticas de eXtreme Programming no me eran desconocidas y me las detallaban dentro de un contexto más grande, donde aparece también la palabra Lean.
De repente aparece la celebración de un Open Space, el Agile Open Spain y sin pensarlo me apunto, mira que yo nunca acudo a estas cosas de la capital.
En el Agile Open Spain aparezco y hablo con algunas personas que me trasmiten energía, buenas prácticas y sobre todo el mensaje de que este camino es duro pero que si se hace bien es reconfortante al hacer tu trabajo bien.
Salí con dos ideas claras: buscar gente en mi entorno que creyera en las metodologías ágiles y formar una comunidad local, y además resisitirme todo lo que pueda a las metodologías tradicionales como waterfall, sencillamente porque en los más de 10 años de experiencia no me han demostrado ni que se hagan mejor las cosas, ni que tenga mejor calidad el producto desarrollado. No se puede mecanizar ni industrializar una profesión en que son las personas quienes finalmente «piensan» la solución. Las máquinas y las aplicaciones ayudan en el camino pero no lo marcan, son las personas quienes lo dirigen.
Y con esas ideas ya llevamos 8 meses con la Comunidad Agil de Castilla y León, AgileCyL y ahora de vuelta de la CAS2010.
Tengo que confesar una cosa: tristemente el gran impacto que causó el Agile Open Spain 2009 no lo he tenido ahora. Eso no es malo, simplemente entonces era una página en blanco y ahora ya tengo mi propia opinión.
Pese a lo anterior, hay que reconocer que ha sido todo un éxito de asistencia y de contenidos, todos muy variados y para los diferentes perfiles y niveles que asisitieron a la conferencia. También es destacable la presencia de una referencia a nivel mundial como Henrik Kniberg.
Otro punto importante para mi: las personas. Establecer un contacto personal y directo con gente a la que sólo conocías por su firma en emails o por redes sociales como twitter, y ver que en persona son aún mejores que online (que hay mucho «rarito» en este mundo del desarrollo software).
Lo que más me ha gustado ha sido el poder tener dos tipos de sesiones claramente diferenciados, los propios de metodologías agiles y los de técnicas ágiles. Esto permite que diferentes perfiles de asistentes puedan hacer su hoja de ruta dentro de la conferencia, el más novato puede asistir a sesiones de introducción a agilidad, el gestor podía ir a sesiones sobre la gestión de equipos o la agilidad en la gran empresa, y el técnico podía ir a temas más concretos, junto con los diferentes talleres que se dieron.
Me han hablado muy, pero que muy bien de las contribuciones, pero no asistí porque no sabía de qué iban y tenía mi propia quiniela de sesiones previa. Una lástima.
Pero como para decir lo bueno hay tiempo en las siguientes entradas, voy a poner un «pero», que es una auto-crítica.
Si todos creemos que esto nace desde la comunidad y la gente, hay que tener ese grado de implicación en las reuniones de la comunidad y de la asociación. no hace falta ser socio de la asociación, pero se agradecería un poco más de respaldo. Seguramente si no existieran esas comunidades con la gente que tira de ellas sería más complicado que salieran voluntarios para organizar este tipo de eventos. Desde la asociación se pidió un poco de colaboración para la organización de más experiencias como esta y alguna ya está en marcha como el Agile Open Spain 2010 o la XP2011, y en la reunión sólo estábamos los de la asociación y algunos como yo que creemos que hay que participar más activamente, y esa charla fue fuera de todas las sesiones. Pero bueno, mientras haya personas que acudan a estas sesiones habrá continuidad para seguir haciendo cosas.

, ,

Impresiones tras el CodeRetreat de Segovia

El pasado 6 de marzo asistí en Segovia a un Coderetreat organizado por Javier García Garrido, y los dos fantásticos dinamizadores de las metodologías ágiles, José Manuel Beas y Xavi Gost, de agilismo.es.

Tiene mérito todos los que acudimos allí, un sábado a hacer lo que normalmente hacemos de lunes a viernes, programar. Creo que hay algo especial en esta gente que gasta parte de su tiempo en seguir mejorando profesionalmente. Porque eso es lo que hicimos, aprender del resto cada uno aportando lo poco o mucho que podía pero pasando un buen rato y con grandes discusiones sobre diseño, refactorización de código, Test Driven Development

La experiencia empezó con un maravilloso desayuno mientras íbamos llegando de las diferentes partes de España (había gente de Valladolid, Madrid, Canarias, Valencia…) y nos íbamos conociendo en persona desvirtualizándonos por fin muchos de nosotros, que luego no digan que somos unos frikis y nuestras relaciones son basadas en bits por Internet 😉

A continuación empezamos a trabajar por parejas en el problema del Juego de la Vida de Conway. Es curioso que vayas con una idea preconcebida sobre su solución y los diferentes caminos que surgen cuando diferentes cerebros piensan en paralelo. Yo tuve la suerte de compartir este primer pomodoro con JM Beas y aprendía cómo empezar con TDD, y si ya tenía ganas de aprender ahora más porque vi las diferentes posibilidades que se abren con esta forma de desarrollar. También es verdad que es mucho más trabajo, pero comparándolo con la forma clásica, que es la que utilicé en el segundo Pomodoro con Javier García Garrido debo decir que me sentía más seguro y confiado en el código que estábamos generando con TDD que lo que salió en la segunda parte en la cual nos acercamos más a una solución del problema. Pero ese no era el objetivo, sino aprender y hacer pair programming.

Tras la comida decidimos hacer una sesión todos juntos discutiendo sobre una solución del problema hecha para Android que llevaba José Manuel Beas, y con la gente que estaba allí como Xavi Gost, Alfredo Casado, Carlos Ble, Alberto Peña, Jerónimo López…mejor paro por que si no voy a tener que dar la lista de todos los nombres y me conozco y a lo mejor me dejo a alguien y no quero malos rollos 😛 El caso es que entre todos discutimos cómo analizar el código legado que teníamos para poder meterle test de los que carecía y surgió una interesante discusión sobre ello.

Al final salimos con ganas de más, con ganas de repetir y tomando unas cañitas más relajados sin ordenadores, un poco de networking entre gente con los mismos intereses…ahh y destacar la asistencia al final de Prudencio Herrero, director de Execyl que se bajó desde Palencia a Segovia para estar un ratillo entre nosotros, tiene su mérito.

Recomiendo a todo el que tenga ocasión que se acerque a un code retreat porque se aprende mucho. Es más, si hubiera ocasión el desarrollar katas en las empresas en media jornada dedicada a I+D y para la mejora de los miembros de los equipos de desarrollo sería algo a desear. Ojalá hubiera gerentes con estas ideas 😉

Se pueden ver más fotos aquí, videos, y hasta en prensa: El Adelantado, Zoquejo.com

«Kanban y Scrum, obteniendo lo mejor de ambos» de Henrik Kniberg & Mattias Skarin

¡Por fin ha salido!

Desde unos días antes de Navidades me vi envuelto en un bonito proyecto de traducción del libro «Kanban and Scrum – making the most of both» de Henrik Kniberg & Mattias Skarin. Todo surgió de la iniciativa de el siempre incombustible Angel Medinilla y contó con el respaldo del grupo de contenidos de Agile Spain, con el que colaboro habitualmente de un tiempo a esta parte en la traducción de artículos para extender el conocimiento de las metodologías ágiles entre la comunidad hispana.

De la sugerencia de traducción salió un grupo de «locos» entusiastas que nos propusimos hacer el trabajo de manera altruista y quizás como dice Angel «…y el convencimiento de que uno debe devolver algo a la comunidad de vez en cuando.» y «...hay que ir compensando lo que uno recibe o se genera una deuda, y las deudas es lo que tienen, que crecen exponencialmente«.

Para no olvidarme de nadie transcribo el nombre de los colaboradores:

Rodrigo Corral, Teo Sánchez, Gregorio Mena, Laura Morillo Velarde, Ángel Agueda (Legnita), Jorge Uriarte, Agustín Yague, Juan Palacio, Xavier Quesada, Javier Sánchez, Juan Carlos Quijano y un servidor.

[Siento no poner un enlace de Laura, no lo he encontrado :-(]

La verdad es que, teniendo en cuenta el periodo vacacional, el compromiso de la gente ha sido muy elevado. Se ha trabajado de manera colaborativa, distribuida y trabajando dando ejemplo con metodología ágil, con sprints de 1 semana y permitiendo que cada miembro del equipo se responsabilizara de la traducción de los capítulos que quisiera, posteriormente revisará los que iban siendo traducidos y así se fue realizando con mucha ilusión.

La traducción puede ser descargada aquí.

Espero que la disfrutéis y seguiremos trabajando para extender las metodologías ágiles en esta jungla del desarrollo de software 😉

, ,

Retrospectiva tras primer sprint

Por fin llegó el día de poder ver cómo ha ido este primer sprint.

Partimos de ciertas carencias asumidas como la falta de integración contínua, una buena política de definición de test unitarios…pero bueno, hay que ir dando pasitos cortos para avanzar un gran camino. Tras el periodo navideño donde nuestro Sprint 0 quedó un poco desdibujado, y sólo sirvió para establecer la arquitectura del proyecto y para avanzar con Scrum y conocer todos sus artefactos, roles y discutir el sentido de cada post-it y la gráfica de burn-down, por fin hemos empezado en serio 😉

Al no ser yo un miembro del equipo he tendio que mantenerme a cierta distancia y sólo hacer tareas de coaching, formando al scrum master y orientando al equipo cuando había alguna duda. Pero debo reconocer que lo han hecho bastante bien para ser la primera vez.

Product Owner

Nuestro PO iba a ser una persona con contacto con el cliente externo, pero desde el prinicpio ya dijo que tenía muchas cosas que hacer y no siempre iba a estar disponible. Ante esta perspectiva el Scrum Master tuvo que hacerse cargo de ese rol. Esto es un error muy grande desde mi punto de vista y así lo hice notar en la retrospectiva, pero no se podía hacer de otra forma. Por lo menos el SM es lo bastante responsable y como es quien tien trato directo con el cliente, puede sacar cuáles son las historias que hay que hacer y preparar una pila de producto de una manera eficaz.

Sprint Meeting

Aquí tuvimos el primer contratiempo, yo les dí la formación adecuada (o eso esperaba) de como debían llevarla a cabo, pero tuve que ausentarme y no estuve presente. FAIL –> Se liaron con el tema de las estimaciones de la pila de producto y posteriormente de las tareas de cada historia. Debido a esto la reunión se alargó a dos días cuando en el primero debía haber bastado.

Daily Meeting

Muy bien realizado todos los días a una hora establecida, rápido y sencillo. Les ha gustado al equipo saber el estado del proyecto en cada momento, oo que hacía cada uno y tener un horizonte de trabajo conocido y seguro. Algún día le she tendio que dar un tirón de orejas al despistarse y empezar a contar batallitas del día anterior. También cogieron la costumbre de terminar la reunión y seguir de pie delante del tablero hablando de detalles técnicos del desarrollo.
En la retrospectiva les he dejado claro que eso lo pueden hacer en una sala sentados o en su propio puesto, pero que no lo asocien con el Daily Meeting.

Radiador de Información

Un problema: no tenemos un sitio donde colocarlo, lo cual no es muy cómodo para manejar. Parece que lo hacemos a escondidas. El equipo ha aprendido a manejar las tareas y hacer hacer que fluyan por el panel según van terminado y probando las tareas. Yo todos los días les sacaba el burndown y han reconocido que les gustaba ver la velocidad que llevaban y saber si iban bien o retrasados. El factor psicológico del panel da resultado. Les hace ser autoorganizados, responsables con sus tareas y meterles la pequeña tensión de ver cómo van sus compañeros y ellos seguir el ritmo.

Demo

Un caos!!!! Otro tirón de orejas en la retrospectiva. No funcionaba la demos por un problema de instalación en el servidor de demo. Es algo que se va a arreglar para el próximo sprint en que ya tendremos Integración Contínua (o eso me han dicho).

Retrospectiva

Dirigí la retrospectiva para que vieran todo lo que había observado durante el Sprint. Ellos sacaron algunos asuntos, siempre desde el lado positivo, pero yo incidí más en lo que había que mejorar, eso después de decirles que lo habían hecho muy bien y mejor de lo que esperaba para ser la primera vez.

Yo creo que es un equipo al que se le puede pedir más velocidad por eso me he comprometido a apretar el factor de ruido paraver hasta dónde pueden llegar.

Primeras lecturas para el 2010

Como comenté en la entrada anterior del blog, uno de mis objetivos de este año es la formación, tanto externa como propia de manera autónoma, de manera que en esta entrada aprovecho para seguir con dos puntos de mis objetivos para el 2010. El primero, ser más constante en escribir entradas en el blog, y el segundo, leer más libros técnicos.

Aquí va un avance de los libros que estoy leyendo y que voy a leer próximamente porque ya los tengo pedidos….siempre originales, encuadernados y como nuevos, que luego no venga la SGAE hablando de INTERNET = PIRATERÍA, que parece que los que nos dedicamos al consumo de la red vamos con un parche 😉

Libros en proceso de lectura

Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin) by Robert C. Martin


Libro ya clásico y que debería ser de obligatoria lectura en la Universidad y en cualquier centro de estudios sobre desarrollo de software. Debo reconocer y asumir con vergüenza que hasta el año pasado no lo conocía, pero los meses que llevo con él me ha abierto lo ojos y me ha dado muchas ideas y buenas prácticas sobre el código que genero día a día. Es de fácil lectura y todo perfectamente ilustrado con ejemplos, donde se ve el paso de código que «huele» a código con mucha más calidad, claridad y mejor implementado. Reconozco que ahora sigo a Uncle Bob Martin como un iluminado más por sus ideas.

El libro se divide en tres partes. En el primero nos habla de principios, patrones y distintas formas de escribir código limpio. En la segunda parte trata mediante ejemplos de lo explicado en la primera, viendo lo que está mal y cómo arreglarlo. Finalmente en la tercera parte aporta unas heurísiticas y errores perfectamente conocidos y explicados.

Succeeding with Agile: Software Development Using Scrum (Addison-Wesley Signature) by Mike Cohn

Mi biblia en este momento. Tras leer mucho sobre Agile en Internet e introducirme en foros, mi entusiasmo e inquietud me llevó a buscar un libro de uno de los autores de los que iba leyendo referencias y de los que veía que habían escrito ya libros de calidad. Este proceso me llevó a descubrir a Mike Cohn y de sus diversos libros este iba a publicarse en unos días, pero en Amazon ya lo ponían a la venta y no me lo pensé dos veces. No me arrepiento de los días en que abría con ansia el buzón esperando haber recibido el aviso de llegada del paquete y la alegría cuando lo tuve en mis manos y empecé a leerlo con avidez. Fuera de la teoría ya conocida sobre scrum y sobre metodologías ágiles, este libro se centra en años de trabajo con este marco de trabajo y casos reales con los que este evangelizador de agilidad se ha encontrado en su trabajo, en sus labores de consultoría, apoyo y coahcing de empresas. Define perfetamente los problemas existentes y cómo haceles frente.
Debo reconocer que no se equivoca y en la tarea que tengo ahora de llevar a la práctica la gestion de un proyecto con Scrum me sirve de referencia para no cometer demasiados fallos (que algunos ya tengo identificados que cometemos, pero estamos aprendiendo).

The 4-Hour Workweek: Escape 9-5, Live Anywhere, and Join the New Rich by Timothy Ferriss

El regalo de Reyes de este año que apareció por sorpresa 🙂 Este libró llegó a mis oidos de la mano de Angel Medinilla en el curso sobre Scrum que impartió en Madrid. Hizo un par de referencias al mismo que me calaron hondo, y no tanto por el mensaje del título, que parece que da a antender que hay que trabajar menos horas, sino por el mensaje de que si no te gusta lo que ahces quedarte sentado esperando a que cambie no es la solución, planteate si no eres feliz lo que debes hacer para conseguir serlo. Haz un balance de los pros y contras de cambiar tu vida para la búsqueda de la felicidad y planteate si compensa el riesgo o no. Seguramente compensará asumir el riesgo. La verdad es que es un mensaje que en mi vida he practicado en cierta manera, ya que cuando en un trabajo no estaba agusto, o perdía la ilusión no he dejado que me afectara al resto de mi vida y procuraba cambiar buscando mejores opciones de realización profesional y personal. Aunque puede haber personas que piensen que los cambios eran para mejorar económicamente puedo asegurarles que en algún caso no fue así, y en otros fui engañado con buenas palabras, pero eso nunca me paró. La verdad es que ahora con la crisis y la situación laboral de incertidumbre este libro me ha dado una pequeña sacudida en mi interior, junto con el haber conocido a gente emprendedora de Iniciador Valladolid. Puede que este año sea un punto de inflexión en mi vida, pero solo son ideas, quizás un poco fantasiosas, pero la ilusión nunca se pierde.

INFORMÁTICA PROFESIONAL. LAS REGLAS NO ESCRITAS PARA TRIUNFAR EN LA EMPRESA de Roberto Canales

Este libro llegó a mis manos posteriormente a mi asistencia al Agile Open Spain 2009. Cuando conocía a gente como José Manuel Beas, Xavi Albaladejo, Xavi Quesada y mejor paro de escribir porque me voy a dejar muuucha gente y no sería justo ya que todo el mundo aportó muchas experiencias, ideas y casos en las sesiones que se desarrollaron y que hicieron que volviera convencido de que hay otra realidad en nuestro trabajo (creo que elegi la pastilla correcta como Neo en Matrix, pero no diré el color porque nunca me acuerdo, jejeje).
El caso es que este libro está muy bien escrito, planteado desde el punto de vista de una personas que lleva años en esto y sabe de lo que habla, te ves reflejado en muchas de las historias que desarrolla y ves a gente con la que has compartido penas y glorias en tu historia profesional. Quizás le falte un poco más de perspectiva desde el punto de vista técnico, ya que no todos llegamos a tener una visión desde las alturas de la empresa, pero está bien ver todos los enfoques de la gestión de una empresa informática, incluso de los comerciales pre venta 😉
El que venga con divertidas viñetas de comic ex`licativas de cada punto hace una lectura muy amena y rápida. Altamente recomendable y mi felicitación para Roberto y la gente de Autentia.

Libros pendientes de lectura (esperando que lleguen)

Diseño Ágil con TDD de Carlos Blé Jurado

Este libro me hace especial ilusión que me llegue. En primer lugar porque tuve la suerte de recibir los dos últimos borradores del mismo el año pasado y me pude adelantar a su lectura antes de ser publicado. En segundo lugar es mi compromiso de este año, aprender a utilizar TDD y llevarlo a la práctica en el día a día. Para ello espero poder asistir a alguno de los cursos que Carlos va a impartir este año y que tanto interés tengo en que se lleven a cabo cerca de mi lugar de residencia.
Aunque el libro es de  Licencia Creative Commons yo prefiero tenerlo impreso y encuadernado, que para eso me gustan los libros y también como agradecimiento al autor por el esfuerzo de un año de trabajo. También comentar la aportación de muchas personas en generación de capítulos y en la revisión del libro. Enhorabuena a todos.

Los dos siguientes libros son para aportar más calidad al trabajo diario en mi proyecto piloto con Scrum…espero que lleguen a tiempo, que el proyecto no es muy largo 😉

User Stories Applied: For Agile Software Development (Addison Wesley Signature Series) by Mike Cohn

Agile Estimating and Planning (Robert C. Martin) by Mike Cohn

Objetivos para el 2010

Tras leer los blogs de David Bonilla y Alberto Peña, con el meme de cada uno de objetivos para el 2010 me he decidido a apuntarme a esta línea de autoflagelación para ver a finales de año cuántas cosas no he conseguido cumplir, aunque espero que las que haya podido llevar a cabo sumen tal grado de satisfacción que supere la fustración de los fracasos.
Veamos cuáles son estos objetivos:

  1. Hacer más ejercicio, un clásico de mi vida que siempre me persigue y nunca cumplo, así me va cada año peor. Pero no tanto como pueda pensar la gente que es por presumir, sino ya pensando en mejorar mis niveles de azúcar y hacer que la diabetes no sea ese compañero silencioso que con el paso de los años se convierta en una carga para mi y las personas que me rodean y me quieren. Hay que quererse mucho más a uno mismo.
  2. Comprometerme mucho más con la escritura del blog. Soy un dejado, un vago para escribir, a veces porque pienso que no tengo nada que decir, a veeces porque no sé hacia donde quiero orientar el sentido del blog. Inicialmente quería hablar de Java, luego salió algún post más personal, luego un reflejo de noticias de las que me hacía eco…nada en concreto. Con el tiempo me he dado que no es tan difícil poner un par de lineas, no hace falta escribir un «libro» como entrada del blog. Me gustaría darle un enfoque mucho más práctico.
  3. A nivel técnico me he dado cuenta de las muchas carencias que tengo, lo que en un principio me dejó mal sabor de boca y ahora lo que tengo es muuuuchas ganas de aprender. Quiero enfocar este año en el aprendizaje / mejora de conceptos como: TDD, Tests unitarios, integración continua, Maven, Sonar, y por supuestos nuevos lenguajes que me pueden ayudar en un futuro como Python, Ruby, Groovy, Grails… deberé centrarme, ya empiezo a dispersarme 😉
  4. Aportar mi esfuerzo a la comunidad agil de España. Ha sido el gran descubrimiento de este año, en un momento en que muchas cosas ya me daban igual encontré un grupo de gente que consiguieron llamar mi atención sobre otra forma de ver el mundo del desarrollo software. Con el empuje del Agile Open Spain 2009 me lancé a movilizar a mis contactos para formar un grupo en Valladolid, ampliado de una manera muy alegre a Castilla y León, pero bueno, hay que tener grandes miras en el horizonte para llegar lejos. Con esto conseguí empezar a «evangelizar» el agilismo por mi tierra, pero lo mejor, conocer nueva gente que ya lo practicaba y yo sin saberlo :-(. Para este año hay que meter más caña al grupo, ser proactivo y ver hasta dónde llegamos y qué podemos hacer.
  5. Promover, perseguir y mejorar mi entorno de trabajo en la empresa en que trabajo, aportando mis ideas sobre agilidad, mejora continua y prácticas de XP. Quizá esto sea lo más difícil de todo, no tanto por mis ganas sino por la resistencia al cambio que aparece ante esas «cosas nuevas con que nos ha venido Jorge». Algún día alguno se dará cuenta que ya va un año tarde en las nuevas tendencias del desarrollo software, en la mejora de nuestro sector y las prácticas que hacen un software de mayor calidad.
  6. Leer más libros técnicos. Ya basta de leer solo en verano novelas mientras estoy en la piscina. Hay que aprovechar todas las horas del día, de la semana para echar un vistazo a esos libros que ahora llaman mi atencion (principalmente Agile, TDD, JUnit, Patrones de diseño…) y realizar periodicamente una inversion en ellos, que a la larga será positivo para mi desarrollo profesional.

Al final creo que son ya unos cuantos objetivos bastante amplios. Esto como los mandamientos se podrían resumir en uno:

GESTIONAR MUCHO MEJOR MI TIEMPO, EMPLEAR GTD Y POMODORO

Tengo que reconocer que soy muy poco constante 😉

Visitantes

web analytics

Blog Stats

  • 5.073 hits