SlideShare una empresa de Scribd logo
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

Más contenido relacionado

La actualidad más candente

Metricas del proyecto de Software - introduccion
Metricas del proyecto de Software - introduccionMetricas del proyecto de Software - introduccion
Metricas del proyecto de Software - introduccion
Jose Diaz Silva
 
Análisis estructurado
Análisis estructuradoAnálisis estructurado
Análisis estructurado
MSc Aldo Valdez Alvarado
 
Programación Extrema (XP)
Programación Extrema (XP)Programación Extrema (XP)
Programación Extrema (XP)
Lucas Passalacqua
 
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
Miguel Rodríguez
 
MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)
Yadith Miranda Silva
 
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
Cesar Prado
 
Herramientas para llevar a cabo un Sistema de Información
Herramientas para llevar a cabo un Sistema de InformaciónHerramientas para llevar a cabo un Sistema de Información
Herramientas para llevar a cabo un Sistema de Información
jgbd127
 
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
 
Unidad 4: INTEROPERABILIDAD ENTRE SISTEMAS OPERATIVOS
Unidad 4:  INTEROPERABILIDAD ENTRE SISTEMAS OPERATIVOSUnidad 4:  INTEROPERABILIDAD ENTRE SISTEMAS OPERATIVOS
Unidad 4: INTEROPERABILIDAD ENTRE SISTEMAS OPERATIVOS
Yessica Hyuga Soto
 
25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software
Camila Arbelaez
 
2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de uso2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de uso
Saul Mamani
 
Fases del rup
Fases del rupFases del rup
Fases del rup
MaraJosQuilcaguanoTo
 
Metricas tecnicas del software
Metricas tecnicas del softwareMetricas tecnicas del software
Metricas tecnicas del software
Gabriel Romero Pastrana
 
Modelos de proceso evolutivo
Modelos de proceso evolutivoModelos de proceso evolutivo
Modelos de proceso evolutivo
Uriel Ramos
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xp
CrisCobol
 
Estrategias prueba de software
Estrategias prueba de softwareEstrategias prueba de software
Estrategias prueba de software
Centro Líbano
 
Extreme Programming (XP).pptx
Extreme Programming (XP).pptxExtreme Programming (XP).pptx
Extreme Programming (XP).pptx
LisethGiraldoMorales
 
Patrones de diseño I
Patrones de diseño IPatrones de diseño I
Patrones de diseño I
kaolong
 
54714841 ejemplo-propuesta-de-desarrollo-de-software
54714841 ejemplo-propuesta-de-desarrollo-de-software54714841 ejemplo-propuesta-de-desarrollo-de-software
54714841 ejemplo-propuesta-de-desarrollo-de-software
cristina_devargas
 
Ieee 830
Ieee 830Ieee 830
Ieee 830
ALEX MERINO
 

La actualidad más candente (20)

Metricas del proyecto de Software - introduccion
Metricas del proyecto de Software - introduccionMetricas del proyecto de Software - introduccion
Metricas del proyecto de Software - introduccion
 
Análisis estructurado
Análisis estructuradoAnálisis estructurado
Análisis estructurado
 
Programación Extrema (XP)
Programación Extrema (XP)Programación Extrema (XP)
Programación Extrema (XP)
 
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
 
MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA 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
 
Herramientas para llevar a cabo un Sistema de Información
Herramientas para llevar a cabo un Sistema de InformaciónHerramientas para llevar a cabo un Sistema de Información
Herramientas para llevar a cabo un Sistema de Información
 
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
 
Unidad 4: INTEROPERABILIDAD ENTRE SISTEMAS OPERATIVOS
Unidad 4:  INTEROPERABILIDAD ENTRE SISTEMAS OPERATIVOSUnidad 4:  INTEROPERABILIDAD ENTRE SISTEMAS OPERATIVOS
Unidad 4: INTEROPERABILIDAD ENTRE SISTEMAS OPERATIVOS
 
25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software
 
2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de uso2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de uso
 
Fases del rup
Fases del rupFases del rup
Fases del rup
 
Metricas tecnicas del software
Metricas tecnicas del softwareMetricas tecnicas del software
Metricas tecnicas del software
 
Modelos de proceso evolutivo
Modelos de proceso evolutivoModelos de proceso evolutivo
Modelos de proceso evolutivo
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xp
 
Estrategias prueba de software
Estrategias prueba de softwareEstrategias prueba de software
Estrategias prueba de software
 
Extreme Programming (XP).pptx
Extreme Programming (XP).pptxExtreme Programming (XP).pptx
Extreme Programming (XP).pptx
 
Patrones de diseño I
Patrones de diseño IPatrones de diseño I
Patrones de diseño I
 
54714841 ejemplo-propuesta-de-desarrollo-de-software
54714841 ejemplo-propuesta-de-desarrollo-de-software54714841 ejemplo-propuesta-de-desarrollo-de-software
54714841 ejemplo-propuesta-de-desarrollo-de-software
 
Ieee 830
Ieee 830Ieee 830
Ieee 830
 

Destacado

Metodologias De Desarrollo De Software
Metodologias De Desarrollo De SoftwareMetodologias De Desarrollo De Software
Metodologias De Desarrollo De Software
guesta1695670
 
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
Julio 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 SOFTWARE
BiingeSof
 
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 software
Victor 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 software
ElvisAR
 
Metodologias de desarrollo
Metodologias de desarrolloMetodologias de desarrollo
Metodologias de desarrollo
Hermes Romero
 
Definicion de usuarios
Definicion de usuariosDefinicion de usuarios
Definicion de usuarios
samazu2012
 

Destacado (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
 

Similar a 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 oficial
Harry 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 usar
Kiberley Santos
 
Programacion Extrema
Programacion ExtremaProgramacion Extrema
Programacion Extrema
Edgar Espinoza Silverio
 
Modelo xp para desarrollo de proyecto
Modelo xp para desarrollo de proyectoModelo xp para desarrollo de proyecto
Modelo xp para desarrollo de proyecto
Johita Guerrero
 
SEMANA 11.pptx
SEMANA 11.pptxSEMANA 11.pptx
SEMANA 11.pptx
J Martin Luzon
 
Metodos agiles 4
Metodos agiles 4Metodos agiles 4
Metodos agiles 4
Diego Hernández Maya
 
Monografia Metodologia Agil XP
Monografia Metodologia Agil XPMonografia Metodologia Agil XP
Monografia Metodologia Agil XP
Jorw Yengle
 
Rup vs. xp
Rup vs. xpRup vs. xp
Rup vs. xp
ljds
 
Rup vs. xp
Rup vs. xpRup vs. xp
Rup vs. xp
pedro_pablo20132
 
Rup vs. xp
Rup vs. xpRup vs. xp
Rup vs. xp
jhon
 
Comparación de dos Metodologias
Comparación de dos MetodologiasComparación de dos Metodologias
Comparación de dos Metodologias
zonajava
 
Programación extrema [XP]
Programación extrema [XP]Programación extrema [XP]
Programación extrema [XP]
Agustín
 
Ha2 nv50 rodriguez montiel moises-xp
Ha2 nv50 rodriguez montiel moises-xpHa2 nv50 rodriguez montiel moises-xp
Ha2 nv50 rodriguez montiel moises-xp
Moisés Ulises Rodríguez Montiel
 
Xp Metodologia
Xp MetodologiaXp Metodologia
Xp Metodologia
FabianEduardoBorjaAr
 
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
Rafael 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 extrema
MiguelGonzalezLo
 
Metodologiaxp
MetodologiaxpMetodologiaxp
Metodologiaxp
dorysvalero
 
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
José Antonio Sandoval Acosta
 
xp
xpxp

Similar a 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
 
xp
xpxp
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