AgileBrazil 2019, day 1

This is my first time at AgileBrazil and here is my summary of day 1.

The opening keynote session was in charge of Woody Zuill who talked about Mob Programming. Even when I was already familiar with this technique it was a valuable session. I got some interesting tips and arguments to use when trying to convince people to try mob programming.

After the keynote I spent most of the day in the WBMA session where I presented my paper about Agile in the Undergraduate Curricula. Beyond the presented papers I made some academic contacts. It is amazing for me how difficult is for some researches to present their work in a clear way. Beyond this issue, there were a couple of studies about different agile practices that were really interesting for me.

One session I really liked, beyond those of the WBMA, was the one presented by Vini Andrade who talked about Continuous Delivery at NuBank.

Beyond the sessions I had the opportunity to do some networking and also meet colleagues I already knew like Luis Parzianello, Lula Rodriguez and Maria Augusta.

I don’t speak Portuguese but when Brazilians speak slowly I am able to understand some stuff. But in the main room there is translation service (Portuguse-English) that was a great deal for me.

Woody Zuill on Mob-Programming

Evento: Desarrollo de Software en la era Post-Agile

Desde la Universidad Nacional de Tres de Febrero estamos organizando este evento en la previa de Agiles 2019. El evento lo estamos organizando desde el grupo de investigación en Procesos y Prácticas Agiles de Desarrollo de Software. Más allá del título (que lo pusimos con alguna intención marketinera) la idea es compartir lo que estamos viendo en la industria y en la academia en nuestras investigaciones sobre Desarrollo Ágil. Adicionalmente vamos a compartir lo que estamos haciendo en nuestra carrera de grado en UNTreF y vamos a anunciar nuestro primer seminario de postgrado sobre Software Delivery. A modo de cierre tendremos la presentación de una caso de industria a cargo de Diego Marcet (ContolShift Labs)

El evento se llevará a cabo el martes 17 de Septiembre a las 19.00 hs. (puntual) en la sede Buenos Aires del rectorado de UNTreF (Juncal 1319, Ciudad de Buenos Aires)

El evento es de entrada gratuita pero require registración (aquí).

Este es el texto que estamos usando en los flyers de difusión:

Agile alcanzó el mainstream, se filtró más allá del desarrollo de software y habilitó múltiples oportunidades de negocio. Trajo consigo una nueva mirada del desarrollo de software y el mundo del trabajo. En este proceso de difusión surgieron también distorsiones y oportunistas. Actualmente Agile perdió parte de su significado, muchas personas y organizaciones se consideran Agile sin casi haber recorrido mucho camino ni implementar sus prácticas. Sin embargo Agile marcó un antes y un después en la forma en que desarrollamos software y aportamos valor al negocio. A partir de esta mirada desafiante proponemos este espacio para compartir avances en investigación y experiencias reales de implementación en la industria.

Estudio formal sobre la enseñanza de Agile en Argentina

El año pasado empecé a trabajar en un estudio formal sobre la enseñanza de Agile. Más precisamente sobre la enseñanza de Métodos y Prácticas Ágiles de Desarrollo de Software. Fue así que en el contexto del la conferencia CONAIISI 2018 realicé una encuesta entre los estudiantes allí presentes. A partir de los datos recolectados en esa encuesta escribimos un artículo que enviamos al Workshop Brasilero de Métodos Agiles. Para nuestra alegría el artículo fue aceptado, será publicado en los proceedings de la conferencia y yo lo estaré presentando este miércoles.

Agradezco a todos los que participaron de la encuesta y comparto aquí algunos de los hallazgos más relevantes.

  • Al artículo se llama Initial Assessment of Agile Development in the Undergraduate Curricula
  • Conseguimos 62 datapoints (cantidad de encuestas respondidas) correspondientes a representantes de 14 universidades distintas
  • El 76% de los estudiantes avanzados indicaron haber estudiando Agile
  • Entre las prácticas más estudiadas (por encima de 60%) encontramos: Continuous Integration, Pair-Programming, Test Automation y Desarrollo Iterativo
  • Encontramos dos curiosidades importantes que sugieren que Agile puede estar siendo estudiado de forma muy superficial:
    • El 65 % de quienes respondieron haber estudiado Scrum indicaron que no estudiaron Retrospectivas
    • El 58% de quienes respondieron haber estudiado Extreme Programming indicaron no haber estudiado Test-Driven Development

Estructura de equipo para desarrollo de producto

Desde hace un tiempo estoy trabajando un equipo de producto de más de 20 personas y estamos organizados en una estructura que es nueva para mi pero que al mismo tiempo me parece viene resultando efectiva. La siguiente figura resume esta estructura.

Si bien todo el equipo de producto son más de 20 personas, en el día a día estamos divididos en 4 equipos: 3 feature teams y 1 equipo de toolsmiths (este nombre lo tomé del enfoque FDD, pero no es el nombre real del equipo)

Los 3 feature teams trabajan en funcionalidades del producto y están en el día a día con gente de negocio.

El equipo de toolsmiths es donde yo trabajo. Actuamos como proveedores/facilitadores de los features teams y nos encargamos de mantener/optimizar la infraestructura de desarrollo: repositorios, build server, ambientes, etc. Incluso en ocasiones agregamos código al producto, pero obviamente relacionado a cuestiones de soporte/infra como feature flags, health endpoints, etc. Como parte de nuestro trabajo tenemos que interactuar con otros grupos de soporte organizacional que se encargan de infraestructura de base y regulaciones (seguridad, red, etc). En el equipo somos 3 personas con skills mixtos: podemos codear, agregar tests, configurar servers, scriptear infraestructura pero sobre todo podemos hablar con otros grupos y generar concenso. Alguien podría tentarse de decir que somos DevOps, pero no lo vemos así, porque de entrada no creemos que DevOps sea ni un rol ni un área, sino un mindset con un conjunto de prácticas.

No se si este es el mejor enfoque para la estructura de un equipo de producto, pero consideramos que nos viene resultando bien: el negocio está contento, los distintos equipos están contentos, el producto está estable y tenemos la capacidad de ir a producción bajo demanda y de forma altamente automatizada.

Estadísticas del nuevo cuatrimestre en MeMo2

Ya hemos completamos la segunda semana de clases. Tenemos 18 alumnos y un equipo docente con 2 profesores y 6 colaboradores, con lo cual deberíamos poder tener un flujo de seguimiento mejor que el cuatrimestre pasado.

Comparto aquí algunas estadísticas del perfil de alumnos que resultan llamativas:

  • Más del 70% de los alumnos ya están trabajando en alguna actividad afín a la carrera
  • Hay una variación muy grande en la cantidad de materias aprobadas: el alumno con más materias aprobadas tiene 33, mientras que el que tiene menos tiene 17

Condición laboral

Cantidad de materias aprobadas

Cantidad de materias aprobadas

Optimizando el pipeline de deployment – primeros resultados

A partir de la situación inicial previamente descripta, tuvimos que hacer algunos ajustes adicionales a lo esperado pero finalmente logramos paralelizar la pruebas de aceptación.

Logramos una mejora de ~30 % en el tiempo de ejecución del pipeline completo. La mejora es buena pero creemos que podemos mejorarlo aún más ya que en este momento los dos sets de pruebas automatizadas que hemos paralelizado se ejecutan dentro del mismo nodo de Jenkins compitiendo por recursos físicos.

Una mejora posible a esto es agregar un nuevo nodo Jenkins que permita que cada set de pruebas se ejecute con recursos físicos independientes.

Finalmente hay otra serie de posibles mejoras a experimentar pero que requieren trabajo ya a nivel código y por ello son más intrusivas en el día a día del equipo de desarrollo.

Presentación de libros en Agiles 2019

¿Escribiste un libro sobre Agile o un tema afín?

¿Vas a Agiles 2019?

Entonces lleva un par de ejemplares de tu libro para que los asistentes puedan darle una mirada mientras en 10 minutos les contas de tu libro.

Durante el Agiles 2019 vamos a hacer una sesión de presentación de libros de autores latinoamericanos. La idea es que cada autor presente su libro en 10 minutos y mientras lo hace ponga a disposición de la audiencia un par de ejemplares (¿2, 5, 10?) para que los asistentes puedan darle una mirada.

Esta sesión será una sesión más del Open Space pero la estoy anunciando con antelación para que los autores interesados en presentar su libro puedan preparar esa breve presentación y también para que puedan organizarse para llevar algunos ejemplares. La idea que haya al menos 2 ejemplares de cada libro que luego de la presentación puedan regalarse a los asistentes mediante algún mecanismo que definiremos durante la sesión. Más allá de esto, cada autor es libre de llevar ejemplares adicionales para vender o regalar.

Ya estuve hablando con algunos autores y hasta el momento la lista de libros a presentar incluye:

  • Proyecto Ágiles con Scrum (Martín Salías)
  • Construcción de Software (Nico Paez)
  • Por un Scrum Popular (Alan Cyment)
  • Desarrollo de Software Ágil en 10Pines (Fede Zuppa)
  • Poder Creativo (Ingrid Astiz)
  • Experiencias Ágiles (AOC libro 1) (autores varios)
  • Técnicas Ágiles (AOC libro 2) (autores varios)
  • Ensayos Ágiles (AOC libro 3) (autores varios)