Fuentes de Deuda

¿Qué áreas del código han acumulado deuda técnica?

El módulo de autenticación de usuarios es excesivamente complejo y difícil de mantener debido a numerosos hacks y soluciones temporales.
Tenemos mucho código duplicado en diferentes componentes que debería refactorizarse en utilidades compartidas.
Muchos de nuestros modelos de datos principales están estrechamente acoplados, lo que dificulta extender o modificar la funcionalidad.
Impacto y Riesgos

¿Cómo está impactando esta deuda técnica al equipo y al producto?

La incorporación de nuevos desarrolladores es extremadamente difícil debido a la complejidad y falta de documentación.
Constantemente estamos apagando incendios y no podemos entregar nuevas funciones a un ritmo razonable.
Nuestro proceso de despliegue es frágil y propenso a errores, causando problemas frecuentes en producción.
Priorización

¿Qué áreas de deuda deberían abordarse primero?

Deberíamos comenzar con el módulo de autenticación ya que es una dependencia central que afecta múltiples áreas.
Mejorar la cobertura de pruebas para nuestros componentes más volátiles proporcionaría una base sólida.
Actualizar nuestro frontend a la última versión de React debería ser una prioridad máxima.
Plan de Acción

¿Cómo podemos abordar sistemáticamente la deuda priorizada?

Asignaremos el 20% de cada sprint para enfocarnos en elementos de deuda de alta prioridad.
Cada dos semanas, tendremos un día dedicado al 'pago de deuda' para realizar mejoras incrementales.
Para el próximo trimestre, un desarrollador senior estará completamente dedicado a liderar los esfuerzos de reducción de deuda.

¿Qué es una Retrospectiva de Deuda Técnica?

Una Retrospectiva de Deuda Técnica es una reunión enfocada en identificar áreas de deuda técnica dentro de una base de código o sistema. Permite a los equipos discutir abiertamente las fuentes de deuda, priorizar qué elementos deben abordarse y crear un plan de acción para pagar esa deuda con el tiempo. La deuda técnica se refiere a la acumulación de soluciones menos que óptimas dentro de una base de código. Esta deuda puede surgir de priorizar la entrega a corto plazo sobre la calidad del código a largo plazo, falta de comprensión o aplazamiento de la refactorización. Sin control, la deuda técnica aumenta la complejidad y ralentiza el desarrollo futuro. Al realizar regularmente Retrospectivas de Deuda Técnica, los equipos pueden mantener la conciencia de su deuda, evitar que se vuelva inmanejable y asignar tiempo para mejoras incrementales. Este enfoque proactivo mejora la calidad del código, reduce los errores y mejora la productividad general.

Temas

Fuentes de Deuda

¿Qué áreas del código han acumulado deuda técnica?

Anima a los participantes a ser específicos sobre los tipos de deuda, como code smells, problemas arquitectónicos o falta de pruebas.

Impacto y Riesgos

¿Cómo está impactando esta deuda técnica al equipo y al producto?

Fomenta la discusión sobre las consecuencias reales de permitir que la deuda siga acumulándose.

Priorización

¿Qué áreas de deuda deberían abordarse primero?

Guía al equipo en la priorización de elementos de deuda basándose en el impacto, esfuerzo requerido e importancia estratégica.

Plan de Acción

¿Cómo podemos abordar sistemáticamente la deuda priorizada?

Facilita la creación de un plan concreto con cronogramas, responsabilidades y revisiones regulares.

Cuándo utilizar esta retrospectiva

  • Cuando tu equipo está luchando con una base de código antigua y compleja que se está volviendo cada vez más difícil de mantener y extender.
  • Si constantemente estás apagando incendios y no puedes entregar nuevas funciones a un ritmo razonable debido a la inestabilidad causada por la deuda técnica.
  • Cuando la incorporación de nuevos desarrolladores es extremadamente desafiante debido a la falta de documentación y código complicado.
  • Si estás gastando más tiempo en mantenimiento y corrección de errores que trabajando en capacidades innovadoras debido a la deuda técnica.
  • Cuando la moral está sufriendo ya que los desarrolladores se frustran con los desafíos constantes planteados por una base de código acumulativa.

Preguntas rompehielos sugeridas

  • Si nuestra base de código fuera una estructura física, ¿cómo se vería y por qué?
  • Comparte una historia divertida o experiencia relacionada con el manejo de deuda técnica en el pasado.

Ideas y consejos para su reunión retrospectiva

  • Fomenta la discusión abierta y honesta sin culpar a nadie. La deuda técnica es un subproducto natural del desarrollo de software.
  • Asegúrate de que todos los miembros del equipo, incluidos los roles no técnicos, entiendan el concepto de deuda técnica y sus impactos potenciales.
  • Prioriza los elementos de deuda basándote en el impacto, esfuerzo requerido e importancia estratégica, en lugar de intentar abordar todo a la vez.
  • Crea un plan de acción concreto con cronogramas, responsabilidades y revisiones regulares para asegurar la responsabilidad y el progreso.
  • Considera asignar una porción dedicada de cada sprint o ciclo para enfocarse en los esfuerzos de reducción de deuda técnica.
  • Explora la automatización de procesos como linting, pruebas y revisiones de código para prevenir la introducción de nueva deuda.

Nuevo en las retrospectivas? Lea nuestra guía sobre cómo llevar a cabo una retrospectiva →