deuda tecnica
TRANSCRIPT
DEUDA TECNICA “Preferible ir a dormir sin haber cenado que levantarse
con una deuda.”Benjamin Franklin
• Que es una deuda técnica.
• Que es exactamente una deuda técnica.
• Consejos para manejar el uso de deuda técnica.
QUE ES UNA DEUDA TÉCNICA?
… en el area de negocios piensan que podemos cargar
deuda técnica porque nunca ven realmente las
consecuencias. Pero esas consecuencias existen …
solo que nunca expresadas un una manera que ellos
puedan comprender.
Steve McConnell
ANALOGIAEl problema del
significado dual de las palabras.
QUE ES EXACTAMENTE UNA DEUDA TÉCNICA?
La deuda técnica se refiere a las consecuencias una
arquitectura o un sistema diseñado pobremente dentro
del código de un proyecto.
La deuda puede verse como trabajo que necesita
realizarse antes que el proyecto pueda considerarse
como completo.
Si la deuda no se paga, continuara incrementando
interés haciendo difícil implementar cambios en el
futuro.
• La deuda técnica se refiere a las consecuencias una arquitectura o un
sistema diseñado pobremente dentro del código de un proyecto.
• La deuda puede verse como trabajo que necesita realizarse antes que el
proyecto pueda considerarse como completo.
• Si la deuda no se paga, continuara incrementando interés haciendo
difícil implementar cambios en el futuro.
UN EJEMPLO
Todo empieza con una app y dos tipos de usuario.
¿Es necesario un sistema de permisos?
Inminente una refactorización.
Permisos adicionales con una linea de código.
Necesidad de negocio.
Quedan 3 posibles escenarios
4 esta semana.22 la próxima.
0 para futuros permisos.
Escenario 1
Dinero ahora
21 esta semana.0 para futuros permisos.
Escenario 2
Dinero después
5, 6, 7 … para futuros permisos.
Escenario 3
Dinero ahora
4 esta semana.
Some civil engineering analogies
Legacy Code
The big rewrite (corregir todo el código)
COMO MANEJAR LA DEUDA TÉCNICA?
MVP
PROPÓSITOS DEL MVP• Posibilidad de probar un producto con el
mínimo de recursos.
• Acelerar el aprendizaje sobre la utilidad del producto.
• Reducir el desperdicio de horas de ingeniería.
• Liberar el producto a los usuarios lo mas pronto posible.
MLPLas tablets existían antes del iPad.
MLPYa había autos eléctricos antes de Tesla.
MLPAntes de Google ya había motores de
búsqueda.
MLP
La ventaja esta en ser disruptivo, no en ser el primero.
CAMBIO CULTURALCuando la meta es la calidad …
VS
Winners
Hello World Open2014
BIBLIOGRAFIA
• http://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052
• https://medium.com/@joaomilho/festina-lente-e29070811b84
• https://en.wikipedia.org/wiki/Technical_debt
VOLUNTARIOS• Agile and Scrum.
• Extreme Programming.
• Kanban en el desarrollo de software.
• Ubiquitous Computing and Internet of Things.
• Computer Vision Applications.
• Design Patterns.
• A/B Testing
GRACIAS