api deuda técnica.pptx

77
La deuda técnica ¿Satisfacemos los requerimientos de costo/tiempo o entregamos lo solicitado?

Upload: carlos-joaquin-duarte

Post on 22-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: APi Deuda técnica.pptx

La deuda técnica¿Satisfacemos los requerimientos de

costo/tiempo o entregamos lo solicitado?

Page 2: APi Deuda técnica.pptx

La disputa en los proyectos

Satisfacer las restriccionesde tiempo/costo

Requerimientos de entregacon calidad

• Aspectos procedimentales• Aspectos estratégicos

Page 3: APi Deuda técnica.pptx

Avance ideal del proyecto

Velocidadplanificada

Tiempo

Fecha predeterminadade entrega

Visión simplista e idealizadadel trabajo a realizar a través

del tiempo

Esfuerzo planificado

Page 4: APi Deuda técnica.pptx

Avance real del proyecto

Velocidadplanificada

Tiempo

Fecha predeterminadade entrega

Visión simplista e idealizadadel trabajo a realizar a través

del tiempo

Tasa real a la que se estácompletando el trabajo

de calidad

Fecha de entregaproyectada

Esfuerzo subestimado

Page 5: APi Deuda técnica.pptx

El costo del ajuste

Velocidadplanificada

Tiempo

Fecha predeterminadade entrega

Visión simplista e idealizadadel trabajo realizado a través

del tiempo

Tasa real a la que se estácompletando el trabajo

de calidad

Fecha de entregaproyectada

En este punto se ejerce presión a fin de cumplir con la fechapredeterminada...y la calidad

se ve afectada

Page 6: APi Deuda técnica.pptx

Deuda técnica

• La metáfora de deuda técnica, desarrollada por Ward Cunnigham en 1992, explica cómo el proceso de desarrollar de forma “rápida y sucia” nos hace incurrir en una deuda, que al igual que una deuda financiera, nos obliga al pago de intereses, que se traducen en un esfuerzo extra a realizar en las siguientes iteraciones de desarrollo.

Page 7: APi Deuda técnica.pptx

Deuda técnica• La deuda técnica es un eufemismo

tecnológico que hace referencia a las consecuencias de un desarrollo apresurado de software o un despliegue descuidado de hardware.

• La deuda puede verse como trabajo que necesita realizarse antes que el proyecto pueda considerarse como completo.

• La deuda técnica es el costo y los intereses a pagar por hacer mal las cosas.

• La deuda técnica impide progresar, obtener ganancias, cancelar las deudas.

Page 8: APi Deuda técnica.pptx
Page 9: APi Deuda técnica.pptx
Page 10: APi Deuda técnica.pptx
Page 11: APi Deuda técnica.pptx
Page 12: APi Deuda técnica.pptx

¿Qué sucede con el software?

Page 13: APi Deuda técnica.pptx

¿Qué sucede con el software?

Page 14: APi Deuda técnica.pptx

ES UNA CUESTIÓN DE PÁGAME AHORA O PÁGAME DESPUÉS

Page 15: APi Deuda técnica.pptx

Imposible de mantener

Page 16: APi Deuda técnica.pptx

¿alguna semejanza?

Page 17: APi Deuda técnica.pptx

¿les suena familiar?

“Déjate de probar (o de diseñar, documentar, refactorizar, etc.)

y ponte a programar, que no tenemos tiempo”.

Page 18: APi Deuda técnica.pptx

Ante esta situación…

Page 19: APi Deuda técnica.pptx

Mejoras al software

Un desarrollo de mala calidad, obtiene beneficios

a corto plazo. Pero puede generar DEUDA cuyos

intereses se disparen, se alarguen o incluso sean

imposibles de pagar.

Nuevas característicasFuncionalidad

adicional

Arquitectura,Características estructurales

DefectosDeudatécnica

Visible Invisible

Valorpositivo

Valornegativo

Page 20: APi Deuda técnica.pptx

Cuadrante de deuda técnica

Fuente: Martin Fowler

Page 21: APi Deuda técnica.pptx

Costos asociados

Tiempo

Costo

Código rápido sin probar

Simple, Test-Driven Desig

Page 22: APi Deuda técnica.pptx

Código heredado

Page 23: APi Deuda técnica.pptx

Código heredado

Page 24: APi Deuda técnica.pptx

Bancarrota

Intereses

Prestamos

Pago de principal

Inflación

Page 25: APi Deuda técnica.pptx

Opinión de los expertos

Page 26: APi Deuda técnica.pptx

Los olores del código

Page 27: APi Deuda técnica.pptx

Deuda técnica

Velocidadplanificada

Tiempo

Fecha predeterminadade entrega

Área de “Deuda Técnica”

Fecha de entregaproyectada

Page 28: APi Deuda técnica.pptx

Tenemos un problema

Page 29: APi Deuda técnica.pptx

Incremento en la deuda técnica

Velocidadplanificada

Tiempo

1ra. entrega

Incremento del Área de “Deuda Técnica”

2ª. entrega

Velocidad del proyecto original

La velocidad del equipo trabajando en la versión 2 es significativamente menor debido a la baja calidad en el código

Page 30: APi Deuda técnica.pptx

¿qué pasa con scrum?

Page 31: APi Deuda técnica.pptx

¿Tenemos las respuestas?Si este trabajo técnico no hecho es necesario para la salud del proyecto,

• ¿qué pasa cuando no se hace nada con él?• ¿qué pasa cuando se acumula y continúa

acumulando deuda técnica y no se atiende?

Page 32: APi Deuda técnica.pptx

“diseño muerto”

Page 33: APi Deuda técnica.pptx

síntomas

Page 34: APi Deuda técnica.pptx

ejemplos

• Errores conocidos y no solucionados• Retraso en las actualizaciones críticas• Retraso en el refactoring del código complejo• En aplicaciones web, codificar toda la lógica de

negocios en la capa de presentación• No utilizar logs o manejo de errores robusto• No realizar pruebas o realizarlas de forma muy

superficial• Mejoras de código no implementadas• Documentación incompleta, inexistente o no

actualizada

Page 35: APi Deuda técnica.pptx

Como se materializa

• Documentación escasa, incompleta o inservible.• Errores.• Ausencia o deficiente control de versiones.• Arquitectura no escalable.• Rigidez para actualizar a nuevas tecnologías o

plataformas.

Page 36: APi Deuda técnica.pptx

No toda la deuda técnica es mala

Page 37: APi Deuda técnica.pptx

¿Como manejar la deuda técnica?

“The time you take out of the schedule to make technical debt payments typically doesn’t result in anything the customers or users will see…” – Jeff Atwood

Page 38: APi Deuda técnica.pptx

framework

Lista DT

Identificación DT

Estimación DT

Toma de decisiones

Page 39: APi Deuda técnica.pptx

ITEM de Deuda técnica

Riesgo

Page 40: APi Deuda técnica.pptx

¿debemos eliminar toda a deuda técnica?

Page 41: APi Deuda técnica.pptx

Involucrar y educar

Page 42: APi Deuda técnica.pptx

Involucrar al product owner

Page 43: APi Deuda técnica.pptx

Evaluar decisiones

Page 44: APi Deuda técnica.pptx

ejemplo

Page 45: APi Deuda técnica.pptx

ejemplo

Page 46: APi Deuda técnica.pptx

Riesgos de deuda técnica

¿Cómo se evitan los riesgos de deuda técnica?

Page 47: APi Deuda técnica.pptx

Visualizar y medir

Page 48: APi Deuda técnica.pptx

Métricas de código

Page 49: APi Deuda técnica.pptx

Velocidad y bugs

Page 50: APi Deuda técnica.pptx

backlog

Page 51: APi Deuda técnica.pptx

Pull systems

Page 52: APi Deuda técnica.pptx

Definition of done

Page 53: APi Deuda técnica.pptx

Enfoques para pagar la deuda

Page 54: APi Deuda técnica.pptx

Priorizar y el backlog

Page 55: APi Deuda técnica.pptx

Priorizar y el backlog

Page 56: APi Deuda técnica.pptx

Priorizar y el backlog

Page 57: APi Deuda técnica.pptx

Priorizar y el backlog

Page 58: APi Deuda técnica.pptx

Priorizar y el backlog

Page 59: APi Deuda técnica.pptx

Distribuir cada sprint

Page 60: APi Deuda técnica.pptx

Toyota kata

Page 61: APi Deuda técnica.pptx

Incluir la calidad en la gestión del portafolio

Page 62: APi Deuda técnica.pptx

Medida de éxito tradicional

Page 63: APi Deuda técnica.pptx
Page 64: APi Deuda técnica.pptx

Triángulo ágil

Page 65: APi Deuda técnica.pptx

métrica

Page 66: APi Deuda técnica.pptx

Cuantificar la deuda

Page 67: APi Deuda técnica.pptx
Page 68: APi Deuda técnica.pptx

MVP

Page 69: APi Deuda técnica.pptx

Propósito del mvp

• 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 más pronto

posible.

Page 70: APi Deuda técnica.pptx

A Qué aspiramos

Page 71: APi Deuda técnica.pptx
Page 72: APi Deuda técnica.pptx
Page 73: APi Deuda técnica.pptx
Page 74: APi Deuda técnica.pptx
Page 75: APi Deuda técnica.pptx
Page 76: APi Deuda técnica.pptx

Cambio cultural

La META es la CALIDAD

La Ley fundamental de programación de Ward Cunningham indica:

“reducir la calidad, incrementa el tiempo de desarrollo.”

Page 77: APi Deuda técnica.pptx

Conclusiones“Todo mundo debería saber que la malaCalidad en el software, al final se paga”

“No subestimemos el peligro”