SlideShare uma empresa Scribd logo
1 de 11
Deuda técnica Rodrigo Corral rcorral@plainconcepts.com http://geeks.ms/blogs/rcorral Twitter: r_corral
Primera ley de la programaciónn de Ward Cunningham: “Reducir la calidadalarga el tiempo de desarrollo” La deuda cuesta dinero
¿Qué hacer? Identifica áreas de deuda. Usa métricas. Apóyate en herramientas. Pregunta al equipo. Asegura el ROI. Prioriza. Analiza el impacto. Elige el momento. Paga la deuda. GOTO inicio.
¿Cómo lo vendo? La tiranía de la curva J
¿Cómo lo vendo? Necesitas un plan. La gente de negocio no entiende de tecnología sino de dinero. Evidence DEFEATS doubt: Ejemplos Enseña código, muestra historias no cerradas Hechos Retrasos, velocidad, problemas de calidad… Analogías La gente de negocio no entiende el software, busca analogías Testimonios El mismo mensaje a veces es más fuerte si viene ‘de fuera’ Estadísticas Velocidad, tasa de bugs
¿Cómo la pago? Aprende, aprende, aprende. Usa la diplomacia. Ten una arquitectura inidentificable. Asegúrate de no romper nada. Asegúrate de que hay efectos visibles. Persevera. Hasta cierto punto (stop lost). No la pagues, evítala.
¿Qué hago? Ten principios. Nunca renuncies a ellos, bajo ningún concepto, y menos bajo presión. Construye una ética profesional. Tardarás una vida.
Principios: The art of Unix programming Modularidad: Partes simples conectadas por interfaces claras. Claridad: Claridad es mejor que inteligencia. Composición: Diseña sistemas para se conectados con otros sistemas. Separación: Separa política de implementación. Simplicidad:: Diseña para la simplicidad, la complejidad debe ser obligatoria. Parsimonia: Escribe un programa si sabes que nada más puede funcionar. Trasparencia: Diseña para la visibilidad, hace la inspección y depuración facil. Robustez: La robustez emerge de la trasparencia y la simplicidad. Representación: Pon el conocimiento en los datos, para que el programa pueda se simple. Mínima sorpresa: Diseña para evitar sorpresas. Silencio: Si el programa no tiene nada sorprendente que decir no digas nada. Reparación: Si fallas hazlo tan pronto y tan ruidosamente como puedas. Economía: El programador es más caro que la máquina. Generación: Siempre que puedas escribe programas que generen programas. Optimización: Prototipa antes de pulir. Primero que funcione, luego optimiza. Diversidad: No te creas ninguna verdad absoluta. Extensibilidad: Diseña para el futuro, llega antes de lo que esperas.
Principios: Arquitectura ágil DRY: Don’t repeat yourself. SPOT: Single point of truth. KISS: Keep it simple, stupid. YAGNI: You are not going to need it.
Principios: SOLID SRP (The Single ResponsibilityPrinciple): una clase debe tener una, y solamente una, razón para cambiar. OCP(The Open/ClosedPrinciple): una clase debe permitir ser extendida, sin necesitar ser modificada. LSP(TheLiskovSubstitutionPrinciple): las clases derivadas deben poder ser sustituibles por sus clases base. ISP(Interface SegregationPrinciple): hacer interfaces de grano fino que son específicos de clientes. DIP(TheDependencyInversionPrinciple): las abstracciones no deben depender de los detalles, los detalles deben depender de las abstracciones.
Principios: Otros Los nombres importan mucho. NO tenemos scroll.

Mais conteúdo relacionado

Destaque

Flexalen 19 Ago 08
Flexalen 19 Ago 08Flexalen 19 Ago 08
Flexalen 19 Ago 08Alex Huis
 
Rafael velazco actividad final competencias y roles del tutor
Rafael velazco actividad final competencias y roles del tutorRafael velazco actividad final competencias y roles del tutor
Rafael velazco actividad final competencias y roles del tutor1gringo
 
CRISIS POLÍTICA Y DESARROLLO ECONÓMICO.-
CRISIS POLÍTICA Y DESARROLLO ECONÓMICO.-CRISIS POLÍTICA Y DESARROLLO ECONÓMICO.-
CRISIS POLÍTICA Y DESARROLLO ECONÓMICO.-Diego Contreras Romero
 
PresentacióN Psu (SíNtesis)
PresentacióN Psu (SíNtesis)PresentacióN Psu (SíNtesis)
PresentacióN Psu (SíNtesis)calulara
 
Geopolíticas Del Conocimiento
Geopolíticas Del ConocimientoGeopolíticas Del Conocimiento
Geopolíticas Del Conocimientoguest1f5a84b
 
Deportes tic
Deportes ticDeportes tic
Deportes ticALINA
 
Presentación Iterlegis
Presentación IterlegisPresentación Iterlegis
Presentación IterlegisSilviaPN
 
Limites constitucionales al derecho de dominio
Limites constitucionales al derecho de dominioLimites constitucionales al derecho de dominio
Limites constitucionales al derecho de dominioDiego Javier Mesa Rada
 
M A N U A L D E L C O N D U C T O R V E N E Z O L A N O
M A N U A L D E L C O N D U C T O R V E N E Z O L A N OM A N U A L D E L C O N D U C T O R V E N E Z O L A N O
M A N U A L D E L C O N D U C T O R V E N E Z O L A N Oguest53f9b65
 
Constitucional Servidores Del Estado
Constitucional Servidores Del EstadoConstitucional Servidores Del Estado
Constitucional Servidores Del EstadoCynthiacarrasco
 

Destaque (20)

Flexalen 19 Ago 08
Flexalen 19 Ago 08Flexalen 19 Ago 08
Flexalen 19 Ago 08
 
Uriel090
Uriel090Uriel090
Uriel090
 
Rafael velazco actividad final competencias y roles del tutor
Rafael velazco actividad final competencias y roles del tutorRafael velazco actividad final competencias y roles del tutor
Rafael velazco actividad final competencias y roles del tutor
 
La Crisis de 1929
La Crisis de 1929La Crisis de 1929
La Crisis de 1929
 
Ampliaciones
AmpliacionesAmpliaciones
Ampliaciones
 
Buscadores
BuscadoresBuscadores
Buscadores
 
CRISIS POLÍTICA Y DESARROLLO ECONÓMICO.-
CRISIS POLÍTICA Y DESARROLLO ECONÓMICO.-CRISIS POLÍTICA Y DESARROLLO ECONÓMICO.-
CRISIS POLÍTICA Y DESARROLLO ECONÓMICO.-
 
Google+
Google+Google+
Google+
 
PresentacióN Psu (SíNtesis)
PresentacióN Psu (SíNtesis)PresentacióN Psu (SíNtesis)
PresentacióN Psu (SíNtesis)
 
Geopolíticas Del Conocimiento
Geopolíticas Del ConocimientoGeopolíticas Del Conocimiento
Geopolíticas Del Conocimiento
 
Gardner
GardnerGardner
Gardner
 
Deportes tic
Deportes ticDeportes tic
Deportes tic
 
Presentación Iterlegis
Presentación IterlegisPresentación Iterlegis
Presentación Iterlegis
 
Limites constitucionales al derecho de dominio
Limites constitucionales al derecho de dominioLimites constitucionales al derecho de dominio
Limites constitucionales al derecho de dominio
 
M A N U A L D E L C O N D U C T O R V E N E Z O L A N O
M A N U A L D E L C O N D U C T O R V E N E Z O L A N OM A N U A L D E L C O N D U C T O R V E N E Z O L A N O
M A N U A L D E L C O N D U C T O R V E N E Z O L A N O
 
Tipos de parrafos
Tipos de parrafosTipos de parrafos
Tipos de parrafos
 
Utilidad publica gestiones
Utilidad publica gestionesUtilidad publica gestiones
Utilidad publica gestiones
 
Constitucional Servidores Del Estado
Constitucional Servidores Del EstadoConstitucional Servidores Del Estado
Constitucional Servidores Del Estado
 
Memorama
MemoramaMemorama
Memorama
 
El Mar
El MarEl Mar
El Mar
 

Semelhante a Deuda técnica

Presentaciones Ramiro Alvarez - eCommerce IT Camp
Presentaciones Ramiro Alvarez - eCommerce IT Camp Presentaciones Ramiro Alvarez - eCommerce IT Camp
Presentaciones Ramiro Alvarez - eCommerce IT Camp eCommerce Institute
 
MANUAL VISUAL BASIC.pdf
MANUAL VISUAL BASIC.pdfMANUAL VISUAL BASIC.pdf
MANUAL VISUAL BASIC.pdfSucelyCordova
 
Charla Tdd Uji 032010
Charla Tdd Uji 032010Charla Tdd Uji 032010
Charla Tdd Uji 032010Carlos Ble
 
Lo que odiamos de la agilidad
Lo que odiamos de la agilidadLo que odiamos de la agilidad
Lo que odiamos de la agilidadLeonardo Soto
 
Curso TDD Ruby on Rails #01: Introducción al testing
Curso TDD Ruby on Rails #01: Introducción al testingCurso TDD Ruby on Rails #01: Introducción al testing
Curso TDD Ruby on Rails #01: Introducción al testingAlberto Perdomo
 
Software testing dragon lesson spanish - latam.pptx
Software testing dragon lesson   spanish - latam.pptxSoftware testing dragon lesson   spanish - latam.pptx
Software testing dragon lesson spanish - latam.pptxJavierAlejandroChave5
 
Prácticas ágiles y software abierto para poner en órbita tu startup
Prácticas ágiles y software abierto para poner en órbita tu startupPrácticas ágiles y software abierto para poner en órbita tu startup
Prácticas ágiles y software abierto para poner en órbita tu startupRuben Orta
 
Presentación Modelo sistemático para testeo con usuarios en Startups
Presentación Modelo sistemático para testeo con usuarios en StartupsPresentación Modelo sistemático para testeo con usuarios en Startups
Presentación Modelo sistemático para testeo con usuarios en StartupsGustavo Soto Miño
 
Modelo sistemático de testeo con usuarios para startups
Modelo sistemático de testeo con usuarios para startupsModelo sistemático de testeo con usuarios para startups
Modelo sistemático de testeo con usuarios para startupsJuan Paulo Madriaza
 
Startups - No Tech? No Problem
Startups - No Tech? No ProblemStartups - No Tech? No Problem
Startups - No Tech? No ProblemOscar Soriano
 
Social media day uruguay - francisco goldaracena
Social media day   uruguay - francisco goldaracenaSocial media day   uruguay - francisco goldaracena
Social media day uruguay - francisco goldaracenaPancho Goldaracena
 
Zeety lineamientos de trabajo
Zeety   lineamientos de trabajoZeety   lineamientos de trabajo
Zeety lineamientos de trabajogrupozeety
 
Testear videojuegos con Unity3D
Testear videojuegos con Unity3D Testear videojuegos con Unity3D
Testear videojuegos con Unity3D [T]echdencias
 
Equipos Web en el Mundo Real
Equipos Web en el Mundo RealEquipos Web en el Mundo Real
Equipos Web en el Mundo Realcesars
 

Semelhante a Deuda técnica (20)

Presentaciones Ramiro Alvarez - eCommerce IT Camp
Presentaciones Ramiro Alvarez - eCommerce IT Camp Presentaciones Ramiro Alvarez - eCommerce IT Camp
Presentaciones Ramiro Alvarez - eCommerce IT Camp
 
SEPGLA 2007 Presentation
SEPGLA 2007 PresentationSEPGLA 2007 Presentation
SEPGLA 2007 Presentation
 
¿Se puede implementar una Cultura Ágil?
¿Se puede implementar una Cultura Ágil?¿Se puede implementar una Cultura Ágil?
¿Se puede implementar una Cultura Ágil?
 
Unova makers
Unova makersUnova makers
Unova makers
 
MANUAL VISUAL BASIC.pdf
MANUAL VISUAL BASIC.pdfMANUAL VISUAL BASIC.pdf
MANUAL VISUAL BASIC.pdf
 
Charla Tdd Uji 032010
Charla Tdd Uji 032010Charla Tdd Uji 032010
Charla Tdd Uji 032010
 
BDD para la mejora de la calidad software
BDD para la mejora de la calidad softwareBDD para la mejora de la calidad software
BDD para la mejora de la calidad software
 
Lo que odiamos de la agilidad
Lo que odiamos de la agilidadLo que odiamos de la agilidad
Lo que odiamos de la agilidad
 
Curso TDD Ruby on Rails #01: Introducción al testing
Curso TDD Ruby on Rails #01: Introducción al testingCurso TDD Ruby on Rails #01: Introducción al testing
Curso TDD Ruby on Rails #01: Introducción al testing
 
Software testing dragon lesson spanish - latam.pptx
Software testing dragon lesson   spanish - latam.pptxSoftware testing dragon lesson   spanish - latam.pptx
Software testing dragon lesson spanish - latam.pptx
 
Developing for Android (The movie)
Developing for Android (The movie)Developing for Android (The movie)
Developing for Android (The movie)
 
Prácticas ágiles y software abierto para poner en órbita tu startup
Prácticas ágiles y software abierto para poner en órbita tu startupPrácticas ágiles y software abierto para poner en órbita tu startup
Prácticas ágiles y software abierto para poner en órbita tu startup
 
Presentación Modelo sistemático para testeo con usuarios en Startups
Presentación Modelo sistemático para testeo con usuarios en StartupsPresentación Modelo sistemático para testeo con usuarios en Startups
Presentación Modelo sistemático para testeo con usuarios en Startups
 
Modelo sistemático de testeo con usuarios para startups
Modelo sistemático de testeo con usuarios para startupsModelo sistemático de testeo con usuarios para startups
Modelo sistemático de testeo con usuarios para startups
 
Startups - No Tech? No Problem
Startups - No Tech? No ProblemStartups - No Tech? No Problem
Startups - No Tech? No Problem
 
Social media day uruguay - francisco goldaracena
Social media day   uruguay - francisco goldaracenaSocial media day   uruguay - francisco goldaracena
Social media day uruguay - francisco goldaracena
 
Xp
XpXp
Xp
 
Zeety lineamientos de trabajo
Zeety   lineamientos de trabajoZeety   lineamientos de trabajo
Zeety lineamientos de trabajo
 
Testear videojuegos con Unity3D
Testear videojuegos con Unity3D Testear videojuegos con Unity3D
Testear videojuegos con Unity3D
 
Equipos Web en el Mundo Real
Equipos Web en el Mundo RealEquipos Web en el Mundo Real
Equipos Web en el Mundo Real
 

Mais de Rodrigo Corral

El lenguaje de pogramación C++
El lenguaje de pogramación C++El lenguaje de pogramación C++
El lenguaje de pogramación C++Rodrigo Corral
 
Industria 4.0 2017 - Almacenamiento y procesamiento de datos en la nube
Industria 4.0 2017 - Almacenamiento y procesamiento de datos en la nubeIndustria 4.0 2017 - Almacenamiento y procesamiento de datos en la nube
Industria 4.0 2017 - Almacenamiento y procesamiento de datos en la nubeRodrigo Corral
 
Seguridad en SQL Server
Seguridad en SQL ServerSeguridad en SQL Server
Seguridad en SQL ServerRodrigo Corral
 
CAS 2016 Scrum internals - Por qué scrum funciona
CAS 2016   Scrum internals - Por qué scrum funcionaCAS 2016   Scrum internals - Por qué scrum funciona
CAS 2016 Scrum internals - Por qué scrum funcionaRodrigo Corral
 
DotNet Spain 2016 - Añadiendo visibilidad a tus aplicaciones.pptx
DotNet Spain 2016 - Añadiendo visibilidad a tus aplicaciones.pptxDotNet Spain 2016 - Añadiendo visibilidad a tus aplicaciones.pptx
DotNet Spain 2016 - Añadiendo visibilidad a tus aplicaciones.pptxRodrigo Corral
 
Alm como factor diferenciador
Alm como factor diferenciadorAlm como factor diferenciador
Alm como factor diferenciadorRodrigo Corral
 
Introducción a phone gap
Introducción a phone gapIntroducción a phone gap
Introducción a phone gapRodrigo Corral
 
Llevando scrum a grandes organizaciones
Llevando scrum a grandes organizacionesLlevando scrum a grandes organizaciones
Llevando scrum a grandes organizacionesRodrigo Corral
 
Leyes que todo agilista debería conocer
Leyes que todo agilista debería conocerLeyes que todo agilista debería conocer
Leyes que todo agilista debería conocerRodrigo Corral
 
Caminando hacia la agilidad con Visual Studio 2010
Caminando hacia la agilidad con Visual Studio 2010Caminando hacia la agilidad con Visual Studio 2010
Caminando hacia la agilidad con Visual Studio 2010Rodrigo Corral
 
Ingeniería del software y metodologías ágiles
Ingeniería del software y metodologías ágilesIngeniería del software y metodologías ágiles
Ingeniería del software y metodologías ágilesRodrigo Corral
 
ALM09 - Scrum, Visual Studio y Buenas Prácticas
ALM09 - Scrum, Visual Studio y Buenas PrácticasALM09 - Scrum, Visual Studio y Buenas Prácticas
ALM09 - Scrum, Visual Studio y Buenas PrácticasRodrigo Corral
 
Scrum, Team System y el mundo real
Scrum, Team System y el mundo realScrum, Team System y el mundo real
Scrum, Team System y el mundo realRodrigo Corral
 
Control de proyectos con Metodologías ágiles y Team System
Control de proyectos con Metodologías ágiles y Team SystemControl de proyectos con Metodologías ágiles y Team System
Control de proyectos con Metodologías ágiles y Team SystemRodrigo Corral
 
Windows Azure: ¿Quieres estar en las nubes?
Windows Azure: ¿Quieres estar en las nubes?Windows Azure: ¿Quieres estar en las nubes?
Windows Azure: ¿Quieres estar en las nubes?Rodrigo Corral
 
Novedades en la gestión de proyectos en VS2010
Novedades en la gestión de proyectos en VS2010Novedades en la gestión de proyectos en VS2010
Novedades en la gestión de proyectos en VS2010Rodrigo Corral
 

Mais de Rodrigo Corral (16)

El lenguaje de pogramación C++
El lenguaje de pogramación C++El lenguaje de pogramación C++
El lenguaje de pogramación C++
 
Industria 4.0 2017 - Almacenamiento y procesamiento de datos en la nube
Industria 4.0 2017 - Almacenamiento y procesamiento de datos en la nubeIndustria 4.0 2017 - Almacenamiento y procesamiento de datos en la nube
Industria 4.0 2017 - Almacenamiento y procesamiento de datos en la nube
 
Seguridad en SQL Server
Seguridad en SQL ServerSeguridad en SQL Server
Seguridad en SQL Server
 
CAS 2016 Scrum internals - Por qué scrum funciona
CAS 2016   Scrum internals - Por qué scrum funcionaCAS 2016   Scrum internals - Por qué scrum funciona
CAS 2016 Scrum internals - Por qué scrum funciona
 
DotNet Spain 2016 - Añadiendo visibilidad a tus aplicaciones.pptx
DotNet Spain 2016 - Añadiendo visibilidad a tus aplicaciones.pptxDotNet Spain 2016 - Añadiendo visibilidad a tus aplicaciones.pptx
DotNet Spain 2016 - Añadiendo visibilidad a tus aplicaciones.pptx
 
Alm como factor diferenciador
Alm como factor diferenciadorAlm como factor diferenciador
Alm como factor diferenciador
 
Introducción a phone gap
Introducción a phone gapIntroducción a phone gap
Introducción a phone gap
 
Llevando scrum a grandes organizaciones
Llevando scrum a grandes organizacionesLlevando scrum a grandes organizaciones
Llevando scrum a grandes organizaciones
 
Leyes que todo agilista debería conocer
Leyes que todo agilista debería conocerLeyes que todo agilista debería conocer
Leyes que todo agilista debería conocer
 
Caminando hacia la agilidad con Visual Studio 2010
Caminando hacia la agilidad con Visual Studio 2010Caminando hacia la agilidad con Visual Studio 2010
Caminando hacia la agilidad con Visual Studio 2010
 
Ingeniería del software y metodologías ágiles
Ingeniería del software y metodologías ágilesIngeniería del software y metodologías ágiles
Ingeniería del software y metodologías ágiles
 
ALM09 - Scrum, Visual Studio y Buenas Prácticas
ALM09 - Scrum, Visual Studio y Buenas PrácticasALM09 - Scrum, Visual Studio y Buenas Prácticas
ALM09 - Scrum, Visual Studio y Buenas Prácticas
 
Scrum, Team System y el mundo real
Scrum, Team System y el mundo realScrum, Team System y el mundo real
Scrum, Team System y el mundo real
 
Control de proyectos con Metodologías ágiles y Team System
Control de proyectos con Metodologías ágiles y Team SystemControl de proyectos con Metodologías ágiles y Team System
Control de proyectos con Metodologías ágiles y Team System
 
Windows Azure: ¿Quieres estar en las nubes?
Windows Azure: ¿Quieres estar en las nubes?Windows Azure: ¿Quieres estar en las nubes?
Windows Azure: ¿Quieres estar en las nubes?
 
Novedades en la gestión de proyectos en VS2010
Novedades en la gestión de proyectos en VS2010Novedades en la gestión de proyectos en VS2010
Novedades en la gestión de proyectos en VS2010
 

Último

Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 

Último (13)

Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 

Deuda técnica

  • 1. Deuda técnica Rodrigo Corral rcorral@plainconcepts.com http://geeks.ms/blogs/rcorral Twitter: r_corral
  • 2. Primera ley de la programaciónn de Ward Cunningham: “Reducir la calidadalarga el tiempo de desarrollo” La deuda cuesta dinero
  • 3. ¿Qué hacer? Identifica áreas de deuda. Usa métricas. Apóyate en herramientas. Pregunta al equipo. Asegura el ROI. Prioriza. Analiza el impacto. Elige el momento. Paga la deuda. GOTO inicio.
  • 4. ¿Cómo lo vendo? La tiranía de la curva J
  • 5. ¿Cómo lo vendo? Necesitas un plan. La gente de negocio no entiende de tecnología sino de dinero. Evidence DEFEATS doubt: Ejemplos Enseña código, muestra historias no cerradas Hechos Retrasos, velocidad, problemas de calidad… Analogías La gente de negocio no entiende el software, busca analogías Testimonios El mismo mensaje a veces es más fuerte si viene ‘de fuera’ Estadísticas Velocidad, tasa de bugs
  • 6. ¿Cómo la pago? Aprende, aprende, aprende. Usa la diplomacia. Ten una arquitectura inidentificable. Asegúrate de no romper nada. Asegúrate de que hay efectos visibles. Persevera. Hasta cierto punto (stop lost). No la pagues, evítala.
  • 7. ¿Qué hago? Ten principios. Nunca renuncies a ellos, bajo ningún concepto, y menos bajo presión. Construye una ética profesional. Tardarás una vida.
  • 8. Principios: The art of Unix programming Modularidad: Partes simples conectadas por interfaces claras. Claridad: Claridad es mejor que inteligencia. Composición: Diseña sistemas para se conectados con otros sistemas. Separación: Separa política de implementación. Simplicidad:: Diseña para la simplicidad, la complejidad debe ser obligatoria. Parsimonia: Escribe un programa si sabes que nada más puede funcionar. Trasparencia: Diseña para la visibilidad, hace la inspección y depuración facil. Robustez: La robustez emerge de la trasparencia y la simplicidad. Representación: Pon el conocimiento en los datos, para que el programa pueda se simple. Mínima sorpresa: Diseña para evitar sorpresas. Silencio: Si el programa no tiene nada sorprendente que decir no digas nada. Reparación: Si fallas hazlo tan pronto y tan ruidosamente como puedas. Economía: El programador es más caro que la máquina. Generación: Siempre que puedas escribe programas que generen programas. Optimización: Prototipa antes de pulir. Primero que funcione, luego optimiza. Diversidad: No te creas ninguna verdad absoluta. Extensibilidad: Diseña para el futuro, llega antes de lo que esperas.
  • 9. Principios: Arquitectura ágil DRY: Don’t repeat yourself. SPOT: Single point of truth. KISS: Keep it simple, stupid. YAGNI: You are not going to need it.
  • 10. Principios: SOLID SRP (The Single ResponsibilityPrinciple): una clase debe tener una, y solamente una, razón para cambiar. OCP(The Open/ClosedPrinciple): una clase debe permitir ser extendida, sin necesitar ser modificada. LSP(TheLiskovSubstitutionPrinciple): las clases derivadas deben poder ser sustituibles por sus clases base. ISP(Interface SegregationPrinciple): hacer interfaces de grano fino que son específicos de clientes. DIP(TheDependencyInversionPrinciple): las abstracciones no deben depender de los detalles, los detalles deben depender de las abstracciones.
  • 11. Principios: Otros Los nombres importan mucho. NO tenemos scroll.