Metodología XP




           Integrantes:
           Jailimer Montañez
           Álvaro Rivas
HISTORIA
La Programación Extrema, como proceso de
creación de software diferente al
convencional, nace de la mano de kent beck
(autor de los libros más influyentes sobre el
tema).
Chrysler Corporation hacía tiempo que
estaba desarrollando una aplicación de
nóminas, pero sin demasiado éxito por parte
de la gente que tenía en el proyecto. El
verano de 1996, Beck entró en nómina en la
compañía y se le pidió de hacer esta
aplicación como trabajo. Es en esta
aplicación cuando nace la Programación        Kent Beck Ingeniero del software
Extrema como tal
PROGRAMACION EXTREMA




¿Qué es la metodología XP?
Fases
   Planificación: Es la primera actividad en el proceso de
    desarrollo. Comienza creando una serie de historias de
    usuarios (similares a los casos de uso) que describen la
    funcionalidad del software que se va a construir.
   Diseño: El diseño en la programación extrema sigue el
    principio de hacerlo todo simple .El diseño se va modificando
    a lo largo de todo el proceso de desarrollo.
   Codificación: se recomienda que después de diseñar las
    historias el equipo no debe comenzar la codificación sino que
    debe desarrollar una serie de pruebas de unidad que les
    ayuden a centrarse en lo que debe implementase para pasar
    esa prueba.
   Pruebas: Las pruebas de unidad creadas deber ser
    automatizadas para que puedan ejecutarse de manera fácil y
    rápida.
Las características fundamentales del
método son:
   -Desarrollo iterativo e incremental: pequeñas mejoras, unas tras
    otras.
   -Pruebas unitarias continuas, frecuentemente repetidas y
    automatizadas, incluyendo pruebas de regresión
   -Programación en parejas: se recomienda que las tareas de
    desarrollo se lleven a cabo por dos personas en un mismo puesto.
   -Frecuente interacción del equipo de programación con el cliente o
    usuario.
   Corrección de todos los errores antes de añadir nueva
    funcionalidad. Hacer entregas frecuentes.
   -Propiedad del código compartida: en vez de dividir la
    responsabilidad en el desarrollo de cada módulo en grupos de
    trabajo distintos, este método promueve el que todo el personal
    pueda corregir y extender cualquier parte del proyecto.
   Simplicidad en el código: La programación extrema apuesta que en
    más sencillo hacer algo simple y tener un poco de trabajo extra para
    cambiarlo si se requiere, que realizar algo complicado y quizás
    nunca utilizarlo.
Valores de XP
   Comunicación: Crear software requiere de
    sistemas comunicados.
   Simplicidad: Empezar con lo necesario y
    requerido y trabajar desde ahí.
   Retroalimentación: Del sistema, del cliente, y del
    equipo.
   Valentía: Programa para hoy y no para mañana.
   Respeto: El equipo debe trabajar como uno, sin
    hacer decisiones repentinas.
Actividades

 Codificación: La parte mas importante de XP.
 Pruebas: Nunca se puede estar seguro de algo
  hasta haberlo probado.
 Escuchar: Escuchar los requisitos del cliente
  acerca del sistema a crear.
 Diseño: Crear una estructura del diseño para
  evitar problemas.
Roles de XP

Cliente:
Escribe “Historias de Usuario” y especifica Pruebas
Funcionales.
Establece prioridades, explica las Historias
Puede ser o no un usuario final
Tiene autoridad para decidir cuestiones relativas a las
Historias.
Programador:
Hace estimaciones sobre las Historias
Define Tareas a partir de las Historias y hace estimaciones
Implementa las Historias y las Pruebas Unitarias
Encargado de pruebas (Tester):
Ayuda al cliente a escribir las pruebas funcionales. Ejecuta
las pruebas regularmente, difunde los resultados en el equipo
y es responsable de las herramientas de soporte para
pruebas.
Encargado de seguimiento(Tracker):
Verifica las estimaciones realizadas, evalúa el progreso de cada
iteración y así como la factibilidad de los objetivos con las restricciones
de tiempo y recursos presentes. Mantiene contacto directo con el
equipo de desarrollo, realizando cambios para lograr los objetivos de
cada iteración.
Entrenador(coach):
   Es responsable del proceso global. Experto en XP, provee de las
guías a los miembros del equipo para que se apliquen las prácticas
XP y se siga el proceso correctamente. Determina la tecnología y
metodologías a usar por el equipo de desarrollo.
    Gestor (big boss):
Es el dueño del equipo y sus problemas. Experto en tecnología y
labores de gestión. Construye el plantel del equipo, obtiene los
recursos necesarios y maneja los problemas que se generan.
Administra a su vez las reuniones (planes de iteración, agenda de
compromisos, etc.).
No le dice al grupo lo que tiene que hacer, cuando hacerlo, ni verifica
el avance de las tareas.
Ciclo de vida de XP
•   Exploración: En esta fase, los clientes plantean a grandes
    rasgos las historias de usuario que son de interés para la
    primera entrega del producto.
   Planificación de la Entrega (Release):Se priorizan las
    historias de usuario
   Iteraciones.
   Producción: Requiere prueba y comprobación extra del
    funcionamiento del sistema antes de que éste se pueda
    liberar al cliente.
   Mantenimiento: Requiere de un mayor esfuerzo para
    satisfacer también las tareas del cliente.
Ciclo de vida de XP
ARTEFACTOS XP
Tarjetas CRC (Clase - Responsabilidad – Colaborador).
 Estas tarjetas se dividen en tres secciones que contienen la
  información del nombre de la clase, sus responsabilidades y
  sus colaboradores. En la siguiente figura se muestra cómo se
  distribuye esta información.
Caso de Prueba de Aceptación


Código:               Historia de Usuario (Nro. y Nombre):

Nombre:

Descripción:


Condiciones de Ejecución:

Entrada / Pasos de ejecución:


Resultado Esperado:


Evaluación de la Prueba:
Task card
 Tarea de Ingeniería

 Número Tarea:                     Historia de Usuario (Nro. y Nombre):

 Nombre Tarea:

 Tipo de Tarea :
                                                               Puntos Estimados:
 Desarrollo / Corrección / Mejora / Otra (especificar)

 Fecha Inicio:                                                 Fecha Fin:

 Programador Responsable:



 Descripción:
Ventajas y desventajas
Ventajas:
 Programación organizada.
 Menor taza de errores.
 Satisfacción del programador.
 Desventajas:
 Es recomendable emplearlo solo en
  proyectos a corto plazo.
 Altas comisiones en caso de fallar.
Diapositivas xp

Diapositivas xp

  • 1.
    Metodología XP Integrantes: Jailimer Montañez Álvaro Rivas
  • 2.
    HISTORIA La Programación Extrema,como proceso de creación de software diferente al convencional, nace de la mano de kent beck (autor de los libros más influyentes sobre el tema). Chrysler Corporation hacía tiempo que estaba desarrollando una aplicación de nóminas, pero sin demasiado éxito por parte de la gente que tenía en el proyecto. El verano de 1996, Beck entró en nómina en la compañía y se le pidió de hacer esta aplicación como trabajo. Es en esta aplicación cuando nace la Programación Kent Beck Ingeniero del software Extrema como tal
  • 3.
    PROGRAMACION EXTREMA ¿Qué esla metodología XP?
  • 5.
    Fases  Planificación: Es la primera actividad en el proceso de desarrollo. Comienza creando una serie de historias de usuarios (similares a los casos de uso) que describen la funcionalidad del software que se va a construir.  Diseño: El diseño en la programación extrema sigue el principio de hacerlo todo simple .El diseño se va modificando a lo largo de todo el proceso de desarrollo.  Codificación: se recomienda que después de diseñar las historias el equipo no debe comenzar la codificación sino que debe desarrollar una serie de pruebas de unidad que les ayuden a centrarse en lo que debe implementase para pasar esa prueba.  Pruebas: Las pruebas de unidad creadas deber ser automatizadas para que puedan ejecutarse de manera fácil y rápida.
  • 6.
    Las características fundamentalesdel método son:  -Desarrollo iterativo e incremental: pequeñas mejoras, unas tras otras.  -Pruebas unitarias continuas, frecuentemente repetidas y automatizadas, incluyendo pruebas de regresión  -Programación en parejas: se recomienda que las tareas de desarrollo se lleven a cabo por dos personas en un mismo puesto.  -Frecuente interacción del equipo de programación con el cliente o usuario.  Corrección de todos los errores antes de añadir nueva funcionalidad. Hacer entregas frecuentes.  -Propiedad del código compartida: en vez de dividir la responsabilidad en el desarrollo de cada módulo en grupos de trabajo distintos, este método promueve el que todo el personal pueda corregir y extender cualquier parte del proyecto.  Simplicidad en el código: La programación extrema apuesta que en más sencillo hacer algo simple y tener un poco de trabajo extra para cambiarlo si se requiere, que realizar algo complicado y quizás nunca utilizarlo.
  • 7.
    Valores de XP  Comunicación: Crear software requiere de sistemas comunicados.  Simplicidad: Empezar con lo necesario y requerido y trabajar desde ahí.  Retroalimentación: Del sistema, del cliente, y del equipo.  Valentía: Programa para hoy y no para mañana.  Respeto: El equipo debe trabajar como uno, sin hacer decisiones repentinas.
  • 8.
    Actividades  Codificación: Laparte mas importante de XP.  Pruebas: Nunca se puede estar seguro de algo hasta haberlo probado.  Escuchar: Escuchar los requisitos del cliente acerca del sistema a crear.  Diseño: Crear una estructura del diseño para evitar problemas.
  • 9.
    Roles de XP Cliente: Escribe“Historias de Usuario” y especifica Pruebas Funcionales. Establece prioridades, explica las Historias Puede ser o no un usuario final Tiene autoridad para decidir cuestiones relativas a las Historias. Programador: Hace estimaciones sobre las Historias Define Tareas a partir de las Historias y hace estimaciones Implementa las Historias y las Pruebas Unitarias Encargado de pruebas (Tester): Ayuda al cliente a escribir las pruebas funcionales. Ejecuta las pruebas regularmente, difunde los resultados en el equipo y es responsable de las herramientas de soporte para pruebas.
  • 10.
    Encargado de seguimiento(Tracker): Verificalas estimaciones realizadas, evalúa el progreso de cada iteración y así como la factibilidad de los objetivos con las restricciones de tiempo y recursos presentes. Mantiene contacto directo con el equipo de desarrollo, realizando cambios para lograr los objetivos de cada iteración. Entrenador(coach): Es responsable del proceso global. Experto en XP, provee de las guías a los miembros del equipo para que se apliquen las prácticas XP y se siga el proceso correctamente. Determina la tecnología y metodologías a usar por el equipo de desarrollo. Gestor (big boss): Es el dueño del equipo y sus problemas. Experto en tecnología y labores de gestión. Construye el plantel del equipo, obtiene los recursos necesarios y maneja los problemas que se generan. Administra a su vez las reuniones (planes de iteración, agenda de compromisos, etc.). No le dice al grupo lo que tiene que hacer, cuando hacerlo, ni verifica el avance de las tareas.
  • 11.
    Ciclo de vidade XP • Exploración: En esta fase, los clientes plantean a grandes rasgos las historias de usuario que son de interés para la primera entrega del producto.  Planificación de la Entrega (Release):Se priorizan las historias de usuario  Iteraciones.  Producción: Requiere prueba y comprobación extra del funcionamiento del sistema antes de que éste se pueda liberar al cliente.  Mantenimiento: Requiere de un mayor esfuerzo para satisfacer también las tareas del cliente.
  • 12.
  • 13.
  • 14.
    Tarjetas CRC (Clase- Responsabilidad – Colaborador).  Estas tarjetas se dividen en tres secciones que contienen la información del nombre de la clase, sus responsabilidades y sus colaboradores. En la siguiente figura se muestra cómo se distribuye esta información.
  • 15.
    Caso de Pruebade Aceptación Código: Historia de Usuario (Nro. y Nombre): Nombre: Descripción: Condiciones de Ejecución: Entrada / Pasos de ejecución: Resultado Esperado: Evaluación de la Prueba:
  • 16.
    Task card Tareade Ingeniería Número Tarea: Historia de Usuario (Nro. y Nombre): Nombre Tarea: Tipo de Tarea : Puntos Estimados: Desarrollo / Corrección / Mejora / Otra (especificar) Fecha Inicio: Fecha Fin: Programador Responsable: Descripción:
  • 17.
    Ventajas y desventajas Ventajas: Programación organizada.  Menor taza de errores.  Satisfacción del programador.  Desventajas:  Es recomendable emplearlo solo en proyectos a corto plazo.  Altas comisiones en caso de fallar.