Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Hablemos de Deuda Técnica - El mal que puede acabar tu proyecto-producto ágil - Reloaded
1. 1
Por: Jorge H. Abad L –jorge.abad@tcs.com
jorge.abad@gmail.com
@jorge_abad
http://www.lecciones-aprendidas.info/
Hablemos de Deuda Técnica
“Como la Deuda Técnica puede acabar tu proyecto ágil”
V.2019-05
2. 2
HELLO!2
¡HOLA!
Soy Jorge H. Abad L.
Soy Enterprise Agile Coach
Pueden encontrarme en
linkedin.com/in/jorgeabadl / @jorge_abad
Mi propósito es acompañar a equipos y
organizaciones para que logren resultados
grandiosos
Mi Blog: http://www.lecciones-aprendidas.info/
4. 4
Mis objetivos con esta sesión:
- Elevar nuestro nivel de conciencia
sobre la deuda técnica
- Inquietarlos
- Ser disparador de un cambio para
testers y team members
8. 8
La deuda técnica son las consecuencias de:
• un desarrollo apresurado o inconsciente de
software
• o un despliegue descuidado de hardware
Cuyos intereses pagarán ya sea con:
• baja velocidad de desarrollo o
• bajo rendimiento del sistema
Y que tendrás que invertir tiempo y dinero para
removerla del sistema
@jorge_abad
https://twitter.com/jorge_abad/status/749304074802266112
21. 21
Nuestro servidor agotado por :
• La carga
• Necesita continuos reinicios
• Carecemos de
• buen hardware
• Software liviano adecuado
para el hardware
• Software bien construido
(por lo general las últimas dos)
53. 53
Un
Cuanto trabajamos para el
sistema y el sistema no trabaja
para nosotros.
Otra forma de ver la
Deuda Técnica
54. 54
Un
Otra forma de ver la
Deuda Técnica
Un sistema mal construido
requerirá mucho esfuerzo de
modificación y mantenimiento
Cuanto trabajamos para el
sistema y el sistema no trabaja
para nosotros.
57. 57
Presiones de Negocio
Poco entendimiento del proceso
Software no modular, clases muy acopladas
Falta de una buena suite de pruebas
Falta de documentación
Falta de colaboración entre equipos
Falta de acompañamiento a desarrolladores jóvenes
Desarrollo paralelo (en dos o más branches)
Postergar la refactorización
Inexistencia de estándares o no alineación con ellos
Poco conocimiento por parte del desarrollador de buenas prácticas
Poca apropiación del código
Pobre liderazgo técnico
Subutilización del software base
Sobreutilización del software base
Presiones por cambios de último minuto
Entre otros
Causas
59. 59
Sintomas
Despliegue lentos
Constantes reinicios del servidor por consumo de
memoria
Código inmantenible
Código inestable o con el síndrome de castillo de
naipes
Cambio aquí y daño allá
Costo alto de cambios
Costo alto de corrección de código
Disminución de la velocidad de los sprints
Entre otros
66. 66
La Deuda Técnica es Adictiva
Se decide
tomar
Deuda
Técnica
No pagar
la Deuda
Técnica
Acumula
Deuda
Reduce la
velocidad
del equipo
Más
presión
sobre el
equipo
Ángel Núñez
90. 90
Prácticas Técnicas compartidas por todo el
equipo
• Revisiones de código
• Buenas practicas de desarrollo (Principios SOLID, ACID,
etc)
• Pruebas de Aceptación
• Pruebas Unitarias
• Propiedad Colectiva de Código
• Clean Code
• Test Driven Development
• Integración Continua
• Entrega Continua (Continuous Delivery)
• Diseño Simple
• Programación por Pares
• Mob Programming
• Mob Testing
• Estándares de Codificación
• Refactoring
• Monitoreo de la deuda técnica
92. 92
Categorías de deuda técnica a gestionar
La asumida deliberadamente (no tenemos tiempo para
hacer eso pero tenemos que hacerlo después)
La encontrada por los validadores de código estático o
en las inspecciones de código
La declarada por los desarrolladores, es decir, cuando
ellos saben que hay cosas mal desarrolladas que deben
ser corregidas.
96. 96
Otras opciones
Priorice por comenzando por el más alto
Weighted shorted job first
–WSJF = Pain / effort
–WSJF = Dolor / Esfuerzo
Y planee la remoción en el product
backlog
Para los incidentes o bugs del mes,
realice análisis de causa raíz buscando
planear remoción de la causa, y planee la
remoción en el product backlog.
110. 110
Defining success in the pursuit of agile
principles and moving to the higher stages of
agile fluency is not easy. But there are telltale
signs that show when an organization is on the
right track. Pioneering agile organizations stay
on top of technical debt, elevate technical
excellence and their teams continuously
monitor progress.
Definir el éxito en la búsqueda de principios
ágiles y pasar a las etapas superiores de la
fluidez ágil no es fácil. Pero hay signos
reveladores que muestran cuando una
organización está en el camino correcto. Las
organizaciones ágiles pioneras se mantienen al
tanto de la deuda técnica, elevan la
excelencia técnica y sus equipos monitorean
continuamente el progreso.
https://www.thoughtworks.
com/perspectives/edition1-
agile-article
Martin Fowler
Martin Fowler
111. 111
“Nunca atribuyas a la maldad
lo que puede ser explicado por
la estupidez”
Principio de Hanlon.
112. 112
No esperes a que la deuda de
tu software no pueda ser
pagada, comienza a
gestionarla
Deja de ser víctima y
hazte responsable
119. 119
Aviso de Copyright
Usted es libre de:
– Compartir- copiar, distribuir y trasmitir el trabajo
– Modificar- adaptar el trabajo
Bajo las siguientes condiciones
– Atribución. Ud. debe atribuir el trabajo en la manera especificada por el autor
o licenciante (pero de ninguna manera que sugiera que ellos aprueban su uso
del trabajo).
Nada de lo dispuesto en esta licencia menoscaba o
restringe los derechos morales del autor.
Para más información ver http://creativecommons.org/licenses/by/3.0/