SlideShare ist ein Scribd-Unternehmen logo
1 von 45
Downloaden Sie, um offline zu lesen
METODOLOGIAS
    AGILES
METODOLOGIA XP
   CARLOS CORTES
  VANESSA MOLINA
  LISETH PATERNINA
    OSCAR VARGAS
¿METODOLOGIAS AGILES?
Surge ante la necesidad
de       ofrecer       una
alternativa      a       la
metodologías
tradicionales,
caracterizados por ser
rígidos y dirigidos por
la documentación que se
genera en cada una de
las            actividades
desarrolladas.
PRINCIPIOS DE LOS METODOS
          AGILES
DIFERENCIAS ENTRE
METODOLOGIAS AGILES Y NO AGILES
¿Qué es
Programación Extrema
o XP(EXTREME PROGRAMMING)?
¿Programación Extrema o XP?
 La Programación Extrema es una
  metodología ligera de desarrollo de
  software que se basa en la
  simplicidad, la comunicación y la
  realimentación o reutilización del
  código desarrollado.

 Centrada en       potenciar      las
  relaciones interpersonales como
  clave para el éxito en el desarrollo
  de software.

 Su objetivo     es      aumentar la
  productividad        al    desarrollar
  software.
ORIGEN DE LA METODOLOGIA
               XP
 Nace de la mano de Kent Beck en
  el verano de 1996, cuando
  trabajaba     para      Chrysler
  Corporation.

 El tenía varias ideas de
  metodologías para la realización
  de programas que eran cruciales
  para el buen desarrollo de
  cualquier sistema.

 Las ideas primordiales de su
  sistema las comunicó en la revista
  C++ Magazine en una entrevista
  que ésta le hizo el año 1999.
OBJETIVOS DE XP


 La satisfacción del cliente.

 Potenciar el trabajo en grupo.

 Minimizar el riesgo actuando sobre
  las variables del proyecto:
         - Coste
         - Tiempo
         - Calidad
         - Alcance
VALORES QUE INSPIRAN XP


 Comunicación

 Sencillez

 Retroalimentación

 Valentía
INTRODUCCION A LA
METODOLOGIA XP
EL COSTE DEL CAMBIO




 Evolución de los largos ciclos de desarrollo en cascada (a) a ciclos iterativos más
                       cortos (b) y a la mezcla que hace XP
.
CICLO DE ENTREGA EN XP
CICLO DE VIDA DEL PROCESO XP
PRACTICAS DE
    XP
Prácticas de Codificación

• Simplicidad de código y de diseño para producir software
  fácil de modificar.
• Reingeniería continua para lograr que el código tenga un
  diseño óptimo.
• Desarrollar estándares de codificación, para comunicar ideas
  con claridad a través del código.
• Desarrollar un vocabulario común, para comunicar las ideas
  sobre el código con claridad.
Prácticas de Desarrollo

• Adoptar un método de desarrollo basado en las pruebas
  para asegurar que el código se comporta según lo esperado.
• Programación por parejas, para              incrementar   el
  conocimiento, la experiencia y las ideas.
• Asumir la propiedad colectiva del código, para que todo el
  equipo sea responsable de él.
• Integración continua, para reducir el impacto de la
  incorporación de nuevas funcionalidades.
Prácticas de Negocios

• Integración de un representante del cliente en el equipo,
  para encauzar las cuestiones de negocio del sistema de
  forma directa, sin retrasos o pérdidas por intermediación.
• Adoptar el juego de la planificación para centrar en la
  agenda el trabajo más importante.
• Entregas regulares y frecuentes para satisfacer la inversión
  del cliente.
• Ritmo de trabajo sostenible, para terminar la jornada
  cansado pero no agotado.
FASES DE LA METODOLOGIA XP
1RA FASE:
PLANIFICACIÓN DEL
    PROYECTO
Fases de la Metodología XP (planificación)
        A) HISTORIAS DEL USUARIO

• Las historias de usuario tienen el mismo propósito que los casos de uso.

• Las escriben los propios clientes, tal y como en ellos las necesidades del
  sistema.

• Las historias de usuario son similares al empleo de escenarios, con la
  excepción de que no se limitan a la descripción de la interfaz de usuario.
  También conducirán el proceso de creación de los test de
  aceptación(empleados para verificar que las historias de usuario han sido
  implementadas correctamente).

• Existen diferencias entre estas y la tradicional especificación de requisitos.
  La principal diferencia es el nivel de detalle. Las historias de usuario
  solamente proporcionaran los detalles sobre la estimación del riesgo y
  cuánto tiempo conllevará la implementación de dicha historia de usuario.
Fases de la Metodología XP (planificación)
   A) HISTORIAS DEL USUARIO
Fases de la Metodología XP (planificación)
   A) HISTORIAS DEL USUARIO
Fases de la Metodología XP (planificación)
   A) HISTORIAS DEL USUARIO
Fases de la Metodología XP (planificación)
   A) HISTORIAS DEL USUARIO
Fases de la Metodología XP (planificación)
             B) RELEASE PLANNING




es una planificación donde los desarrolladores y clientes establecen los tiempos de
implementación ideales de las historias de usuario, la prioridad con la que serán
implementadas y las historias que serán implementadas en cada versión del
programa.
Fases de la Metodología XP (planificación)
              C) PLAN DE ITERACION

Así puede verse un plan de iteración:   Iteración y planes de iteración_
Fases de la Metodología XP
                 (planificación)



• La rotaciones evitarán que las personas se conviertan en si mismas en un cuello de
  botella. Las rotaciones permitirán que todo el mundo conozca cómo funciona el
  sistema.



• Reuniones de seguimiento diarias



• Deberemos corregir el proceso cuando éste falle.
• Todo el mundo debe estar al corriente de los cambios.
• Para que esto funcione correctamente hay que crear unidades de prueba de cada
  módulo que se desarrolle.
2DA FASE: DISEÑO
Fases de la Metodología XP (Diseño)


                       X.P sugiere que hay que conseguir diseños simples y sencillos

                                                                  Usar glosarios de
términos y un correcta especificación de los nombres de métodos y clases ayudará a
comprender el diseño y facilitará sus posteriores ampliaciones y la reutilización del
código.

                 Si surgen problemas potenciales durante el diseño, X.P sugiere utilizar
una pareja de desarrolladores para que investiguen y reduzcan al máximo el riesgo que
supone ese problema. SPIKE(programa simple que explora una posible solución a un
problema)
                                         Nunca se debe añadir funcionalidad extra al
programa aunque se piense que en un futuro será utilizada. Sólo el 10% de la misma es
utilizada, lo que implica que el desarrollo de funcionalidad extra es un desperdicio de
tiempo y recursos.
Fases de la Metodología XP (Diseño)


• Refactorizar es mejorar y modificar la estructura y codificación de códigos ya
  creados sin alterar su funcionalidad. Refactorizar supone revisar de nuevo
  estos códigos para procurar optimizar su funcionamiento.



•   representan objetos; la clase a la que pertenece el objeto se puede escribir en la
    parte de arriba de la tarjeta, en una columna a la izquierda se pueden escribir las
    responsabilidades u objetivos que debe cumplir el objeto y a la derecha, las clases
    que colaboran con cada responsabilidad.
Fases de la Metodología XP (Diseño)
            TARJETAS CRC
3RA FASE:
DESARROLLO
Fases de la Metodología XP
                  (DESARROLLO)


•   Disponibilidad del CLIENTE
•   Unidades de prueba o test
•   Programación pareja
•   Integración del código
•   Frecuencia en la integración del código
•   El código es propiedad de todos:
•   Dejar la optimizaciones para el final
•   No a las horas extras: 40 horas semanales
4TA FASE: PRUEBAS
Fases de la Metodología XP
             (PRUEBAS)

Unidades de test o pruebas: Pilar básico
Implantación: El código será implantado cuando supere sus correspondientes
unidades de test.

Protección contra fallos: Solución, un test

Pruebas de aceptación: Evaluación del cliente
ROLES DE XP
1. PROGRAMADOR
   Pieza básica en desarrollos XP

   Más responsabilidad que en otros modos de desarrollo

   Responsable sobre el código

   Responsable sobre el diseño (refactorización, simplicidad)

   Responsable sobre la integridad del sistema (pruebas)

   Capacidad de comunicación

   Acepta críticas (código colectivo)
2. CLIENTE

   Pieza básica en desarrollos XP

   Define especificaciones

   Influye sin controlar

   Confía en el grupo de desarrollo

   Define pruebas funcionales
3. Encargado de pruebas (Tester)


    Apoya al cliente en la preparación/realización de las pruebas
     funcionales

    Ejecuta las pruebas funcionales y publica los resultados
4. Encargado de seguimiento
            (Tracker)

 Recoge, analiza y publica información sobre la marcha del proyecto sin
  afectar demasiado el proceso

 Supervisa el cumplimiento de la estimaciones en cada iteración

 Informa sobre la marcha de la iteración en curso

 Controla la marcha de las pruebas funcionales, de los errores reportados,
  de las responsabilidades aceptadas y de las prueba añadidas por los
  errores encontrados
5. Entrenador (Coach)

   Experto en XP
   Responsable del proceso en su conjunto
   Identifica las desviaciones y reclama atención sobre las
    mismas
   Guía al grupo de forma indirecta (sin dañar su seguridad ni
    confianza)
   Interviene directamente si es necesario
   Atajar rápidamente el problema
6. Gestor (Big boss)

   Favorece la relación entre usuarios y desarrolladores

 Confía en el equipo XP

 Cubre las necesidades del equipo XP

 Asegura que alcanza sus objetivos
VENTAJAS Y DESVENTAJAS DE XP



Programación organizada.
Menor taza de errores.
Satisfacción del programador.


Es recomendable emplearlo solo en proyectos a
corto plazo.
Altas comisiones en caso de fallar.
REFERENCIAS BIBLIOGRAFICAS

Archivo .pdf de la Universidad Politécnica de Valencia con una amplia explicación sobre
metodologías ágiles y la programación extrema (XP). Recuperado el 20 de Febrero de 2013.
http://www.willydev.net/descargas/prev/TodoAgil.pdf

CALERO SOLÍS, Manuel. Una explicación de la programación extrema (XP). V Encuentro usuarios
xBase 2003 MADRID. Recuperado el 20 de Febrero de 2013.
http://www.willydev.net/descargas/prev/ExplicaXP.pdf


ACOSTA QUIROZ, César Augusto. Recuperado el 20 de Febrero de 2013.
http://www.slideshare.net/cesar_acosta/programacin-extrema-extream-programming-xp

Isaías Carrillo Pérez, Rodrigo Pérez González, Aureliano David Rodríguez Martín. Recuperado el 20
de Febrero de 2013.
 http://es.scribd.com/doc/54060274/Metodologias-de-desarrollo
GRACIAS

Weitere ähnliche Inhalte

Was ist angesagt?

modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software Brihany Rossell
 
Unidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioUnidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioSergio Sanchez
 
Clasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareClasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareElvisAR
 
Planificacion de proyecto de software
Planificacion de proyecto de softwarePlanificacion de proyecto de software
Planificacion de proyecto de softwareGeorgy Jose Sanchez
 
Modelos de Procesos de Software
Modelos de Procesos de SoftwareModelos de Procesos de Software
Modelos de Procesos de SoftwareJiuseppe Flores
 
Analisis de requerimientos, Ingenieria de Software
Analisis de requerimientos, Ingenieria de SoftwareAnalisis de requerimientos, Ingenieria de Software
Analisis de requerimientos, Ingenieria de SoftwareMarvin Romero
 
Las 4 P en el desarrollo de software
Las 4 P en el desarrollo de softwareLas 4 P en el desarrollo de software
Las 4 P en el desarrollo de softwareSofylutqm
 
calidad de los sistemas de informacion
calidad de los sistemas de informacioncalidad de los sistemas de informacion
calidad de los sistemas de informacionErika Vazquez
 
modelo vista controlador
modelo vista controladormodelo vista controlador
modelo vista controladorcom2merwil
 
Mapa conceptual Ingeniería de Requisitos
Mapa conceptual Ingeniería de RequisitosMapa conceptual Ingeniería de Requisitos
Mapa conceptual Ingeniería de Requisitosinmacu_
 
Ingeniería de software - Descripción, características, modelos
Ingeniería de software - Descripción, características, modelosIngeniería de software - Descripción, características, modelos
Ingeniería de software - Descripción, características, modelosRafael Fdo Lopez Castillo
 
Requerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No FuncionalesRequerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No FuncionalesCarlos Macallums
 

Was ist angesagt? (20)

Diapositivas xp
Diapositivas xpDiapositivas xp
Diapositivas xp
 
Modelo v
Modelo vModelo v
Modelo v
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software
 
Unidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioUnidad 3 Modelo De Negocio
Unidad 3 Modelo De Negocio
 
Clasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareClasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de software
 
Modelo cascada
Modelo cascadaModelo cascada
Modelo cascada
 
Planificacion de proyecto de software
Planificacion de proyecto de softwarePlanificacion de proyecto de software
Planificacion de proyecto de software
 
Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
 
Modelos de Procesos de Software
Modelos de Procesos de SoftwareModelos de Procesos de Software
Modelos de Procesos de Software
 
Rup disciplinas
Rup disciplinasRup disciplinas
Rup disciplinas
 
Analisis de requerimientos, Ingenieria de Software
Analisis de requerimientos, Ingenieria de SoftwareAnalisis de requerimientos, Ingenieria de Software
Analisis de requerimientos, Ingenieria de Software
 
Las 4 P en el desarrollo de software
Las 4 P en el desarrollo de softwareLas 4 P en el desarrollo de software
Las 4 P en el desarrollo de software
 
calidad de los sistemas de informacion
calidad de los sistemas de informacioncalidad de los sistemas de informacion
calidad de los sistemas de informacion
 
Modelo evolutivo
Modelo evolutivoModelo evolutivo
Modelo evolutivo
 
modelo vista controlador
modelo vista controladormodelo vista controlador
modelo vista controlador
 
Principios diseño del software
Principios diseño del software Principios diseño del software
Principios diseño del software
 
Presentacion fdd
Presentacion fddPresentacion fdd
Presentacion fdd
 
Mapa conceptual Ingeniería de Requisitos
Mapa conceptual Ingeniería de RequisitosMapa conceptual Ingeniería de Requisitos
Mapa conceptual Ingeniería de Requisitos
 
Ingeniería de software - Descripción, características, modelos
Ingeniería de software - Descripción, características, modelosIngeniería de software - Descripción, características, modelos
Ingeniería de software - Descripción, características, modelos
 
Requerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No FuncionalesRequerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No Funcionales
 

Andere mochten auch

Metodologias De Desarrollo De Software
Metodologias De Desarrollo De SoftwareMetodologias De Desarrollo De Software
Metodologias De Desarrollo De Softwareguesta1695670
 
4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De Software4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De SoftwareJulio Pari
 
CLASIFICACIÓN DE LAS METODOLOGÍAS DE DESARROLLO DE SOFTWARE
CLASIFICACIÓN DE LAS METODOLOGÍAS DE DESARROLLO DE SOFTWARECLASIFICACIÓN DE LAS METODOLOGÍAS DE DESARROLLO DE SOFTWARE
CLASIFICACIÓN DE LAS METODOLOGÍAS DE DESARROLLO DE SOFTWAREBiingeSof
 
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
 
Metodologia de desarrollo de software
Metodologia de desarrollo de softwareMetodologia de desarrollo de software
Metodologia de desarrollo de softwareVictor Varela
 
Metodologias de desarrollo
Metodologias de desarrolloMetodologias de desarrollo
Metodologias de desarrolloHermes Romero
 
Definicion de usuarios
Definicion de usuariosDefinicion de usuarios
Definicion de usuariossamazu2012
 

Andere mochten auch (7)

Metodologias De Desarrollo De Software
Metodologias De Desarrollo De SoftwareMetodologias De Desarrollo De Software
Metodologias De Desarrollo De Software
 
4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De Software4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De Software
 
CLASIFICACIÓN DE LAS METODOLOGÍAS DE DESARROLLO DE SOFTWARE
CLASIFICACIÓN DE LAS METODOLOGÍAS DE DESARROLLO DE SOFTWARECLASIFICACIÓN DE LAS METODOLOGÍAS DE DESARROLLO DE SOFTWARE
CLASIFICACIÓN DE LAS METODOLOGÍAS DE DESARROLLO DE SOFTWARE
 
Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)
 
Metodologia de desarrollo de software
Metodologia de desarrollo de softwareMetodologia de desarrollo de software
Metodologia de desarrollo de software
 
Metodologias de desarrollo
Metodologias de desarrolloMetodologias de desarrollo
Metodologias de desarrollo
 
Definicion de usuarios
Definicion de usuariosDefinicion de usuarios
Definicion de usuarios
 

Ähnlich wie Metodologias agiles Programacion Xtrema

Exposicion xp[1]
Exposicion xp[1]Exposicion xp[1]
Exposicion xp[1]Eagle20
 
Monografia metodologia agil xp oficial
Monografia metodologia agil xp oficialMonografia metodologia agil xp oficial
Monografia metodologia agil xp oficialHarry G Portales
 
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 usarKiberley Santos
 
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
 
Rup vs. xp
Rup vs. xpRup vs. xp
Rup vs. xpjhon
 
Rup vs. xp
Rup vs. xpRup vs. xp
Rup vs. xpljds
 
Comparación de dos Metodologias
Comparación de dos MetodologiasComparación de dos Metodologias
Comparación de dos Metodologiaszonajava
 
Programación extrema [XP]
Programación extrema [XP]Programación extrema [XP]
Programación extrema [XP]Agustín
 
Metodología ágil de programación extrema
Metodología ágil de programación extremaMetodología ágil de programación extrema
Metodología ágil de programación extremaRafael Hernandez
 
Metodología ágil de programación extrema
Metodología ágil de programación extremaMetodología ágil de programación extrema
Metodología ágil de programación extremaMiguelGonzalezLo
 
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloFundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloJosé Antonio Sandoval Acosta
 
Metodología xp
Metodología xpMetodología xp
Metodología xpPiskamen
 

Ähnlich wie Metodologias agiles Programacion Xtrema (20)

Exposicion xp[1]
Exposicion xp[1]Exposicion xp[1]
Exposicion xp[1]
 
Monografia metodologia agil xp oficial
Monografia metodologia agil xp oficialMonografia metodologia agil xp oficial
Monografia metodologia agil xp oficial
 
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
 
Programacion Extrema
Programacion ExtremaProgramacion Extrema
Programacion Extrema
 
Modelo xp para desarrollo de proyecto
Modelo xp para desarrollo de proyectoModelo xp para desarrollo de proyecto
Modelo xp para desarrollo de proyecto
 
SEMANA 11.pptx
SEMANA 11.pptxSEMANA 11.pptx
SEMANA 11.pptx
 
Metodos agiles 4
Metodos agiles 4Metodos agiles 4
Metodos agiles 4
 
Monografia Metodologia Agil XP
Monografia Metodologia Agil XPMonografia Metodologia Agil XP
Monografia Metodologia Agil XP
 
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
 
Comparación de dos Metodologias
Comparación de dos MetodologiasComparación de dos Metodologias
Comparación de dos Metodologias
 
Programación extrema [XP]
Programación extrema [XP]Programación extrema [XP]
Programación extrema [XP]
 
Ha2 nv50 rodriguez montiel moises-xp
Ha2 nv50 rodriguez montiel moises-xpHa2 nv50 rodriguez montiel moises-xp
Ha2 nv50 rodriguez montiel moises-xp
 
Xp Metodologia
Xp MetodologiaXp Metodologia
Xp Metodologia
 
Metodología ágil de programación extrema
Metodología ágil de programación extremaMetodología ágil de programación extrema
Metodología ágil de programación extrema
 
Metodología ágil de programación extrema
Metodología ágil de programación extremaMetodología ágil de programación extrema
Metodología ágil de programación extrema
 
Metodologiaxp
MetodologiaxpMetodologiaxp
Metodologiaxp
 
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloFundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
 
Metodología xp
Metodología xpMetodología xp
Metodología xp
 

Metodologias agiles Programacion Xtrema

  • 1. METODOLOGIAS AGILES METODOLOGIA XP CARLOS CORTES VANESSA MOLINA LISETH PATERNINA OSCAR VARGAS
  • 2. ¿METODOLOGIAS AGILES? Surge ante la necesidad de ofrecer una alternativa a la metodologías tradicionales, caracterizados por ser rígidos y dirigidos por la documentación que se genera en cada una de las actividades desarrolladas.
  • 3. PRINCIPIOS DE LOS METODOS AGILES
  • 5. ¿Qué es Programación Extrema o XP(EXTREME PROGRAMMING)?
  • 6. ¿Programación Extrema o XP?  La Programación Extrema es una metodología ligera de desarrollo de software que se basa en la simplicidad, la comunicación y la realimentación o reutilización del código desarrollado.  Centrada en potenciar las relaciones interpersonales como clave para el éxito en el desarrollo de software.  Su objetivo es aumentar la productividad al desarrollar software.
  • 7. ORIGEN DE LA METODOLOGIA XP  Nace de la mano de Kent Beck en el verano de 1996, cuando trabajaba para Chrysler Corporation.  El tenía varias ideas de metodologías para la realización de programas que eran cruciales para el buen desarrollo de cualquier sistema.  Las ideas primordiales de su sistema las comunicó en la revista C++ Magazine en una entrevista que ésta le hizo el año 1999.
  • 8. OBJETIVOS DE XP  La satisfacción del cliente.  Potenciar el trabajo en grupo.  Minimizar el riesgo actuando sobre las variables del proyecto: - Coste - Tiempo - Calidad - Alcance
  • 9. VALORES QUE INSPIRAN XP  Comunicación  Sencillez  Retroalimentación  Valentía
  • 11. EL COSTE DEL CAMBIO Evolución de los largos ciclos de desarrollo en cascada (a) a ciclos iterativos más cortos (b) y a la mezcla que hace XP .
  • 13. CICLO DE VIDA DEL PROCESO XP
  • 15. Prácticas de Codificación • Simplicidad de código y de diseño para producir software fácil de modificar. • Reingeniería continua para lograr que el código tenga un diseño óptimo. • Desarrollar estándares de codificación, para comunicar ideas con claridad a través del código. • Desarrollar un vocabulario común, para comunicar las ideas sobre el código con claridad.
  • 16. Prácticas de Desarrollo • Adoptar un método de desarrollo basado en las pruebas para asegurar que el código se comporta según lo esperado. • Programación por parejas, para incrementar el conocimiento, la experiencia y las ideas. • Asumir la propiedad colectiva del código, para que todo el equipo sea responsable de él. • Integración continua, para reducir el impacto de la incorporación de nuevas funcionalidades.
  • 17. Prácticas de Negocios • Integración de un representante del cliente en el equipo, para encauzar las cuestiones de negocio del sistema de forma directa, sin retrasos o pérdidas por intermediación. • Adoptar el juego de la planificación para centrar en la agenda el trabajo más importante. • Entregas regulares y frecuentes para satisfacer la inversión del cliente. • Ritmo de trabajo sostenible, para terminar la jornada cansado pero no agotado.
  • 18. FASES DE LA METODOLOGIA XP
  • 20. Fases de la Metodología XP (planificación) A) HISTORIAS DEL USUARIO • Las historias de usuario tienen el mismo propósito que los casos de uso. • Las escriben los propios clientes, tal y como en ellos las necesidades del sistema. • Las historias de usuario son similares al empleo de escenarios, con la excepción de que no se limitan a la descripción de la interfaz de usuario. También conducirán el proceso de creación de los test de aceptación(empleados para verificar que las historias de usuario han sido implementadas correctamente). • Existen diferencias entre estas y la tradicional especificación de requisitos. La principal diferencia es el nivel de detalle. Las historias de usuario solamente proporcionaran los detalles sobre la estimación del riesgo y cuánto tiempo conllevará la implementación de dicha historia de usuario.
  • 21. Fases de la Metodología XP (planificación) A) HISTORIAS DEL USUARIO
  • 22. Fases de la Metodología XP (planificación) A) HISTORIAS DEL USUARIO
  • 23. Fases de la Metodología XP (planificación) A) HISTORIAS DEL USUARIO
  • 24. Fases de la Metodología XP (planificación) A) HISTORIAS DEL USUARIO
  • 25. Fases de la Metodología XP (planificación) B) RELEASE PLANNING es una planificación donde los desarrolladores y clientes establecen los tiempos de implementación ideales de las historias de usuario, la prioridad con la que serán implementadas y las historias que serán implementadas en cada versión del programa.
  • 26. Fases de la Metodología XP (planificación) C) PLAN DE ITERACION Así puede verse un plan de iteración: Iteración y planes de iteración_
  • 27. Fases de la Metodología XP (planificación) • La rotaciones evitarán que las personas se conviertan en si mismas en un cuello de botella. Las rotaciones permitirán que todo el mundo conozca cómo funciona el sistema. • Reuniones de seguimiento diarias • Deberemos corregir el proceso cuando éste falle. • Todo el mundo debe estar al corriente de los cambios. • Para que esto funcione correctamente hay que crear unidades de prueba de cada módulo que se desarrolle.
  • 29. Fases de la Metodología XP (Diseño) X.P sugiere que hay que conseguir diseños simples y sencillos Usar glosarios de términos y un correcta especificación de los nombres de métodos y clases ayudará a comprender el diseño y facilitará sus posteriores ampliaciones y la reutilización del código. Si surgen problemas potenciales durante el diseño, X.P sugiere utilizar una pareja de desarrolladores para que investiguen y reduzcan al máximo el riesgo que supone ese problema. SPIKE(programa simple que explora una posible solución a un problema) Nunca se debe añadir funcionalidad extra al programa aunque se piense que en un futuro será utilizada. Sólo el 10% de la misma es utilizada, lo que implica que el desarrollo de funcionalidad extra es un desperdicio de tiempo y recursos.
  • 30. Fases de la Metodología XP (Diseño) • Refactorizar es mejorar y modificar la estructura y codificación de códigos ya creados sin alterar su funcionalidad. Refactorizar supone revisar de nuevo estos códigos para procurar optimizar su funcionamiento. • representan objetos; la clase a la que pertenece el objeto se puede escribir en la parte de arriba de la tarjeta, en una columna a la izquierda se pueden escribir las responsabilidades u objetivos que debe cumplir el objeto y a la derecha, las clases que colaboran con cada responsabilidad.
  • 31. Fases de la Metodología XP (Diseño) TARJETAS CRC
  • 33. Fases de la Metodología XP (DESARROLLO) • Disponibilidad del CLIENTE • Unidades de prueba o test • Programación pareja • Integración del código • Frecuencia en la integración del código • El código es propiedad de todos: • Dejar la optimizaciones para el final • No a las horas extras: 40 horas semanales
  • 35. Fases de la Metodología XP (PRUEBAS) Unidades de test o pruebas: Pilar básico Implantación: El código será implantado cuando supere sus correspondientes unidades de test. Protección contra fallos: Solución, un test Pruebas de aceptación: Evaluación del cliente
  • 37. 1. PROGRAMADOR  Pieza básica en desarrollos XP  Más responsabilidad que en otros modos de desarrollo  Responsable sobre el código  Responsable sobre el diseño (refactorización, simplicidad)  Responsable sobre la integridad del sistema (pruebas)  Capacidad de comunicación  Acepta críticas (código colectivo)
  • 38. 2. CLIENTE  Pieza básica en desarrollos XP  Define especificaciones  Influye sin controlar  Confía en el grupo de desarrollo  Define pruebas funcionales
  • 39. 3. Encargado de pruebas (Tester)  Apoya al cliente en la preparación/realización de las pruebas funcionales  Ejecuta las pruebas funcionales y publica los resultados
  • 40. 4. Encargado de seguimiento (Tracker)  Recoge, analiza y publica información sobre la marcha del proyecto sin afectar demasiado el proceso  Supervisa el cumplimiento de la estimaciones en cada iteración  Informa sobre la marcha de la iteración en curso  Controla la marcha de las pruebas funcionales, de los errores reportados, de las responsabilidades aceptadas y de las prueba añadidas por los errores encontrados
  • 41. 5. Entrenador (Coach)  Experto en XP  Responsable del proceso en su conjunto  Identifica las desviaciones y reclama atención sobre las mismas  Guía al grupo de forma indirecta (sin dañar su seguridad ni confianza)  Interviene directamente si es necesario  Atajar rápidamente el problema
  • 42. 6. Gestor (Big boss)  Favorece la relación entre usuarios y desarrolladores  Confía en el equipo XP  Cubre las necesidades del equipo XP  Asegura que alcanza sus objetivos
  • 43. VENTAJAS Y DESVENTAJAS DE XP Programación organizada. Menor taza de errores. Satisfacción del programador. Es recomendable emplearlo solo en proyectos a corto plazo. Altas comisiones en caso de fallar.
  • 44. REFERENCIAS BIBLIOGRAFICAS Archivo .pdf de la Universidad Politécnica de Valencia con una amplia explicación sobre metodologías ágiles y la programación extrema (XP). Recuperado el 20 de Febrero de 2013. http://www.willydev.net/descargas/prev/TodoAgil.pdf CALERO SOLÍS, Manuel. Una explicación de la programación extrema (XP). V Encuentro usuarios xBase 2003 MADRID. Recuperado el 20 de Febrero de 2013. http://www.willydev.net/descargas/prev/ExplicaXP.pdf ACOSTA QUIROZ, César Augusto. Recuperado el 20 de Febrero de 2013. http://www.slideshare.net/cesar_acosta/programacin-extrema-extream-programming-xp Isaías Carrillo Pérez, Rodrigo Pérez González, Aureliano David Rodríguez Martín. Recuperado el 20 de Febrero de 2013. http://es.scribd.com/doc/54060274/Metodologias-de-desarrollo