Deuda técnica

Un poco de mi

Sagrario Meneses
Software Architect

 

           @sagmmd

¿Qué es la deuda técnica?

Algo que resta valor al producto software y que no se ve.

  • Definición inicial insuficiente.

  • Trabajo bajo presión.

  • Falta de colaboración.

  • Un pobre liderazgo.

  • Falta de conocimiento.

  • Componentes acoplados.

  • Ausencia de pruebas.

  • Ausencia de estándares.

Causas

"Si tiene deudas con un banco, puede hablar con alguien, negociar y acordar un plan de pago. Pero la deuda técnica es como la deuda con la mafia:

0
 Advanced issue found
 

vienen de noche, apuntando con un arma a la cabeza y quieren su dinero AHORA."

0
 Advanced issue found
 

"Todo el mundo debería saber que la mala calidad de un software al final se paga."

"¡Deuda técnica, explicada a personas no técnicas!" por @vincentdnl

Controlada

  • El equipo es disciplinado.

  • El código base está bien estructurado.

  • La deuda técnica está documentada.

    • No se introduce por encima de la existente.

    • La existente se paga tan pronto como se pueda.

No controlada

  • El equipo carece de madurez.

  • Se usan "hacks" como soluciones para problemas causados por otros "hacks".

  • No se prioriza atender la deuda técnica pues:

    • O no esta identificada

    • O se piensa es mejor vivir con ella

Para empezar

  • Hacer visible la deuda.

  • Crear un hábito.

  • Negociar regularmente.

  • Delegar el control.

¿Comó evitarla?

Sugerencias

  • Evita la sobreingeniería.

  • Coloca los pendientes en un lugar de manera física.

  • Empieza con poco (pero empieza).

  • Establece estándares de código.

  • Brinda apoyo y compañía a tu equipo.

Para disfrutar en la cuarentena

  • "Refactoring: Improving the Design of Existing Code" por Martin Fowler

Gracias por su atención