SlideShare una empresa de Scribd logo
1 de 48
T x 5: T ips &  T ricks... T ools,  T echniques &  T echnologies eXtreme Programming Juan Carlos Fidalgo Fernández T echniques
T x 5 – XP Convenciones usadas y aclaraciones ,[object Object],[object Object],[object Object],[object Object]
T x 5 – XP Agile Development, Extreme Programming (XP) 2ª ed. 2004 2004
T x 5 – XP Test-Driven Development (TDD) 2002 2010
T x 5 – XP Refactoring 1999 2007
T x 5 – XP Patterns 2004 2002 1996 1994
T x 5 – XP Modelo waterfall (en cascada) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP La crisis del software  I: Standish Group  I ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP La crisis del software  I: Standish Group  II ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP La crisis del software  I: Standish Group  y III ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP Agile (“Agilismo”)  I ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP Agile (“Agilismo”)  II ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
La orientación a objetos  El desarrollo convencional vs. el desarrollo OO  II ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
La orientación a objetos  “ ¿Si cambian los requisitos?  Ah, entonces no me preocupa …” “ (*)  El desarrollo iterativo es un enfoque en el que el desarrollo se organiza en una serie de mini-proyectos cortos, de duración fija (p. ej., cuatro semanas) llamados iteraciones. El resultado de cada uno es un sistema que puede ser probado, integrado y ejecutado.  (**) Cada iteración incluye sus propias actividades de análisis de requisitos, diseño, implementación y pruebas. (…) El subtítulo de un libro que trata el desarrollo iterativo es  Aceptar el cambio  [Beck00]. Esta frase evoca una aptitud clave del desarrollo iterativo:  en lugar de luchar contra el inevitable cambio que ocurre en el desarrollo de software intentando (normalmente sin éxito) especificar, congelar y ‘firmar’ de manera completa y correcta a partir de un conjunto de requisitos fijos y diseñar antes de implementar, el desarrollo iterativo se basa en una aptitud de aceptación del cambio y la adaptación como motores  inevitables  y, de hecho,  esenciales . Esto no quiere decir que el desarrollo iterativo (y el UP) fomenten un proceso dirigido por ‘una adición de características’ de manera incontrolada y reactiva. El UP llega a un equilibro entre la necesidad – por un lado – de llegar a un acuerdo y estabilizar un conjunto de requisitos, y – por otro lado – la realidad de los requisitos cambiantes, cuando el personal involucrado clarifica su visión o cambia el mercado .”  (***) “ UML y patrones” – Craig Larman
T x 5 – XP Agile (“Agilismo”)  y III ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP ¿Qué es eXtreme Programming (XP)?  I ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP ¿Qué es eXtreme Programming (XP)?  y II ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP Las 12 prácticas de XP  I ,[object Object],[object Object]
T x 5 – XP Las 12 prácticas de XP  y II ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP Los valores de XP ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP Los roles de XP  I ,[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP Los roles de XP  II ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP Los roles de XP  y III ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP XP vs. Agile ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP La crisis del software  y II: MIT Sloan Management Review ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP La tierra llamando al Jefe… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP User Stories ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP User Stories: características ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP User Stories: beneficios ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP User Stories: limitaciones e inconvenientes ,[object Object],[object Object],[object Object]
T x 5 – XP User Stories vs. IEEE 830 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP User Stories vs. Use Cases  I ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP User Stories vs. Use Cases  y II ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP CCPPT: User Stories ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP ATDD  I ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP ATDD  II
T x 5 – XP ATDD  III ,[object Object],[object Object],[object Object],[object Object]
T x 5 – XP ATDD  y IV ,[object Object],[object Object]
T x 5 – XP CCPPT: Acceptance Tests ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP TDD  I ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP TDD  II ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP TDD  y III ,[object Object],[object Object],[object Object],[object Object]
T x 5 – XP Críticas a XP  I ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP Críticas a XP  y II ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP Bajando el telón  I ,[object Object],[object Object],[object Object],[object Object]
T x 5 – XP Bajando el telón  II ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
T x 5 – XP Sumario  I ,[object Object],[object Object],[object Object],[object Object]
T x 5 – XP Sumario  y II ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Coste del cambio en los modelos basados en el ciclo de vida en cascada Fuente :  http://osl.iu.edu/~lums/swc/www/swc.html (la gráfica equivalente en XP es menos pronunciada, casi lineal)

Más contenido relacionado

La actualidad más candente

Modelo xp para desarrollo de proyecto
Modelo xp para desarrollo de proyectoModelo xp para desarrollo de proyecto
Modelo xp para desarrollo de proyectoJohita Guerrero
 
Monografia Metodologia Agil XP
Monografia Metodologia Agil XPMonografia Metodologia Agil XP
Monografia Metodologia Agil XPJorw Yengle
 
Introducción Ágil a eXtreme Programming
Introducción Ágil a eXtreme ProgrammingIntroducción Ágil a eXtreme Programming
Introducción Ágil a eXtreme ProgrammingChileAgil
 
Metodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliudMetodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliudEliud Cortes
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xpfiremas
 
Proceso para el desarrollo de software Ponencia M.C.Ivet Espinosa Conde
Proceso para el desarrollo de software Ponencia M.C.Ivet Espinosa CondeProceso para el desarrollo de software Ponencia M.C.Ivet Espinosa Conde
Proceso para el desarrollo de software Ponencia M.C.Ivet Espinosa CondeSam Espinosa
 
Metodologias modernas para el desarrollo de software
Metodologias modernas para el desarrollo de softwareMetodologias modernas para el desarrollo de software
Metodologias modernas para el desarrollo de softwareDeisy Sapaico
 
Metodologías ágiles para el desarrollo de software - XP
Metodologías ágiles para el desarrollo de software - XPMetodologías ágiles para el desarrollo de software - XP
Metodologías ágiles para el desarrollo de software - XPJose Diaz Silva
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xpgmjuan
 
Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)Tuyo Mio
 

La actualidad más candente (20)

Modelo xp para desarrollo de proyecto
Modelo xp para desarrollo de proyectoModelo xp para desarrollo de proyecto
Modelo xp para desarrollo de proyecto
 
Monografia Metodologia Agil XP
Monografia Metodologia Agil XPMonografia Metodologia Agil XP
Monografia Metodologia Agil XP
 
Introducción Ágil a eXtreme Programming
Introducción Ágil a eXtreme ProgrammingIntroducción Ágil a eXtreme Programming
Introducción Ágil a eXtreme Programming
 
Monografia de xp
Monografia de xpMonografia de xp
Monografia de xp
 
Metodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliudMetodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliud
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xp
 
00000350
0000035000000350
00000350
 
Diapositivas xp
Diapositivas xpDiapositivas xp
Diapositivas xp
 
Proceso para el desarrollo de software Ponencia M.C.Ivet Espinosa Conde
Proceso para el desarrollo de software Ponencia M.C.Ivet Espinosa CondeProceso para el desarrollo de software Ponencia M.C.Ivet Espinosa Conde
Proceso para el desarrollo de software Ponencia M.C.Ivet Espinosa Conde
 
Pst metodologia xp
Pst metodologia xpPst metodologia xp
Pst metodologia xp
 
Metodologias modernas para el desarrollo de software
Metodologias modernas para el desarrollo de softwareMetodologias modernas para el desarrollo de software
Metodologias modernas para el desarrollo de software
 
Metodologías ágiles para el desarrollo de software - XP
Metodologías ágiles para el desarrollo de software - XPMetodologías ágiles para el desarrollo de software - XP
Metodologías ágiles para el desarrollo de software - XP
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xp
 
Monografia metodologia xp
Monografia   metodologia xpMonografia   metodologia xp
Monografia metodologia xp
 
Metodologia XP
Metodologia XPMetodologia XP
Metodologia XP
 
Metodologia msf
Metodologia msfMetodologia msf
Metodologia msf
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)
 
Metodologias todas
Metodologias todasMetodologias todas
Metodologias todas
 
Unidad 2. Metodologías de Desarrollo
Unidad 2. Metodologías de DesarrolloUnidad 2. Metodologías de Desarrollo
Unidad 2. Metodologías de Desarrollo
 

Similar a Introducción a la programación extrema (XP)

La programación extrema o e xtreme programming
La programación extrema o e xtreme programmingLa programación extrema o e xtreme programming
La programación extrema o e xtreme programmingJoseMariaAndujar
 
El manifiesto y los principios ágiles
El manifiesto y los principios ágilesEl manifiesto y los principios ágiles
El manifiesto y los principios ágilesPablo Gil
 
Elmanifiestoylosprincipiosgiles 131007145716-phpapp01
Elmanifiestoylosprincipiosgiles 131007145716-phpapp01Elmanifiestoylosprincipiosgiles 131007145716-phpapp01
Elmanifiestoylosprincipiosgiles 131007145716-phpapp01esgar1989
 
Metodologias agiles
Metodologias agilesMetodologias agiles
Metodologias agilesmmanuelo
 
Unidad 1.2 B Metodos Agiles 1
Unidad 1.2 B Metodos Agiles  1Unidad 1.2 B Metodos Agiles  1
Unidad 1.2 B Metodos Agiles 1Sergio Sanchez
 
SEPG LA 2005 Presentation "Practicas Agiles En Mejora De Procesos"
SEPG LA 2005 Presentation "Practicas Agiles En Mejora De Procesos"SEPG LA 2005 Presentation "Practicas Agiles En Mejora De Procesos"
SEPG LA 2005 Presentation "Practicas Agiles En Mejora De Procesos"Walter Ariel Risi
 
Todo agilok
Todo agilokTodo agilok
Todo agilokCRJOSE
 
Metodologías ágiles en el desarrollo de software
Metodologías ágiles en el desarrollo de softwareMetodologías ágiles en el desarrollo de software
Metodologías ágiles en el desarrollo de softwareprinceos
 
Metodologías agiles
Metodologías agilesMetodologías agiles
Metodologías agilesloreeleeii
 
METODOLOGIAS AGILES
METODOLOGIAS AGILESMETODOLOGIAS AGILES
METODOLOGIAS AGILESmikyWatt
 
Metodología Cascada
Metodología CascadaMetodología Cascada
Metodología CascadaJesus Zuñiga
 
Metodologias de analisis y diseño de sistemas
Metodologias de analisis y diseño de sistemasMetodologias de analisis y diseño de sistemas
Metodologias de analisis y diseño de sistemasgrupo7inf162
 

Similar a Introducción a la programación extrema (XP) (20)

La programación extrema o e xtreme programming
La programación extrema o e xtreme programmingLa programación extrema o e xtreme programming
La programación extrema o e xtreme programming
 
El manifiesto y los principios ágiles
El manifiesto y los principios ágilesEl manifiesto y los principios ágiles
El manifiesto y los principios ágiles
 
Elmanifiestoylosprincipiosgiles 131007145716-phpapp01
Elmanifiestoylosprincipiosgiles 131007145716-phpapp01Elmanifiestoylosprincipiosgiles 131007145716-phpapp01
Elmanifiestoylosprincipiosgiles 131007145716-phpapp01
 
Los metodos agiles
Los metodos agilesLos metodos agiles
Los metodos agiles
 
Metodologias agiles
Metodologias agilesMetodologias agiles
Metodologias agiles
 
Metodologias agiles
Metodologias agilesMetodologias agiles
Metodologias agiles
 
Unidad 1.2 B Metodos Agiles 1
Unidad 1.2 B Metodos Agiles  1Unidad 1.2 B Metodos Agiles  1
Unidad 1.2 B Metodos Agiles 1
 
SEPG LA 2005 Presentation "Practicas Agiles En Mejora De Procesos"
SEPG LA 2005 Presentation "Practicas Agiles En Mejora De Procesos"SEPG LA 2005 Presentation "Practicas Agiles En Mejora De Procesos"
SEPG LA 2005 Presentation "Practicas Agiles En Mejora De Procesos"
 
Todo agilok
Todo agilokTodo agilok
Todo agilok
 
Articulo agiles metodos
Articulo agiles metodosArticulo agiles metodos
Articulo agiles metodos
 
Metodologías ágiles en el desarrollo de software
Metodologías ágiles en el desarrollo de softwareMetodologías ágiles en el desarrollo de software
Metodologías ágiles en el desarrollo de software
 
Metodologías agiles
Metodologías agilesMetodologías agiles
Metodologías agiles
 
Metodologia
MetodologiaMetodologia
Metodologia
 
METODOLOGIAS AGILES
METODOLOGIAS AGILESMETODOLOGIAS AGILES
METODOLOGIAS AGILES
 
Exposicion
ExposicionExposicion
Exposicion
 
Programacion Extrema
Programacion ExtremaProgramacion Extrema
Programacion Extrema
 
Metodología Cascada
Metodología CascadaMetodología Cascada
Metodología Cascada
 
METODOLOGÍAS ÁGILES EN TI
METODOLOGÍAS ÁGILES EN TIMETODOLOGÍAS ÁGILES EN TI
METODOLOGÍAS ÁGILES EN TI
 
METODOLOGÍAS ÁGILES
METODOLOGÍAS ÁGILESMETODOLOGÍAS ÁGILES
METODOLOGÍAS ÁGILES
 
Metodologias de analisis y diseño de sistemas
Metodologias de analisis y diseño de sistemasMetodologias de analisis y diseño de sistemas
Metodologias de analisis y diseño de sistemas
 

Último

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
 
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
 
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
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
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
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 

Último (15)

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
 
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
 
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
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
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...
 
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
 
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
 
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
 
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
 
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)
 
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
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
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
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 

Introducción a la programación extrema (XP)

  • 1. T x 5: T ips & T ricks... T ools, T echniques & T echnologies eXtreme Programming Juan Carlos Fidalgo Fernández T echniques
  • 2.
  • 3. T x 5 – XP Agile Development, Extreme Programming (XP) 2ª ed. 2004 2004
  • 4. T x 5 – XP Test-Driven Development (TDD) 2002 2010
  • 5. T x 5 – XP Refactoring 1999 2007
  • 6. T x 5 – XP Patterns 2004 2002 1996 1994
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14. La orientación a objetos “ ¿Si cambian los requisitos? Ah, entonces no me preocupa …” “ (*) El desarrollo iterativo es un enfoque en el que el desarrollo se organiza en una serie de mini-proyectos cortos, de duración fija (p. ej., cuatro semanas) llamados iteraciones. El resultado de cada uno es un sistema que puede ser probado, integrado y ejecutado. (**) Cada iteración incluye sus propias actividades de análisis de requisitos, diseño, implementación y pruebas. (…) El subtítulo de un libro que trata el desarrollo iterativo es Aceptar el cambio [Beck00]. Esta frase evoca una aptitud clave del desarrollo iterativo: en lugar de luchar contra el inevitable cambio que ocurre en el desarrollo de software intentando (normalmente sin éxito) especificar, congelar y ‘firmar’ de manera completa y correcta a partir de un conjunto de requisitos fijos y diseñar antes de implementar, el desarrollo iterativo se basa en una aptitud de aceptación del cambio y la adaptación como motores inevitables y, de hecho, esenciales . Esto no quiere decir que el desarrollo iterativo (y el UP) fomenten un proceso dirigido por ‘una adición de características’ de manera incontrolada y reactiva. El UP llega a un equilibro entre la necesidad – por un lado – de llegar a un acuerdo y estabilizar un conjunto de requisitos, y – por otro lado – la realidad de los requisitos cambiantes, cuando el personal involucrado clarifica su visión o cambia el mercado .” (***) “ UML y patrones” – Craig Larman
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36. T x 5 – XP ATDD II
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.

Notas del editor

  1. (*) Antes de iniciar este slide, hablar del desarrollo en cascada y de su problemática asociada: amplificación de los errores, poca y tardía participación de los usuarios en un proyecto, etc., etc. (**) Símil del desarrollo iterativo con las muñecas rusas (Matrioshkas) (***) Cuando tras días de prototipaje el usuario ve éste y dice que no es lo que esperaba, ¿es para cabrearse o para alegrarse? RE: para alegrarse; el usuario ha clarificado su visión gracias al prototipo y de no ser por éste el desarrollo completo habría implicado seguramente bastante más tiempo
  2. (*) Filosofías: “Los programadores que descansan son más productivos” y “La frescura aporta mejores ideas” El exceso de trabajo es un serio problema en los proyectos (síndrome del quemado o burn-out: http://es.wikipedia.org/wiki/Burn-out) (**) Son fundamentales cuando los programadores cambian de pareja o hacen refactoring del código de otros Se consigue un código con el mismo estilo, homogéneo, legible, así como evitar las clásicas situaciones “esto no puede modificarse hasta que venga Pepito de sus vacaciones; lo lleva él y es el único que sabe cómo funciona…” (***) El mejor diseño es el más simple de todos aquellos que pasen todos los tests Para XP simple significa (por orden de prioridad): El sistema (tanto el código como los tests) deben comunicar todo lo que se deba comunicar El sistema no debe contener código duplicado Debe tener la menor cantidad de clases Debe tener la menor cantidad de métodos