SlideShare a Scribd company logo
1 of 19
Nace como nueva disciplina de desarrollo de software hace
aproximadamente unos seis años, y ha causado un gran
revuelo entre el colectivo de programadores del mundo.
Kent Beck, su autor, es un programador que ha trabajado en
múltiples empresas y que actualmente lo hace como
programador en la conocida empresa
automovilística DaimlerChrysler
Es un enfoque de la ingenieria de sofware formulado
por Kent Beck, autor del primer libro sobre la
materia, Extreme Programming Explained: Embrace
Change (1999). Es el más destacado de los procesos
ágiles de desarrollo de software.
La programación extrema se basa en la simplicidad, la
comunicación y el reciclado
continuo de código, para algunos no es mas que aplicar
una pura lógica.
¿ En que consiste XP ? Sus objetivos.


Los objetivos de XP son muy simples:

la satisfacción del cliente. Esta metodología trata de dar al
cliente el software que él necesita y cuando lo necesita. Por
tanto, debemos responder muy rápido a las necesidades del
cliente, incluso cuando los cambios sean al finalde ciclo de la
programación.
El segundo objetivo es potenciar al máximo el trabajo en
grupo. Tanto los jefes de proyecto, los clientes y esarrolladores,
son parte del equipo y están involucrados en el desarrollo del
software.
Valores

Los Valores originales de la programación extrema son:
simplicidad, comunicación, retroalimentación (feedback) y
coraje.




                            Simplicidad:
                            
 La simplicidad es la base de la programación extrema. Se
 simplifica el diseño para agilizar el desarrollo y facilitar el
 mantenimiento.
Comunicación:

La comunicación se realiza de diferentes formas. Para los
programadores el código comunica mejor cuanto más simple
sea. Si el código es complejo hay que esforzarse para hacerlo
inteligible.
Retroalimentación (feedback):


Al estar el cliente integrado en el proyecto, su opinión sobre el
estado del proyecto se conoce en tiempo real. Al realizarse
ciclos muy cortos tras los cuales se muestran resultados, se
minimiza el tener que rehacer partes que no cumplen con los
requisitos y ayuda a los programadores a centrarse en lo que es
más importante.
Coraje o valentía:

Muchas de las prácticas implican valentía. Una de ellas es
siempre diseñar y programar para hoy y no para mañana. Esto
es un esfuerzo para evitar empantanarse en el diseño y
requerir demasiado tiempo y trabajo para implementar todo lo
demás del proyecto.


ADEMAS ENCONTRAMOS TAMBIEN …
Respeto:

El respeto se manifiesta de varias formas. Los miembros del
equipo se respetan los unos a otros, porque los programadores
no pueden realizar cambios que hacen que las pruebas
existentes fallen o que demore el trabajo de sus compañeros.
Los miembros respetan su trabajo porque siempre están
luchando por la alta calidad en el producto y buscando el
diseño óptimo o más eficiente para la solución a través de la
refactorización del código.
Características fundamentales
Las características fundamentales del método son:




Desarrollo iterativo e incremental: pequeñas mejoras,
unas tras otras.
Pruevas Unitarias :
continuas, frecuentemente repetidas y automatizadas,
incluyendo pruebas de regresión. Se aconseja escribir el
código de la prueba antes de la codificación. Véase, por
ejemplo, las herramientas de prueba orientada a Java, DUnit
orientada a Delphi, NUnit para la plataforma.NET o PHPUnit
para PHP. Estas tres últimas inspiradas en JUnit, la cual, a su
vez, se insipiró en SUnit, el primer framework orientado a
realizar tests, realizado para el lenguaje de programación
Smalltalk.
Programación en parejas
se recomienda que las tareas de desarrollo se lleven a cabo
por dos personas en un mismo puesto. Se supone que la
mayor calidad del código escrito de esta manera -el código
es revisado y discutido mientras se escribe- es más
importante que la posible pérdida de productividad
inmediata.
Frecuente integración del equipo de programación con
el cliente o usuario. Se recomienda que un representante
del cliente trabaje junto al equipo de desarrollo.
Corrección de todos los errores antes de añadir nueva
funcionalidad. Hacer entregas frecuentes.




Refactorizacion del código, es decir, reescribir ciertas
partes del código para aumentar su legibilidad y
mantenibilidad pero sin modificar su comportamiento.
Las pruebas han de garantizar que en la refactorización no
se ha introducido ningún fallo.
Propiedad del código compartida:

en vez de dividir la responsabilidad en el desarrollo de cada
módulo en grupos de trabajo distintos, este método promueve
el que todo el personal pueda corregir y extender cualquier
parte del proyecto. Las frecuentes pruebas de regresión
garantizan que los posibles errores serán detectados.
Simplicidad en el código:


Es la mejor manera de que las cosas funcionen. Cuando todo
funcione se podrá añadir funcionalidad si es necesario. La
programación extrema apuesta que es más sencillo hacer
algo simple y tener un poco de trabajo extra para cambiarlo si
se requiere, que realizar algo complicado y quizás nunca
utilizarlo.
Programacion extrema

More Related Content

What's hot

Metodologia xp
Metodologia xpMetodologia xp
Metodologia xp
gmjuan
 

What's hot (20)

Metodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliudMetodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliud
 
Monografia metodologia xp
Monografia   metodologia xpMonografia   metodologia xp
Monografia metodologia xp
 
Metodologias xp
Metodologias xpMetodologias xp
Metodologias xp
 
Programación extrema
Programación extremaProgramación extrema
Programación extrema
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Modelos de proceso de software
Modelos de proceso de softwareModelos de proceso de software
Modelos de proceso de software
 
Programacion Extrema
Programacion ExtremaProgramacion Extrema
Programacion Extrema
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xp
 
Programación Extrema - XP
Programación Extrema - XPProgramación Extrema - XP
Programación Extrema - XP
 
La programación extrema o e xtreme programming (xp
La programación extrema o e xtreme programming (xpLa programación extrema o e xtreme programming (xp
La programación extrema o e xtreme programming (xp
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xp
 
Xp
XpXp
Xp
 
METODOLOGIAS XP
METODOLOGIAS XPMETODOLOGIAS XP
METODOLOGIAS XP
 
XP Programming
XP ProgrammingXP Programming
XP Programming
 
Programacion extrema_WR
Programacion extrema_WRProgramacion extrema_WR
Programacion extrema_WR
 
Metodologia xp (tarea msmad)
Metodologia xp (tarea msmad)Metodologia xp (tarea msmad)
Metodologia xp (tarea msmad)
 
Pst metodologia xp
Pst metodologia xpPst metodologia xp
Pst metodologia xp
 
Grupo# 5 problemas en el desarrollo de software
Grupo# 5 problemas en el desarrollo de softwareGrupo# 5 problemas en el desarrollo de software
Grupo# 5 problemas en el desarrollo de software
 
Faces y Sub Faces de la Metodologia XP
Faces y Sub Faces de la Metodologia XPFaces y Sub Faces de la Metodologia XP
Faces y Sub Faces de la Metodologia XP
 
problemas del software
problemas del softwareproblemas del software
problemas del software
 

Similar to Programacion extrema (20)

Programación extrema
Programación extremaProgramación extrema
Programación extrema
 
expodesarrollo29
expodesarrollo29expodesarrollo29
expodesarrollo29
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xp
 
Comparación de dos Metodologias
Comparación de dos MetodologiasComparación de dos Metodologias
Comparación de dos Metodologias
 
Rup vs. xp
Rup vs. xpRup vs. xp
Rup vs. xp
 
Rup vs. xp
Rup vs. xpRup vs. xp
Rup vs. xp
 
Rup vs. xp
Rup vs. xpRup vs. xp
Rup vs. xp
 
Metodología xp
Metodología xpMetodología xp
Metodología xp
 
desarrollo agil-2022.pdf
desarrollo agil-2022.pdfdesarrollo agil-2022.pdf
desarrollo agil-2022.pdf
 
Metodos agiles 4
Metodos agiles 4Metodos agiles 4
Metodos agiles 4
 
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
 
Luis
LuisLuis
Luis
 
Metodologia RUP
Metodologia RUPMetodologia RUP
Metodologia RUP
 
La programación extrema
La programación extremaLa programación extrema
La programación extrema
 
Monografia de xp
Monografia de xpMonografia de xp
Monografia de xp
 
Metodologias agiles
Metodologias agilesMetodologias agiles
Metodologias agiles
 
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
 
Programación extrema [XP]
Programación extrema [XP]Programación extrema [XP]
Programación extrema [XP]
 
Behavior1
Behavior1Behavior1
Behavior1
 
Xp
XpXp
Xp
 

Recently uploaded

🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
Wilian24
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
amelia poma
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
jlorentemartos
 

Recently uploaded (20)

🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
AEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxAEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptx
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Desarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresDesarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por Valores
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
PP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomasPP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomas
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 

Programacion extrema

  • 1.
  • 2. Nace como nueva disciplina de desarrollo de software hace aproximadamente unos seis años, y ha causado un gran revuelo entre el colectivo de programadores del mundo. Kent Beck, su autor, es un programador que ha trabajado en múltiples empresas y que actualmente lo hace como programador en la conocida empresa automovilística DaimlerChrysler
  • 3. Es un enfoque de la ingenieria de sofware formulado por Kent Beck, autor del primer libro sobre la materia, Extreme Programming Explained: Embrace Change (1999). Es el más destacado de los procesos ágiles de desarrollo de software.
  • 4. La programación extrema se basa en la simplicidad, la comunicación y el reciclado continuo de código, para algunos no es mas que aplicar una pura lógica.
  • 5. ¿ En que consiste XP ? Sus objetivos. Los objetivos de XP son muy simples: la satisfacción del cliente. Esta metodología trata de dar al cliente el software que él necesita y cuando lo necesita. Por tanto, debemos responder muy rápido a las necesidades del cliente, incluso cuando los cambios sean al finalde ciclo de la programación.
  • 6. El segundo objetivo es potenciar al máximo el trabajo en grupo. Tanto los jefes de proyecto, los clientes y esarrolladores, son parte del equipo y están involucrados en el desarrollo del software.
  • 7. Valores Los Valores originales de la programación extrema son: simplicidad, comunicación, retroalimentación (feedback) y coraje. Simplicidad:  La simplicidad es la base de la programación extrema. Se simplifica el diseño para agilizar el desarrollo y facilitar el mantenimiento.
  • 8. Comunicación: La comunicación se realiza de diferentes formas. Para los programadores el código comunica mejor cuanto más simple sea. Si el código es complejo hay que esforzarse para hacerlo inteligible.
  • 9. Retroalimentación (feedback): Al estar el cliente integrado en el proyecto, su opinión sobre el estado del proyecto se conoce en tiempo real. Al realizarse ciclos muy cortos tras los cuales se muestran resultados, se minimiza el tener que rehacer partes que no cumplen con los requisitos y ayuda a los programadores a centrarse en lo que es más importante.
  • 10. Coraje o valentía: Muchas de las prácticas implican valentía. Una de ellas es siempre diseñar y programar para hoy y no para mañana. Esto es un esfuerzo para evitar empantanarse en el diseño y requerir demasiado tiempo y trabajo para implementar todo lo demás del proyecto. ADEMAS ENCONTRAMOS TAMBIEN …
  • 11. Respeto: El respeto se manifiesta de varias formas. Los miembros del equipo se respetan los unos a otros, porque los programadores no pueden realizar cambios que hacen que las pruebas existentes fallen o que demore el trabajo de sus compañeros. Los miembros respetan su trabajo porque siempre están luchando por la alta calidad en el producto y buscando el diseño óptimo o más eficiente para la solución a través de la refactorización del código.
  • 12. Características fundamentales Las características fundamentales del método son: Desarrollo iterativo e incremental: pequeñas mejoras, unas tras otras.
  • 13. Pruevas Unitarias : continuas, frecuentemente repetidas y automatizadas, incluyendo pruebas de regresión. Se aconseja escribir el código de la prueba antes de la codificación. Véase, por ejemplo, las herramientas de prueba orientada a Java, DUnit orientada a Delphi, NUnit para la plataforma.NET o PHPUnit para PHP. Estas tres últimas inspiradas en JUnit, la cual, a su vez, se insipiró en SUnit, el primer framework orientado a realizar tests, realizado para el lenguaje de programación Smalltalk.
  • 14. Programación en parejas se recomienda que las tareas de desarrollo se lleven a cabo por dos personas en un mismo puesto. Se supone que la mayor calidad del código escrito de esta manera -el código es revisado y discutido mientras se escribe- es más importante que la posible pérdida de productividad inmediata.
  • 15. Frecuente integración del equipo de programación con el cliente o usuario. Se recomienda que un representante del cliente trabaje junto al equipo de desarrollo.
  • 16. Corrección de todos los errores antes de añadir nueva funcionalidad. Hacer entregas frecuentes. Refactorizacion del código, es decir, reescribir ciertas partes del código para aumentar su legibilidad y mantenibilidad pero sin modificar su comportamiento. Las pruebas han de garantizar que en la refactorización no se ha introducido ningún fallo.
  • 17. Propiedad del código compartida: en vez de dividir la responsabilidad en el desarrollo de cada módulo en grupos de trabajo distintos, este método promueve el que todo el personal pueda corregir y extender cualquier parte del proyecto. Las frecuentes pruebas de regresión garantizan que los posibles errores serán detectados.
  • 18. Simplicidad en el código: Es la mejor manera de que las cosas funcionen. Cuando todo funcione se podrá añadir funcionalidad si es necesario. La programación extrema apuesta que es más sencillo hacer algo simple y tener un poco de trabajo extra para cambiarlo si se requiere, que realizar algo complicado y quizás nunca utilizarlo.