Introducción a Extreme Programming · PDF file1 Introducción a Extreme...

download Introducción a Extreme Programming · PDF file1 Introducción a Extreme Programming Gerardo Fernández Escribano 9-12-2002 Ingeniería del Software II Índice a1. ¿Qué es eXtreme

If you can't read please download the document

Transcript of Introducción a Extreme Programming · PDF file1 Introducción a Extreme...

  • 1

    Introduccin a Extreme Programming

    Gerardo Fernndez Escribano9-12-2002

    Ingeniera del Software II

    ndice

    1. Qu es eXtreme Programming (XP)?2. Introduccin a la metodologa XP3. Fases de la metodologa XP4. Introduccin a la Prueba Unitaria del software5. Conclusiones

  • 2

    1. Qu es eXtreme Programming?

    Problema de la Entrega

    Problema de la Integracin

    1. Qu es eXtreme Programming?

    En qu consiste XP?

    La Programacin Extrema es una metodologa ligera de desarrollo de software que se basa en la simplicidad, la comunicacin y la realimentacin o reutilizacin del cdigo desarrollado.

    Origen de la metodologa XP

    Desarrollada por Kent Beck.

    Todo en el software cambia. Los requisitos cambian. El diseo cambia. El negocio cambia. La tecnologa cambia. El equipo cambia. Los miembros del equipo cambian. El problema no es el cambio en s mismo, puesto que sabemos que el cambio va a suceder; el problema es la incapacidad de adaptarnos a dicho cambio cuando ste tiene lugar. Kent Beck.

  • 3

    2. Introduccin a la metodologa XP

    Las cuatro variables

    Coste: Mquinas, especialistas y oficinasTiempo: Total y de EntregasCalidad: Externa e InternaAlcance: Intervencin del cliente

    2. Introduccin a la metodologa XP

    El coste del cambio

    Requisitos Anlisis Diseo Implementacin Pruebas Produccin

  • 4

    2. Introduccin a la metodologa XP

    Uso de la metodologa XP

    XP surgo como respuesta y posible solucina los problemas derivados del cambio en losrequerimientosXP se plantea como una metodologa a emplear en proyectos de riesgoXP aumenta la productividad

    2. Introduccin a la metodologa XP

    Trabajando con Extreme Programming

    Iteracin Pruebas de aceptacin

    Historias de usuarios

    Plan de entregas

    Aprobacindel cliente Pequeas

    entregas

    Siguiente iteracin

    Depuracin de erroresNuevas historias de usuariosVelocidad del proyecto

    ArchitecturalSpike

    Spike

    Skike = Pequeo programa que explora posibles soluciones potenciales

    Planes deiteracin ltima versin

    Requerimientos

    Metforadel sistema

    Escenarios de test

    Estimacionesdudosas

    Estimacionesseguras

  • 5

    3. Fases del la Metodologa XP

    Trabajando con Extreme Programming

    6. Reuniones

    5. Rotaciones

    4. Iteraciones

    3. Velocidad de Proyecto

    2. Plan de Entregas

    1. Historias de Usuario

    I. Planificacin

    5. Reciclaje

    4. Funcionalida mnima

    3. Soluciones Puntuales

    2. Tarjetas CRC

    1. Metfora del Sistema

    II. Diseo

    4. Integracin

    3. Programacin por parejas

    2. Unidad de Pruebas

    1. Disponibilidad del cliente

    III. Desarrollo

    2. Pruebas de Aceptacin

    1. Implantacin

    IV. Pruebas

    Extreme Programming

    3. Fases de la Metodologa XP

  • 6

    3. Fases de la Metodologa XP (planificacin)

    Historias de usuario

    Las historias de usuario tienen el mismo propsito que los casos de uso.Las escriben los propios clientes, tal y como ven ellos las necesidades del sistema.Las historias de usuario son similares al empleo de escenarios, con la excepcin de que no se limitan a la descripcin de la interfaz de usuario. Tambin conducirn el proceso de creacin de los test de aceptacin(empleados para verificar que las historias de usuario han sidoimplementadas correctamente).Existen diferencias entre estas y la tradicional especificacin de requisitos. La principal diferencia es el nivel de detalle. Las historias de usuario solamente proporcionaran los detalles sobre la estimacin del riesgo y cunto tiempo conllevar la implementacin de dicha historia de usuario.

    3. Fases de la Metodologa XP (planificacin)

  • 7

    3. Fases de la Metodologa XP (planificacin)

    Escribir una Historia(cliente)

    Estimar la Historia(programador)

    Spike(programador)

    Dividir una Historia(cliente)

    "No s cmo""Demasiado compleja"

    Anlisis

    Planificacin

    Clasificar las historias

    Determinar el alcance(cliente)

    Fijar la velocidad(tracker)

    en funcin del riesgo(cliente y programador)

    3. Fases de la Metodologa XP (planificacin)

    Leer las

    Historias

    Detallar las

    Tareas

    Tareas sin

    asignarSeleccionar y

    estimar las Tareas

    "Estoy demasiado ocupado""Es demasiado grande"

    Programador 1 Programador 2 Programador 3 Programador 4

    Tormenta de ideas

    Reparto de Tareas

    Un plan de iteracin puede verse como:

  • 8

    3. Fases de la Metodologa XP (planificacin)

    Iteraciones y planes de iteracin

    3. Fases de la Metodologa XP (planificacin)

    RotacionesLa rotaciones evitarn que las personas se conviertan en si mismas en un cuello de botella. Las rotaciones permitirn que todo el mundoconozca cmo funciona el sistema.

    ReunionesReuniones de seguimiento diarias

    CorreccionesDeberemos 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 mdulo que se desarrolle.

  • 9

    3. Fases de la Metodologa XP (diseo)

    Simplicidad

    La simplicidad es la llave

    Elegir una metfora para el sistema

    La tarea de elegir una metfora para el sistema nos permitir mantenerla coherencia de nombres de todo aquello que se va a implementar.

    Tarjetas CRC

    3. Fases de la Metodologa XP (diseo)

    Spike

    Un programa Spike, es un programa muy simple que explora una posiblesolucin al problema

    Limitando la funcionalidad

    Las mejoras al final

    Reciclaje

    El reciclaje implicar mantener el cdigo limpio y fcil de comprender, modificar y ampliar

  • 10

    3. Fases de la Metodologa XP (desarrollo)

    Disponibilidad del usuarioEstndares de implementacinUnidades de prueba o testProgramacin parejasIntegracin del cdigoFrecuencia en la integracin del cdigoEl cdigo es propiedad de todosDejar la optimizaciones para el finalNo a las horas extras

    3. Fases de la Metodologa XP (desarrollo)

    El ciclo de XP

    anlisis

    test

    codificacin

    diseo

  • 11

    3. Fases de la Metodologa XP (desarrollo)

    3. Fases de la Metodologa XP (pruebas)

    Unidades de test o pruebas: Pilar bsico

    Implantacin:El cdigo ser implantado cuando supere sus correspondientes unidades de test

    Proteccin contra fallos: Solucin, un test

    Pruebas de aceptacin: Evaluacin del cliente

  • 12

    3. Fases de la Metodologa XP (pruebas)

    Un da de trabajo con XP

    4. Introduccin a la Prueba Unitaria del software

  • 13

    5. Conclusiones

    Un buen diseo establece una forma directa y planificada de construir unaaplicacin,el diseo es la actividad predominante en XP (diseo diario).XP, y otras metodologas livianas parten de una serie de suposiciones bastantedifciles de encontrar en el mercado del desarrollo del software actual:1. Las personas son claves en los procesos de desarrollo de software.2. Los programadores son profesionales responsables, no requieren de supervisin.3. Los procesos se aceptan y acuerdan, no se imponen.4. Desarrolladores y gerentes comparten el liderazgo del proyecto.5. El trabajo de los desarrolladores con las personas que tienen la experiencia en el

    negocio es regular, no eventual.

    Conviene recordar que ninguna metodologa har el trabajo por ti, porque ninguna metodologa trabaja sola.

    6. Trabajando con XP

  • 14

    6. Trabajando con XP

    6. Trabajando con XP