SlideShare ist ein Scribd-Unternehmen logo
1 von 45
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?

Plan de pruebas de software
Plan de pruebas de softwarePlan de pruebas de software
Plan de pruebas de softwareEdgardo Rojas
 
Tabla comparativa- metodologías de desarrollo
Tabla comparativa-  metodologías de desarrolloTabla comparativa-  metodologías de desarrollo
Tabla comparativa- metodologías de desarrolloitsarellano
 
Extreme Programming-Fases
Extreme Programming-FasesExtreme Programming-Fases
Extreme Programming-FasesBelghy Chisag
 
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 EmergentesMiguel Rodríguez
 
Técnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosTécnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosJuan Carlos Olivares Rojas
 
Normas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de SoftwareNormas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de SoftwareEvelinBermeo
 
Una introducción a Scrum - Por Jorge Abad @jorge_abad
Una introducción a Scrum - Por Jorge Abad @jorge_abadUna introducción a Scrum - Por Jorge Abad @jorge_abad
Una introducción a Scrum - Por Jorge Abad @jorge_abadJorge Hernán Abad Londoño
 
Diferencias entre scrum y xp
Diferencias entre scrum y xp Diferencias entre scrum y xp
Diferencias entre scrum y xp deborahgal
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREjose_rob
 
Introduccion a Scrum con caso práctico
Introduccion a Scrum  con caso prácticoIntroduccion a Scrum  con caso práctico
Introduccion a Scrum con caso prácticoDaniel Escribano Ales
 
Gestión de riesgos de software
Gestión de riesgos de softwareGestión de riesgos de software
Gestión de riesgos de softwareOmar S. Gomez
 
Ejemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rupEjemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rupXochitl Saucedo Muñoz
 
Especificación de requisitos de software
Especificación de requisitos de softwareEspecificación de requisitos de software
Especificación de requisitos de software481200601
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosCesar Prado
 

Was ist angesagt? (20)

Plan de pruebas de software
Plan de pruebas de softwarePlan de pruebas de software
Plan de pruebas de software
 
Tabla comparativa- metodologías de desarrollo
Tabla comparativa-  metodologías de desarrolloTabla comparativa-  metodologías de desarrollo
Tabla comparativa- metodologías de desarrollo
 
Extreme Programming-Fases
Extreme Programming-FasesExtreme Programming-Fases
Extreme Programming-Fases
 
Presentacion fdd
Presentacion fddPresentacion fdd
Presentacion fdd
 
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
 
Técnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosTécnicas para la Obtención de Requerimientos
Técnicas para la Obtención de Requerimientos
 
Normas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de SoftwareNormas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de Software
 
Una introducción a Scrum - Por Jorge Abad @jorge_abad
Una introducción a Scrum - Por Jorge Abad @jorge_abadUna introducción a Scrum - Por Jorge Abad @jorge_abad
Una introducción a Scrum - Por Jorge Abad @jorge_abad
 
8.realizacion de pruebas
8.realizacion de pruebas8.realizacion de pruebas
8.realizacion de pruebas
 
Diferencias entre scrum y xp
Diferencias entre scrum y xp Diferencias entre scrum y xp
Diferencias entre scrum y xp
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
 
Diagrama de casos de usos
Diagrama de casos de usosDiagrama de casos de usos
Diagrama de casos de usos
 
Introduccion a Scrum con caso práctico
Introduccion a Scrum  con caso prácticoIntroduccion a Scrum  con caso práctico
Introduccion a Scrum con caso práctico
 
Metodología RUP
Metodología RUPMetodología RUP
Metodología RUP
 
Ejemplo rup
Ejemplo rupEjemplo rup
Ejemplo rup
 
Gestión de riesgos de software
Gestión de riesgos de softwareGestión de riesgos de software
Gestión de riesgos de software
 
Ejemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rupEjemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rup
 
Rup (iteraciones)
Rup (iteraciones)Rup (iteraciones)
Rup (iteraciones)
 
Especificación de requisitos de software
Especificación de requisitos de softwareEspecificación de requisitos de software
Especificación de requisitos de software
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientos
 

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
 
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
 
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 (8)

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
 
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
 
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
 
Comparación de dos Metodologias
Comparación de dos MetodologiasComparación de dos Metodologias
Comparación de dos Metodologiaszonajava
 
Rup vs. xp
Rup vs. xpRup vs. xp
Rup vs. xpjhon
 
Rup vs. xp
Rup vs. xpRup vs. xp
Rup vs. xpljds
 
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
 
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
 
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