I Cachirulo Talks sobre Agilismo

El pasado jueves asistí a las primeras charlas organizadas por Cachirulo Valley, unos chicos muy majos que buscan que confluya el mundo técnico con el del negocio, haciéndose eco de todo lo que sucede en Aragón relativo a las TIC y participando activamente mediante la organización de charlas y eventos. Para su blog, escribí un post sobre el pabellón digital del agua, ese sitio que tiene paredes de agua y que mola un montón 🙂

La primera charla fue impartida por Teresa Oliver, no sé a qué se dedica, pero supongo que será algo así como “llevar el agilismo hasta el último rincón del planeta”. Puedes ver el vídeo completo aquí. La idea era presentar en qué consiste el desarrollo ágil y vendérselo a la gente de nogocio (de la que por cierto había más bien poca). De lo que dijo me quedo con lo siguiente:

  • El agilismo es una filosofía, una forma de pensar, no le gusta que se entienda como una metodología. Además, no está limitado al desarrollo de software (aunque en el 95% de los casos sigue siendo así).
  • Las “metodologías ágiles” no son para todo el mundo, hay equipos que trabajan mejor de otras formas, aunque ella cree que, en general, todo equipo se beneficiaría de seguir un proceso más abierto al cambio.
  • El 64% de las funcionalidades desarrolladas en el mundo nunca se utilizan.
  • Se centra en SCRUM:
    • Apuestan por reconocer que los cambios ocurren y facilitar su tratamiento.
    • Se utilizan sprints compuestos de historias que vamos a implementar.
    • Los sprints tienen que durar de 2 a 3 semanas. La planificación se hace pensando qué cabe en este tiempo (time-boxing).
    • Al principio de cada sprint se priorizan las historias según la importancia que tienen para el cliente.
    • Las historias elegidas para el sprint han de estar terminadas al 100% cuando éste termina.
    • Tras cada sprint se entrega al cliente un producto funcional (cada vez más avanzada, pero real).

La segunda charla fue impartida por Jose M. Cristobal, CTO de SevenClick, empresa aragonesa dedicada al desarrollo de aplicaciones móviles. El vídeo está disponible para visualización online. Su charla estuvo orientada a comentar lo que habían aprendido al aplicar algunas técnicas de desarrollo ágil. Muchas cosas interesantes:

  • Las reuniones diarias han de ser diarias, intentaron hacerlas martes y jueves pero no dio resultado. Está claro que las standup han de ser muy cortas y no tiene sentido que participen 15 personas, pues se pierde el ritmo.
  • No estimar en horas
    • Comenta la Ley de Parkinson: “El trabajo se alarga hasta completar el tiempo planificado para su finalización”.
    • Las estimaciones en horas/días son personales y cada uno tendrá la suya, con lo que no hay forma de establecer un valor absoluto. Además, las horas pendientes son irreales, ya que puedan faltar tareas o ser erróneas.
    • Ellos utilizan estimación relativa, concretamente con Planificación de Póker.
    • Al cliente no le importan las tareas que hayas tenido que hacer para completar una funcionalidad, lo que le importa es que funcione y haga lo que él espera.
  • Termina lo que empieces
    • Tendencia a terminar prematuramente las tareas, sólo por acabar cuanto antes.
    • Lo que hacen es dejarse un buffer de colchón para pruebas y otras labores necesarias, pero que se tiene tendencia a no hacer por falta de tiempo.
  • Pregunta al Product Manager (Cliente)
    • NO interpretar, imaginar o suponer lo que quiere el cliente. Preguntarle.
  • Consejos
    • Scrum no sirve para todos. Si no encaja en tu equipo de desarrollo, es mejor usar otra metodología.
    • La agilidad no es una bala de plata. Hacen falta prácticas de ingeniería, no basta con sólo usar una metodología ágil.
    • La agilidad necesita compromiso por parte de todos los stakeholders.

¿Opiniones, comentarios, críticas? :)