SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
METODOLOGÍAS ÁGILES
“EXTREME PROGRAMMING”
          (XP)

         •Clemente   Méndez, Fco. Javier
        •Rodríguez   Cotorruelo, Enrique
1. INTRODUCCIÓN
2. OBJETIVOS
3. CARACTERÍSTICAS
4. PRINCIPIOS DEL MÉTODO XP
5. PRÁCTICAS BASADAS EN XP
6. CICLO DE VIDA
7. VENTAJAS E INCONVENIENTES
1. INTRODUCCIÓN
                              ¿Qué es la Programación
Breve Reseña Histórica
                                  Extrema o XP?
La programación extrema         Metodología liviana de
 o eXtreme Programming           desarrollo de software.
 (XP) es un enfoque de la      Conjunto de practicas y
                                reglas empleadas para
ingeniería de software
                                 desarrollar software.
formulado por Kent Beck,
                              Basada en diferentes ideas
  autor del primer libro        acerca de cómo enfrentar
sobre la materia, Extreme        ambientes cambiantes.
Programming Explained:          En vez de planificar,
 Embrace Change (1999).        analizar y diseñar para el
Es el más destacado de los     futuro, hacer todo esto un
                               poco cada vez, a través de
   procesos ágiles de
                                   todo el proceso de
 desarrollo de software.               desarrollo.
2. OBJETIVOS

 Establecer las mejores prácticas de Ingeniería de Software
  en los desarrollo de proyectos.

 Mejorar la productividad de los proyectos.

 Garantizar la Calidad del Software desarrollando, haciendo
  que este supere las expectativas del cliente.

 Asumir que con cierta planificación, codificación y pruebas
  se puede decidir si se está siguiendo un camino correcto o
  equivocado, evitando retroceder cuando sea demasiado
  tarde.
3. CARACTERÍSTICAS

   Metodología basada en prueba y error para obtener un
    software que funcione realmente.

   Fundamentada en Principios.

   Expresada en forma de 12 Prácticas (conjunto completo,
    complementándose unas a otras). Las cuales son conocidas
    pero su novedad es juntarlas.

   Esta orientada hacia quien produce y usa el software (el
    cliente participa muy activamente).
3. CARACTERÍSTICAS

   Reduce el coste del cambio en todas las etapas del ciclo de
    vida del sistema.

   Combina las que han demostrado ser las mejores prácticas
    para desarrollar software, y las lleva al extremo.

   Cliente bien definido.

   Los requisitos pueden cambiar.

   Grupo pequeño y muy integrado (2 - 12 personas).
    Fundamentalmente se trabaja en parejas.

   Equipo con formación elevada y capacidad de aprender.
4. PRINCIPIOS DEL MÉTODO X.P.
Este método se basa principalmente en 4 valores o principios
bien definidos:

1.   Simplicidad: La simplicidad consiste en desarrollar sólo el
     sistema que realmente se necesita. Implica resolver en cada
     momento sólo las necesidades actuales.

2.   Feedback: Una metodología basada en el desarrollo
     iterativo de pequeñas partes, con entregas y pruebas
     frecuentes y continuas, proporciona un flujo de retro-
     información     valioso   para   detectar   los   problemas   o
     desviaciones.
4. PRINCIPIOS DEL MÉTODO X.P.
3.   Decisión:
    Implica saber tomar decisiones difíciles.

    Reparar un error cuando se detecta.

    Mejorar el código siempre que tras el feedback y las
     sucesivas iteraciones.

4.   Comunicación : Algunos problemas en los proyectos tienen
     origen en que alguien no dijo algo importante en algún
     momento. XP hace casi imposible la falta de comunicación, ya
     que pone en comunicación directa y continua a clientes y
     desarrolladores.
5. PRÁCTICAS BASADAS EN X.P.
1.   Equipo completo: Forman parte del equipo todas las
     personas que tienen algo que ver con el proyecto, incluido
     el cliente y el responsable del proyecto.

2.   Planificación: Se hacen las historias de usuario y se
     planifica en qué orden se van a hacer y las mini-versiones.
     La planificación se revisa continuamente.

3.   Test del cliente: El cliente, con la ayuda de los
     desarrolladores, propone sus propias pruebas para validar
     las mini-versiones.
5. PRÁCTICAS BASADAS EN X.P.
4.   Versiones pequeñas: Las mini-versiones deben ser lo
     suficientemente pequeñas como para poder hacer una cada
     pocas semanas. Deben ser versiones que ofrezcan algo útil
     al usuario final y no fragmentos de código que no pueda
     ver funcionando.

5.   Diseño simple: Hacer siempre lo mínimo imprescindible
     de la forma más sencilla posible. Mantener siempre
     sencillo el código.

6.   Pareja de programadores: Los programadores trabajan
     por parejas (dos delante del mismo ordenador) y se
     intercambian las parejas con frecuencia.
5. PRÁCTICAS BASADAS EN X.P.
7.   Desarrollo guiado por las pruebas automáticas: Se
     deben realizar programas de prueba automática y deben
     ejecutarse con mucha frecuencia. Cuantas más pruebas se
     hagan, mejor.

8.   Integración     continua:   Deben   tenerse   siempre   un
     ejecutable del proyecto que funcione y en cuanto se tenga
     una nueva pequeña funcionalidad, debe recompilarse y
     probarse. Es un error mantener una versión congelada dos
     meses mientras se hacen mejoras y luego integrarlas todas
     de golpe.
5. PRÁCTICAS BASADAS EN X.P.
9.    El código es de todos: Cualquiera puede y debe tocar y
      conocer cualquier parte del código. Para eso se hacen las
      pruebas automáticas.

10.   Normas de codificación: Debe haber un estilo común de
      codificación (no importa cual), de forma que parezca que
      ha sido realizado por una única persona.

11.   Metáforas: Hay que buscar unas frases o nombres que
      definan cómo funcionan las distintas partes del programa,
      de forma que sólo con los nombres se pueda uno hacer una
      idea de qué es lo que hace cada parte del programa.
5. PRÁCTICAS BASADAS EN X.P.
12.   Ritmo sostenible: Se debe trabajar a un ritmo que se
      pueda mantener indefinidamente. Esto quiere decir que no
      debe haber días muertos en que no se sabe qué hacer y que
      no se deben hacer un exceso de horas otros días. Hay que
      trabajar para conseguir el objetivo cercano de terminar
      una historia de usuario o mini-versión.
5. PRÁCTICAS BASADAS EN X.P.
6. CICLO DE VIDA
   Ejemplo gráfico:
7. VENTAJAS E INCONVENIENTES
   Ventajas:

   Da lugar a una programación sumamente organizada.

   Cuenta con una tasa de errores muy pequeña.

   Propicia la satisfacción del programador.

   Facilita los cambios.

   Permite ahorrar mucho tiempo y dinero.

   Puede ser aplicada a cualquier lenguaje de programación.

   El cliente tiene el control sobre las prioridades.

   Se hacen pruebas continuas durante el proyecto.
7. VENTAJAS E INCONVENIENTES
   Inconvenientes:

   Es recomendable emplearla solo en proyectos a corto plazo.

   En caso de fallar, las comisiones son muy altas.

   Requiere de un rígido ajuste a los principios de XP.

   Puede no siempre ser más fácil que el desarrollo tradicional.
METODOLOGÍAS ÁGILES
“EXTREME PROGRAMMING”
          (XP)

         •Clemente   Méndez, Fco. Javier
        •Rodríguez   Cotorruelo, Enrique

Weitere ähnliche Inhalte

Was ist angesagt?

Ciclo de vida incremental (Grupo 3)
Ciclo de vida incremental (Grupo 3)Ciclo de vida incremental (Grupo 3)
Ciclo de vida incremental (Grupo 3)
cito0102
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
Micky Jerzy
 
Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de softwareAtributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software
Gustavo Cuen
 
Modelos de proceso de desarrollo de software
Modelos de proceso de desarrollo de softwareModelos de proceso de desarrollo de software
Modelos de proceso de desarrollo de software
Uriel Ramos
 
Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software
Joan Manuel Zabala
 

Was ist angesagt? (20)

Ciclo de vida incremental (Grupo 3)
Ciclo de vida incremental (Grupo 3)Ciclo de vida incremental (Grupo 3)
Ciclo de vida incremental (Grupo 3)
 
Diferencias entre scrum y xp
Diferencias entre scrum y xp Diferencias entre scrum y xp
Diferencias entre scrum y xp
 
Modelo Cascada!!
Modelo Cascada!!Modelo Cascada!!
Modelo Cascada!!
 
Metodologías de Desarrollo de Software Tradicionales y Emergentes
Metodologías de Desarrollo de Software Tradicionales y EmergentesMetodologías de Desarrollo de Software Tradicionales y Emergentes
Metodologías de Desarrollo de Software Tradicionales y Emergentes
 
Programación Extrema (XP)
Programación Extrema (XP)Programación Extrema (XP)
Programación Extrema (XP)
 
Requerimientos del software
Requerimientos del software Requerimientos del software
Requerimientos del software
 
MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)
 
Metodologías de desarrollo de software
Metodologías de desarrollo de softwareMetodologías de desarrollo de software
Metodologías de desarrollo de software
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCHLINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
 
Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de softwareAtributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software
 
Modelo evolutivo
Modelo evolutivoModelo evolutivo
Modelo evolutivo
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de software
 
Estandares y modelos de calidad del software
Estandares y modelos de calidad del softwareEstandares y modelos de calidad del software
Estandares y modelos de calidad del software
 
Fundamentos de Calidad del Software - Modelos y Estándares
Fundamentos de Calidad del Software - Modelos y EstándaresFundamentos de Calidad del Software - Modelos y Estándares
Fundamentos de Calidad del Software - Modelos y Estándares
 
Modelos de proceso de desarrollo de software
Modelos de proceso de desarrollo de softwareModelos de proceso de desarrollo de software
Modelos de proceso de desarrollo de software
 
Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software
 
Programacion Extrema
Programacion ExtremaProgramacion Extrema
Programacion Extrema
 
Metodologias de desarrollos ágiles vs tradicionales.pptx
Metodologias de desarrollos ágiles vs tradicionales.pptxMetodologias de desarrollos ágiles vs tradicionales.pptx
Metodologias de desarrollos ágiles vs tradicionales.pptx
 
Metodología RUP
Metodología RUPMetodología RUP
Metodología RUP
 

Ähnlich wie Metodología xp

Díme que desarrollas y te diré que metodología usar
Díme que desarrollas y te diré que metodología usarDíme que desarrollas y te diré que metodología usar
Díme que desarrollas y te diré que metodología usar
Kiberley Santos
 
Programacion extrema
Programacion extremaProgramacion extrema
Programacion extrema
Cheo Mateo
 

Ähnlich wie Metodología xp (20)

xp
xpxp
xp
 
Metodologia xp (tarea msmad)
Metodologia xp (tarea msmad)Metodologia xp (tarea msmad)
Metodologia xp (tarea msmad)
 
Díme que desarrollas y te diré que metodología usar
Díme que desarrollas y te diré que metodología usarDíme que desarrollas y te diré que metodología usar
Díme que desarrollas y te diré que metodología usar
 
Xp Metodologia
Xp MetodologiaXp Metodologia
Xp Metodologia
 
Metodologia Xp
Metodologia XpMetodologia Xp
Metodologia Xp
 
Metodologiaxp
MetodologiaxpMetodologiaxp
Metodologiaxp
 
Monografia de xp
Monografia de xpMonografia de xp
Monografia de xp
 
Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema
 
Metodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliudMetodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliud
 
Monografia metodologia agil xp oficial
Monografia metodologia agil xp oficialMonografia metodologia agil xp oficial
Monografia metodologia agil xp oficial
 
Modelos de Procesos del Software Grupo 1
 Modelos de Procesos del Software Grupo 1 Modelos de Procesos del Software Grupo 1
Modelos de Procesos del Software Grupo 1
 
Metodologias xp
Metodologias xpMetodologias xp
Metodologias xp
 
Modelos de desarrollo del software
Modelos de desarrollo del softwareModelos de desarrollo del software
Modelos de desarrollo del software
 
Programación extrema
Programación extremaProgramación extrema
Programación extrema
 
Metodos agiles 4
Metodos agiles 4Metodos agiles 4
Metodos agiles 4
 
expodesarrollo29
expodesarrollo29expodesarrollo29
expodesarrollo29
 
10245215.ppth
10245215.ppth10245215.ppth
10245215.ppth
 
Programacion extrema
Programacion extremaProgramacion extrema
Programacion extrema
 
desarrollo agil-2022.pdf
desarrollo agil-2022.pdfdesarrollo agil-2022.pdf
desarrollo agil-2022.pdf
 
Comparación de dos Metodologias
Comparación de dos MetodologiasComparación de dos Metodologias
Comparación de dos Metodologias
 

Kürzlich hochgeladen

Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 
🦄💫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
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
pvtablets2023
 

Kürzlich hochgeladen (20)

CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnn
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
🦄💫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
 
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
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
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
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
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
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdf
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 

Metodología xp

  • 1. METODOLOGÍAS ÁGILES “EXTREME PROGRAMMING” (XP) •Clemente Méndez, Fco. Javier •Rodríguez Cotorruelo, Enrique
  • 2. 1. INTRODUCCIÓN 2. OBJETIVOS 3. CARACTERÍSTICAS 4. PRINCIPIOS DEL MÉTODO XP 5. PRÁCTICAS BASADAS EN XP 6. CICLO DE VIDA 7. VENTAJAS E INCONVENIENTES
  • 3. 1. INTRODUCCIÓN ¿Qué es la Programación Breve Reseña Histórica Extrema o XP? La programación extrema  Metodología liviana de o eXtreme Programming desarrollo de software. (XP) es un enfoque de la  Conjunto de practicas y reglas empleadas para ingeniería de software desarrollar software. formulado por Kent Beck,  Basada en diferentes ideas autor del primer libro acerca de cómo enfrentar sobre la materia, Extreme ambientes cambiantes. Programming Explained:  En vez de planificar, Embrace Change (1999). analizar y diseñar para el Es el más destacado de los futuro, hacer todo esto un poco cada vez, a través de procesos ágiles de todo el proceso de desarrollo de software. desarrollo.
  • 4. 2. OBJETIVOS  Establecer las mejores prácticas de Ingeniería de Software en los desarrollo de proyectos.  Mejorar la productividad de los proyectos.  Garantizar la Calidad del Software desarrollando, haciendo que este supere las expectativas del cliente.  Asumir que con cierta planificación, codificación y pruebas se puede decidir si se está siguiendo un camino correcto o equivocado, evitando retroceder cuando sea demasiado tarde.
  • 5. 3. CARACTERÍSTICAS  Metodología basada en prueba y error para obtener un software que funcione realmente.  Fundamentada en Principios.  Expresada en forma de 12 Prácticas (conjunto completo, complementándose unas a otras). Las cuales son conocidas pero su novedad es juntarlas.  Esta orientada hacia quien produce y usa el software (el cliente participa muy activamente).
  • 6. 3. CARACTERÍSTICAS  Reduce el coste del cambio en todas las etapas del ciclo de vida del sistema.  Combina las que han demostrado ser las mejores prácticas para desarrollar software, y las lleva al extremo.  Cliente bien definido.  Los requisitos pueden cambiar.  Grupo pequeño y muy integrado (2 - 12 personas). Fundamentalmente se trabaja en parejas.  Equipo con formación elevada y capacidad de aprender.
  • 7. 4. PRINCIPIOS DEL MÉTODO X.P. Este método se basa principalmente en 4 valores o principios bien definidos: 1. Simplicidad: La simplicidad consiste en desarrollar sólo el sistema que realmente se necesita. Implica resolver en cada momento sólo las necesidades actuales. 2. Feedback: Una metodología basada en el desarrollo iterativo de pequeñas partes, con entregas y pruebas frecuentes y continuas, proporciona un flujo de retro- información valioso para detectar los problemas o desviaciones.
  • 8. 4. PRINCIPIOS DEL MÉTODO X.P. 3. Decisión:  Implica saber tomar decisiones difíciles.  Reparar un error cuando se detecta.  Mejorar el código siempre que tras el feedback y las sucesivas iteraciones. 4. Comunicación : Algunos problemas en los proyectos tienen origen en que alguien no dijo algo importante en algún momento. XP hace casi imposible la falta de comunicación, ya que pone en comunicación directa y continua a clientes y desarrolladores.
  • 9. 5. PRÁCTICAS BASADAS EN X.P. 1. Equipo completo: Forman parte del equipo todas las personas que tienen algo que ver con el proyecto, incluido el cliente y el responsable del proyecto. 2. Planificación: Se hacen las historias de usuario y se planifica en qué orden se van a hacer y las mini-versiones. La planificación se revisa continuamente. 3. Test del cliente: El cliente, con la ayuda de los desarrolladores, propone sus propias pruebas para validar las mini-versiones.
  • 10. 5. PRÁCTICAS BASADAS EN X.P. 4. Versiones pequeñas: Las mini-versiones deben ser lo suficientemente pequeñas como para poder hacer una cada pocas semanas. Deben ser versiones que ofrezcan algo útil al usuario final y no fragmentos de código que no pueda ver funcionando. 5. Diseño simple: Hacer siempre lo mínimo imprescindible de la forma más sencilla posible. Mantener siempre sencillo el código. 6. Pareja de programadores: Los programadores trabajan por parejas (dos delante del mismo ordenador) y se intercambian las parejas con frecuencia.
  • 11. 5. PRÁCTICAS BASADAS EN X.P. 7. Desarrollo guiado por las pruebas automáticas: Se deben realizar programas de prueba automática y deben ejecutarse con mucha frecuencia. Cuantas más pruebas se hagan, mejor. 8. Integración continua: Deben tenerse siempre un ejecutable del proyecto que funcione y en cuanto se tenga una nueva pequeña funcionalidad, debe recompilarse y probarse. Es un error mantener una versión congelada dos meses mientras se hacen mejoras y luego integrarlas todas de golpe.
  • 12. 5. PRÁCTICAS BASADAS EN X.P. 9. El código es de todos: Cualquiera puede y debe tocar y conocer cualquier parte del código. Para eso se hacen las pruebas automáticas. 10. Normas de codificación: Debe haber un estilo común de codificación (no importa cual), de forma que parezca que ha sido realizado por una única persona. 11. Metáforas: Hay que buscar unas frases o nombres que definan cómo funcionan las distintas partes del programa, de forma que sólo con los nombres se pueda uno hacer una idea de qué es lo que hace cada parte del programa.
  • 13. 5. PRÁCTICAS BASADAS EN X.P. 12. Ritmo sostenible: Se debe trabajar a un ritmo que se pueda mantener indefinidamente. Esto quiere decir que no debe haber días muertos en que no se sabe qué hacer y que no se deben hacer un exceso de horas otros días. Hay que trabajar para conseguir el objetivo cercano de terminar una historia de usuario o mini-versión.
  • 15. 6. CICLO DE VIDA  Ejemplo gráfico:
  • 16. 7. VENTAJAS E INCONVENIENTES  Ventajas:  Da lugar a una programación sumamente organizada.  Cuenta con una tasa de errores muy pequeña.  Propicia la satisfacción del programador.  Facilita los cambios.  Permite ahorrar mucho tiempo y dinero.  Puede ser aplicada a cualquier lenguaje de programación.  El cliente tiene el control sobre las prioridades.  Se hacen pruebas continuas durante el proyecto.
  • 17. 7. VENTAJAS E INCONVENIENTES  Inconvenientes:  Es recomendable emplearla solo en proyectos a corto plazo.  En caso de fallar, las comisiones son muy altas.  Requiere de un rígido ajuste a los principios de XP.  Puede no siempre ser más fácil que el desarrollo tradicional.
  • 18. METODOLOGÍAS ÁGILES “EXTREME PROGRAMMING” (XP) •Clemente Méndez, Fco. Javier •Rodríguez Cotorruelo, Enrique