SlideShare una empresa de Scribd logo
1 de 17
Sobrevivir a proyectos heredados
           … es posible

Pablo Bouzada

                     @pbousan
                     pbousan@gmail.com



                    http://programandonet.com
Proyecto heredado
     … mantenimiento
     … evolutivo
     … migración
     … asistencia técnica
     … tienes que echarle una mano a fulano
     con una cosilla, campeón!
Lo que el cliente cree que tiene…
Lo que realmente tiene…
Aproximación clásica
La aplicación ya está en producción.

Miedo a romper algo.

Tocar lo mínimo para hacer lo que nos piden.

Cambios superficiales.
Proyecto sumidero
Los desarrolladores que van pasando
por el proyecto no se preocupan por
los que vengan detrás.

No hay ningún interés por mejorar el
código existente.
Busquemos otra forma de hacerlo!!
Traza un plan
 Aproximación del libro “Object-Oriented Reengieneging Patterns”.
Propuesta
   •   Reconoce el terreno
   •   Establece el alcance
   •   Crea tu red de seguridad
   •   Detecta la deuda técnica
   •   Establece tareas y prioriza
   •   Manos a la obra!!
Reconoce el terreno
   • Implica al cliente
   • Conoce el negocio
   • Conoce la aplicación
Establece el alcance
   • Plantea una meta
   • Mantén al equipo motivado
   • Pacta con el cliente lo que se va
   a hacer y lo que no
Crea tu red de seguridad
   • Imprescindible hacerlo antes de
   tocar el código
   • Tests unitarios, de integración y de
   aceptación
   • Automatiza los tests
Detecta la deuda técnica
   • Análisis objetivo de la
   mantenibilidad del código
   • Apóyate en herramientas
   • Detecta antipatrones
   • En paralelo con los pasos anteriores
Establece tareas y prioriza
   • El cliente tendrá la responsabilidad
   de priorizar
   • Kanban, Scrum o Scrumban
Manos a la obra
   • Principios SOLID, patrones, Extreme
   Programming (TDD, Pair Programmin,
   Continuous Integration,…)
   • Técnicas de refactorización para
   equipos con poca experiencia
¿Preguntas?
MUCHAS GRACIAS!!




  @pbousan
  pbousan@gmail.com


                      http://programandonet.com

Más contenido relacionado

La actualidad más candente

Planeación tecnologia e informática actividad 3
Planeación tecnologia e informática actividad 3Planeación tecnologia e informática actividad 3
Planeación tecnologia e informática actividad 3Wilson Arrubla
 
Episodio 10 de 12 - Exploramos Wireframes & Prototipos @ iTexico
Episodio 10 de 12 - Exploramos Wireframes & Prototipos @ iTexicoEpisodio 10 de 12 - Exploramos Wireframes & Prototipos @ iTexico
Episodio 10 de 12 - Exploramos Wireframes & Prototipos @ iTexicoProduct School
 
Webinar Flumotion - How to integrate online video into your marketing strategy
Webinar Flumotion - How to integrate online video into your marketing strategyWebinar Flumotion - How to integrate online video into your marketing strategy
Webinar Flumotion - How to integrate online video into your marketing strategyFlumotion
 
Ejecución de servicios digitales y negocios en Internet
Ejecución de servicios digitales y negocios en InternetEjecución de servicios digitales y negocios en Internet
Ejecución de servicios digitales y negocios en InternetAsier Marqués
 
Shift Left: En busca del éxito del software
Shift Left: En busca del éxito del softwareShift Left: En busca del éxito del software
Shift Left: En busca del éxito del softwareMarco Avendaño
 
Acced procesos y administracion
Acced procesos y administracionAcced procesos y administracion
Acced procesos y administracionACCED
 
Charla TestingUy 2019: Compartiendo el Sombrero del Testing
Charla TestingUy 2019: Compartiendo el Sombrero del TestingCharla TestingUy 2019: Compartiendo el Sombrero del Testing
Charla TestingUy 2019: Compartiendo el Sombrero del TestingClaudia Badell
 
UX en el Proceso de Desarrollo de Producto
UX en el Proceso de Desarrollo de ProductoUX en el Proceso de Desarrollo de Producto
UX en el Proceso de Desarrollo de ProductoJulian Camacho
 

La actualidad más candente (12)

Planeación tecnologia e informática actividad 3
Planeación tecnologia e informática actividad 3Planeación tecnologia e informática actividad 3
Planeación tecnologia e informática actividad 3
 
Episodio 10 de 12 - Exploramos Wireframes & Prototipos @ iTexico
Episodio 10 de 12 - Exploramos Wireframes & Prototipos @ iTexicoEpisodio 10 de 12 - Exploramos Wireframes & Prototipos @ iTexico
Episodio 10 de 12 - Exploramos Wireframes & Prototipos @ iTexico
 
Webinar Flumotion - How to integrate online video into your marketing strategy
Webinar Flumotion - How to integrate online video into your marketing strategyWebinar Flumotion - How to integrate online video into your marketing strategy
Webinar Flumotion - How to integrate online video into your marketing strategy
 
Design Sprint Remoto
Design Sprint RemotoDesign Sprint Remoto
Design Sprint Remoto
 
Lean Startup
Lean StartupLean Startup
Lean Startup
 
Ejecución de servicios digitales y negocios en Internet
Ejecución de servicios digitales y negocios en InternetEjecución de servicios digitales y negocios en Internet
Ejecución de servicios digitales y negocios en Internet
 
El sistema Kanban
El sistema KanbanEl sistema Kanban
El sistema Kanban
 
Shift Left: En busca del éxito del software
Shift Left: En busca del éxito del softwareShift Left: En busca del éxito del software
Shift Left: En busca del éxito del software
 
Agile Inception Deck
Agile Inception DeckAgile Inception Deck
Agile Inception Deck
 
Acced procesos y administracion
Acced procesos y administracionAcced procesos y administracion
Acced procesos y administracion
 
Charla TestingUy 2019: Compartiendo el Sombrero del Testing
Charla TestingUy 2019: Compartiendo el Sombrero del TestingCharla TestingUy 2019: Compartiendo el Sombrero del Testing
Charla TestingUy 2019: Compartiendo el Sombrero del Testing
 
UX en el Proceso de Desarrollo de Producto
UX en el Proceso de Desarrollo de ProductoUX en el Proceso de Desarrollo de Producto
UX en el Proceso de Desarrollo de Producto
 

Destacado

Presentaciã³n1adsi
Presentaciã³n1adsiPresentaciã³n1adsi
Presentaciã³n1adsiOsoriio Vm
 
Un proceso de modernización dirigido por modelos de sistemas web heredados ha...
Un proceso de modernización dirigido por modelos de sistemas web heredados ha...Un proceso de modernización dirigido por modelos de sistemas web heredados ha...
Un proceso de modernización dirigido por modelos de sistemas web heredados ha...Jornadas SISTEDES 2012 {JISBD; PROLE; JCIS}
 
Evolución e integración de aplicaciones legadas: comenzar de nuevo o actualizar?
Evolución e integración de aplicaciones legadas: comenzar de nuevo o actualizar?Evolución e integración de aplicaciones legadas: comenzar de nuevo o actualizar?
Evolución e integración de aplicaciones legadas: comenzar de nuevo o actualizar?Gilberto Pedraza Garcia
 
Transitioning Data from Legacy Systems into QuickBase
Transitioning Data from Legacy Systems into QuickBaseTransitioning Data from Legacy Systems into QuickBase
Transitioning Data from Legacy Systems into QuickBaseJohn Head
 
Re-using Integration Patterns as Design Knowledge
Re-using Integration Patterns as Design KnowledgeRe-using Integration Patterns as Design Knowledge
Re-using Integration Patterns as Design KnowledgeSandeep Purao
 
MC Đỗ Phương Thảo, MC truyền hình chuyên nghiệp tại Tp.HCM
MC Đỗ Phương Thảo, MC truyền hình chuyên nghiệp tại Tp.HCMMC Đỗ Phương Thảo, MC truyền hình chuyên nghiệp tại Tp.HCM
MC Đỗ Phương Thảo, MC truyền hình chuyên nghiệp tại Tp.HCMHoàng Tuấn
 

Destacado (7)

Presentaciã³n1adsi
Presentaciã³n1adsiPresentaciã³n1adsi
Presentaciã³n1adsi
 
Un proceso de modernización dirigido por modelos de sistemas web heredados ha...
Un proceso de modernización dirigido por modelos de sistemas web heredados ha...Un proceso de modernización dirigido por modelos de sistemas web heredados ha...
Un proceso de modernización dirigido por modelos de sistemas web heredados ha...
 
Proyectos de Migración de Tecnología
Proyectos de Migración de TecnologíaProyectos de Migración de Tecnología
Proyectos de Migración de Tecnología
 
Evolución e integración de aplicaciones legadas: comenzar de nuevo o actualizar?
Evolución e integración de aplicaciones legadas: comenzar de nuevo o actualizar?Evolución e integración de aplicaciones legadas: comenzar de nuevo o actualizar?
Evolución e integración de aplicaciones legadas: comenzar de nuevo o actualizar?
 
Transitioning Data from Legacy Systems into QuickBase
Transitioning Data from Legacy Systems into QuickBaseTransitioning Data from Legacy Systems into QuickBase
Transitioning Data from Legacy Systems into QuickBase
 
Re-using Integration Patterns as Design Knowledge
Re-using Integration Patterns as Design KnowledgeRe-using Integration Patterns as Design Knowledge
Re-using Integration Patterns as Design Knowledge
 
MC Đỗ Phương Thảo, MC truyền hình chuyên nghiệp tại Tp.HCM
MC Đỗ Phương Thảo, MC truyền hình chuyên nghiệp tại Tp.HCMMC Đỗ Phương Thảo, MC truyền hình chuyên nghiệp tại Tp.HCM
MC Đỗ Phương Thảo, MC truyền hình chuyên nghiệp tại Tp.HCM
 

Similar a Sobrevivir a proyectos heredados

Como prototipar MAL una aplicación. La importancia del Wireframe
Como prototipar MAL una aplicación. La importancia del WireframeComo prototipar MAL una aplicación. La importancia del Wireframe
Como prototipar MAL una aplicación. La importancia del WireframeJorge Galindo Cruces
 
Como prototipar MAL una aplicación. La importancia del Wireframe
Como prototipar MAL una aplicación. La importancia del WireframeComo prototipar MAL una aplicación. La importancia del Wireframe
Como prototipar MAL una aplicación. La importancia del Wireframebetabeers
 
Cobertura de Código con Tests Funcionales
Cobertura de Código con Tests Funcionales Cobertura de Código con Tests Funcionales
Cobertura de Código con Tests Funcionales atSistemas
 
Agilizando PMBOK (con Agile Project Management)
Agilizando PMBOK (con Agile Project Management)Agilizando PMBOK (con Agile Project Management)
Agilizando PMBOK (con Agile Project Management)Rafael Igual
 
Gestión basada en Metodologías Ágiles
Gestión basada en Metodologías ÁgilesGestión basada en Metodologías Ágiles
Gestión basada en Metodologías Ágilesnetmind
 
La alternativa ágil - Uniencounter
La alternativa ágil - UniencounterLa alternativa ágil - Uniencounter
La alternativa ágil - UniencounterGailen Tecnologías
 
Tengo una idea. ¿Y ahora qué?
Tengo una idea. ¿Y ahora qué?Tengo una idea. ¿Y ahora qué?
Tengo una idea. ¿Y ahora qué?cachirulovalley
 
Introducción a la metodologías ágiles y scrum
Introducción a la metodologías ágiles y scrumIntroducción a la metodologías ágiles y scrum
Introducción a la metodologías ágiles y scrumRicardo Miguel Palacin Anco
 
Fundamentos de las metodologías ágiles
Fundamentos de las metodologías ágilesFundamentos de las metodologías ágiles
Fundamentos de las metodologías ágilesDomingo Gallardo
 

Similar a Sobrevivir a proyectos heredados (20)

Como prototipar MAL una aplicación. La importancia del Wireframe
Como prototipar MAL una aplicación. La importancia del WireframeComo prototipar MAL una aplicación. La importancia del Wireframe
Como prototipar MAL una aplicación. La importancia del Wireframe
 
Como prototipar MAL una aplicación. La importancia del Wireframe
Como prototipar MAL una aplicación. La importancia del WireframeComo prototipar MAL una aplicación. La importancia del Wireframe
Como prototipar MAL una aplicación. La importancia del Wireframe
 
Cobertura de Código con Tests Funcionales
Cobertura de Código con Tests Funcionales Cobertura de Código con Tests Funcionales
Cobertura de Código con Tests Funcionales
 
La alternativa agil v5.3
La alternativa agil   v5.3La alternativa agil   v5.3
La alternativa agil v5.3
 
"Al rico" PHP
"Al rico" PHP"Al rico" PHP
"Al rico" PHP
 
Las SinCuenta Sombras de Scrum
Las SinCuenta Sombras de ScrumLas SinCuenta Sombras de Scrum
Las SinCuenta Sombras de Scrum
 
PMBOK
PMBOKPMBOK
PMBOK
 
Agilizando PMBOK (con Agile Project Management)
Agilizando PMBOK (con Agile Project Management)Agilizando PMBOK (con Agile Project Management)
Agilizando PMBOK (con Agile Project Management)
 
Gestión basada en Metodologías Ágiles
Gestión basada en Metodologías ÁgilesGestión basada en Metodologías Ágiles
Gestión basada en Metodologías Ágiles
 
La alternativa ágil - Uniencounter
La alternativa ágil - UniencounterLa alternativa ágil - Uniencounter
La alternativa ágil - Uniencounter
 
Entre lo tradicional y lo ágil (pmi) uio
Entre lo tradicional y lo ágil (pmi) uioEntre lo tradicional y lo ágil (pmi) uio
Entre lo tradicional y lo ágil (pmi) uio
 
Rodrigo Sanchez, mer
Rodrigo Sanchez, merRodrigo Sanchez, mer
Rodrigo Sanchez, mer
 
Tengo una idea. ¿Y ahora qué?
Tengo una idea. ¿Y ahora qué?Tengo una idea. ¿Y ahora qué?
Tengo una idea. ¿Y ahora qué?
 
2 modelos de la ingenieria de software
2  modelos de la ingenieria de software2  modelos de la ingenieria de software
2 modelos de la ingenieria de software
 
Scrum y craftsmanship
Scrum y craftsmanshipScrum y craftsmanship
Scrum y craftsmanship
 
Programación extrema (xp)
Programación extrema (xp)Programación extrema (xp)
Programación extrema (xp)
 
Introducción a la metodologías ágiles y scrum
Introducción a la metodologías ágiles y scrumIntroducción a la metodologías ágiles y scrum
Introducción a la metodologías ágiles y scrum
 
Fundamentos de las metodologías ágiles
Fundamentos de las metodologías ágilesFundamentos de las metodologías ágiles
Fundamentos de las metodologías ágiles
 
Softagile
SoftagileSoftagile
Softagile
 
Tw ¿Por qué elegir ágil?
Tw   ¿Por qué elegir ágil? Tw   ¿Por qué elegir ágil?
Tw ¿Por qué elegir ágil?
 

Más de Pablo Bouzada

Toxic cultures - DevOpsDays Eindhoven 2022
Toxic cultures - DevOpsDays Eindhoven 2022Toxic cultures - DevOpsDays Eindhoven 2022
Toxic cultures - DevOpsDays Eindhoven 2022Pablo Bouzada
 
Culture really matters - DevOps and Cloud days 2021
Culture really matters  - DevOps and Cloud days 2021Culture really matters  - DevOps and Cloud days 2021
Culture really matters - DevOps and Cloud days 2021Pablo Bouzada
 
Cultura - más allá de eslóganes y palabras bonitas
Cultura - más allá de eslóganes y palabras bonitasCultura - más allá de eslóganes y palabras bonitas
Cultura - más allá de eslóganes y palabras bonitasPablo Bouzada
 
Atlantica conf 2019 no estas preparado para migrar al cloud
Atlantica conf 2019   no estas preparado para migrar al cloudAtlantica conf 2019   no estas preparado para migrar al cloud
Atlantica conf 2019 no estas preparado para migrar al cloudPablo Bouzada
 
Antipatrones de la cultura de una organización
Antipatrones de la cultura de una organizaciónAntipatrones de la cultura de una organización
Antipatrones de la cultura de una organizaciónPablo Bouzada
 
Gab 2019 - No, (aún) no estás preparado para migrar a Azure
Gab 2019 - No, (aún) no estás preparado para migrar a AzureGab 2019 - No, (aún) no estás preparado para migrar a Azure
Gab 2019 - No, (aún) no estás preparado para migrar a AzurePablo Bouzada
 
Introducción a TypeScript
Introducción a TypeScriptIntroducción a TypeScript
Introducción a TypeScriptPablo Bouzada
 
TypeScript, ¿la solución definitiva?
TypeScript, ¿la solución definitiva?TypeScript, ¿la solución definitiva?
TypeScript, ¿la solución definitiva?Pablo Bouzada
 
¿Cuál es tu excusa para no tener tests?
¿Cuál es tu excusa para no tener tests?¿Cuál es tu excusa para no tener tests?
¿Cuál es tu excusa para no tener tests?Pablo Bouzada
 
Descubriendo windows8
Descubriendo windows8Descubriendo windows8
Descubriendo windows8Pablo Bouzada
 
Antipatrones de desarrollo de software
Antipatrones de desarrollo de softwareAntipatrones de desarrollo de software
Antipatrones de desarrollo de softwarePablo Bouzada
 

Más de Pablo Bouzada (11)

Toxic cultures - DevOpsDays Eindhoven 2022
Toxic cultures - DevOpsDays Eindhoven 2022Toxic cultures - DevOpsDays Eindhoven 2022
Toxic cultures - DevOpsDays Eindhoven 2022
 
Culture really matters - DevOps and Cloud days 2021
Culture really matters  - DevOps and Cloud days 2021Culture really matters  - DevOps and Cloud days 2021
Culture really matters - DevOps and Cloud days 2021
 
Cultura - más allá de eslóganes y palabras bonitas
Cultura - más allá de eslóganes y palabras bonitasCultura - más allá de eslóganes y palabras bonitas
Cultura - más allá de eslóganes y palabras bonitas
 
Atlantica conf 2019 no estas preparado para migrar al cloud
Atlantica conf 2019   no estas preparado para migrar al cloudAtlantica conf 2019   no estas preparado para migrar al cloud
Atlantica conf 2019 no estas preparado para migrar al cloud
 
Antipatrones de la cultura de una organización
Antipatrones de la cultura de una organizaciónAntipatrones de la cultura de una organización
Antipatrones de la cultura de una organización
 
Gab 2019 - No, (aún) no estás preparado para migrar a Azure
Gab 2019 - No, (aún) no estás preparado para migrar a AzureGab 2019 - No, (aún) no estás preparado para migrar a Azure
Gab 2019 - No, (aún) no estás preparado para migrar a Azure
 
Introducción a TypeScript
Introducción a TypeScriptIntroducción a TypeScript
Introducción a TypeScript
 
TypeScript, ¿la solución definitiva?
TypeScript, ¿la solución definitiva?TypeScript, ¿la solución definitiva?
TypeScript, ¿la solución definitiva?
 
¿Cuál es tu excusa para no tener tests?
¿Cuál es tu excusa para no tener tests?¿Cuál es tu excusa para no tener tests?
¿Cuál es tu excusa para no tener tests?
 
Descubriendo windows8
Descubriendo windows8Descubriendo windows8
Descubriendo windows8
 
Antipatrones de desarrollo de software
Antipatrones de desarrollo de softwareAntipatrones de desarrollo de software
Antipatrones de desarrollo de software
 

Sobrevivir a proyectos heredados

  • 1. Sobrevivir a proyectos heredados … es posible Pablo Bouzada @pbousan pbousan@gmail.com http://programandonet.com
  • 2. Proyecto heredado … mantenimiento … evolutivo … migración … asistencia técnica … tienes que echarle una mano a fulano con una cosilla, campeón!
  • 3. Lo que el cliente cree que tiene…
  • 4. Lo que realmente tiene…
  • 5. Aproximación clásica La aplicación ya está en producción. Miedo a romper algo. Tocar lo mínimo para hacer lo que nos piden. Cambios superficiales.
  • 6. Proyecto sumidero Los desarrolladores que van pasando por el proyecto no se preocupan por los que vengan detrás. No hay ningún interés por mejorar el código existente.
  • 7. Busquemos otra forma de hacerlo!!
  • 8. Traza un plan Aproximación del libro “Object-Oriented Reengieneging Patterns”.
  • 9. Propuesta • Reconoce el terreno • Establece el alcance • Crea tu red de seguridad • Detecta la deuda técnica • Establece tareas y prioriza • Manos a la obra!!
  • 10. Reconoce el terreno • Implica al cliente • Conoce el negocio • Conoce la aplicación
  • 11. Establece el alcance • Plantea una meta • Mantén al equipo motivado • Pacta con el cliente lo que se va a hacer y lo que no
  • 12. Crea tu red de seguridad • Imprescindible hacerlo antes de tocar el código • Tests unitarios, de integración y de aceptación • Automatiza los tests
  • 13. Detecta la deuda técnica • Análisis objetivo de la mantenibilidad del código • Apóyate en herramientas • Detecta antipatrones • En paralelo con los pasos anteriores
  • 14. Establece tareas y prioriza • El cliente tendrá la responsabilidad de priorizar • Kanban, Scrum o Scrumban
  • 15. Manos a la obra • Principios SOLID, patrones, Extreme Programming (TDD, Pair Programmin, Continuous Integration,…) • Técnicas de refactorización para equipos con poca experiencia
  • 17. MUCHAS GRACIAS!! @pbousan pbousan@gmail.com http://programandonet.com