Cómo mejorar la Developer Experience con Trunk-Based Development

Las organizaciones que aplican una cultura DevEx ven aumentada su productividad por la eficiencia de las metodologías y herramientas implantadas. Es lógico pensar que si somos más productivos y eficientes podremos aumentar la velocidad con la que se transforman las ideas en productos, y que por lo tanto el  negocio se verá beneficiado y reforzado.

Entendemos que Trunk Based Development (TBD) debe ser parte de ese conjunto de prácticas y herramientas que harán que nuestra DevEx mejore, puesto que reduce la fricción generada por grandes despliegues más comunes en otras metodologías como GitFlow, y reduce a su vez el feedback loop dándole la capacidad a la organización de evolucionar los productos o servicios de forma más rápida y mejorando el time to market. TBD permite tener una sola base de código sobre la que el equipo trabaja, lo que aumenta la colaboración y transferencia de conocimiento, reduciendo los silos de información que pueden impactar negativamente en bloqueos por falta de información.

Kristian Muñoz, Moisés Rodríguez, Rita Teixeira y Arturo Menéndez, Software Craftsperson en Codurance, nos explican en este vídeo cómo implementar Trunk-Based Development en tu equipo. 

Qué es la Developer Experience

La Developer Experience nace de la necesidad de paliar los problemas relacionados con la productividad de los equipos de desarrollo y las disfuncionalidades que acaban impactando en el resultado del producto. Lo que pretende es aportar un nuevo marco de trabajo: 

  • Utilizando diferentes servicios, 
  • Aplicando ciertas técnicas y herramientas 
  • Promoviendo cambios culturales 

En otras palabras: la developer experience pretende reducir al máximo la fricción durante el desarrollo y potenciar la satisfacción del desarrollador mediante un impacto visible y por consiguiente un mejor producto (o servicio). Y, ¿por qué es esto tan importante? Porque un profesional satisfecho es un activo valioso para cualquier equipo. Mucho se está hablando de si es posible o no medir la productividad de un equipo de desarrollo. Nosotros pensamos que es posible hacerlo y que la DevEx contribuye a ello. 

Pilares de la Developer Experience: productividad, impacto y satisfacción

Cuando hablamos de Developer Experience (DevEx), nos encontramos con tres pilares esenciales al buscar optimizar esta experiencia en un equipo: productividad, impacto y satisfacción.

  • Productividad: Se refiere al tiempo que el equipo dedica a tareas que realmente generan un impacto o beneficio. Es crucial que estas tareas sean sencillas, manejables, automatizadas y sistematizadas. La colaboración interna también desempeña un papel esencial para potenciar la productividad.

  • Impacto: El equipo debe tener una visión clara y comprender el propósito del trabajo que está haciendo. La transparencia en los procesos, y compartir los objetivos de negocio que hay detrás de lo que estamos haciendo garantizan que el equipo esté alineado y preparado para cualquier cambio.

  • Satisfacción: Contribuye a la cohesión del equipo, cultivar un entorno de confianza donde cada miembro se sienta psicológicamente seguro motiva a seguir con entusiasmo en sus tareas, generando un impulso adicional hacia la productividad.

Developer Experience y Trunk Based Development

Una de las técnicas que van a mejorar la developer experience es el Trunk-Based Development (TBD). Este enfoque particular, que puede ser la herramienta que tu equipo necesita y no lo sabías, implica trabajar con un solo control de versiones. La verdadera magia radica en un detalle diferenciador: todos los miembros del equipo  colaboran en la misma rama. La esencia del TBD se traduce en hacer que escribir código sea lo más eficaz posible, eliminando cualquier fricción innecesaria.

Es como despejar el camino para que la eficiencia fluya sin obstáculos.

Beneficios del Trunk Based Development (TBD)

Al adoptar Trunk-Based Development (TBD), experimentamos beneficios transformadores en nuestra forma de trabajo:

  • Reducimos tareas que no aportan directamente a la producción de código.
  • Evitamos conflictos y aliviamos la carga cognitiva del equipo.
  • Eliminamos la necesidad de revisar código y pull requests, logrando un código más sostenible y limpio en el tiempo.
  • Fortalecemos la colaboración interna, creando un entorno propicio para compartir ideas y trabajar en conjunto.
  • Simplificamos procesos, eliminando complejidades innecesarias y allanando el camino hacia una ejecución más eficiente y sin complicaciones.

Con el TBD, no solo elevamos la calidad del código, sino que optimizamos integralmente todo el flujo de trabajo de desarrollo.

Por dónde empezar para aplicar Trunk Based Development (TBD)

El proceso de adopción del Trunk-Based Development (TBD) empieza con la seguridad y entusiasmo del equipo para abrazar esta metodología. Es crucial fomentar una mentalidad que no tema al error, promoviendo el apoyo mutuo en lugar de buscar culpables. Esta mentalidad permite asumir cambios arriesgados, aprender y avanzar incluso en situaciones no esperadas. 

 

Una vez arraigada esta mentalidad, el equipo se sumerge en la innovación y mejora continua, generando soluciones que satisfacen al cliente y benefician al negocio. La transición hacia cambios técnicos en el proceso de trabajo, como la simplificación de pasos innecesarios, la revisión de controles en la pipeline y otros ajustes, se convierte en el siguiente paso. El TBD no solo transforma la forma de desarrollar código, sino que impulsa una cultura de adaptabilidad y mejora constante en todo el equipo.

Caso de Estudio

Cuando pasamos de la teoría a la práctica, a menudo nos encontramos con obstáculos inesperados. En el siguiente video, presentamos un caso de estudio donde mostramos cómo nuestro equipo de desarrollo enfrentó desafíos reales durante un período de congelación de código, un "code freeze". Destacamos cómo la flexibilidad de TBD fue fundamental en superar estos desafío:

Conclusión

Lamentablemente el hecho que nuestro equipo trabaje en tareas no productivas, derivadas de la falta de información, de un ciclo de desarrollo lento, etc, hace que la Dev Ex se vea afectada, la productividad reducida y como consecuencia estemos perdiendo dinero. Si somos capaces de eliminar tareas que no aportan valor y que solo friccionan, automáticamente podremos invertir ese tiempo malgastado en tareas que sí que aportan valor.  Si trabajamos en esa dirección las organizaciones se beneficiarán, puesto que aumentaran la retención de talento y serán capaces de atraer talento nuevo, algo que dentro de nuestro sector es un factor clave. Recordemos que el coste de introducir un nuevo miembro en el equipo puede ser muy alto, tanto en tiempo como en esfuerzo. .

La DevEx no solo impacta en los resultados positivos del negocio, sino en la cultura y herramientas disponibles. Invertir en DevEx significa invertir en un futuro con éxito para tu equipo y negocio, donde la eficiencia impulsa la rápida transformación de ideas en productos deseados.

Descubre el impacto real de Katalyst by Codurance