program ad or extremo presentacion-xp

Upload: jonathanheber

Post on 09-Jul-2015

45 views

Category:

Documents


0 download

TRANSCRIPT

Introduccin a Extreme Programming

Ingeniera del Software II

Gerardo Fernndez Escribano 9-12-2002

ndice1. 2. 3. 4. 5. Qu es eXtreme Programming (XP)? Introduccin a la metodologa XP Fases de la metodologa XP Introduccin a la Prueba Unitaria del software Conclusiones

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 XPDesarrollada 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.

2. Introduccin a la metodologa XP

Las cuatro variablesCoste: Mquinas, especialistas y oficinas Tiempo: Total y de Entregas Calidad: Externa e Interna Alcance: Intervencin del cliente

2. Introduccin a la metodologa XPEl coste del cambio

Requisitos Anlisis Diseo Implementacin Pruebas Produccin

2. Introduccin a la metodologa XP

Uso de la metodologa XPXP surgo como respuesta y posible solucin a los problemas derivados del cambio en los requerimientos XP se plantea como una metodologa a emplear en proyectos de riesgo XP aumenta la productividad

2. Introduccin a la metodologa XP

Trabajando con Extreme ProgrammingHistorias de usuariosRequerimientos Metfora del sistema Escenarios de test Nuevas historias de usuarios Velocidad del proyecto Planes de iteracin Estimaciones seguras Depuracin de errores

Architectural Spike

Plan de entregas

Iteracin

ltima versin

Pruebas de del cliente aceptacin

Aprobacin

Pequeas entregas

Estimaciones dudosas

Spike

Siguiente iteracin

Skike = Pequeo programa que explora posibles soluciones potenciales

3. Fases del la Metodologa XPTrabajando con Extreme Programming

Extreme Programming I. Planificacin 1. Historias de Usuario 2. Plan de Entregas 3. Velocidad de Proyecto 4. Iteraciones 5. Rotaciones 6. Reuniones II. Diseo 1. Metfora del Sistema 2. Tarjetas CRC 3. Soluciones Puntuales 4. Funcionalida mnima 5. Reciclaje III. Desarrollo 1. Disponibilidad del cliente 2. Unidad de Pruebas 3. Programacin por parejas 4. Integracin IV. Pruebas 1. Implantacin 2. Pruebas de Aceptacin

3. Fases de la Metodologa XP

3. Fases de la Metodologa XP (planificacin)

Historias de usuarioLas 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 sido implementadas 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)

3. Fases de la Metodologa XP (planificacin)Escribir una Historia (cliente)

"Demasiado compleja" Estimar la Historia (programador)

"No s cmo"

Dividir una Historia (cliente) Anlisis Planificacin Clasificar las historias en funcin del riesgo (cliente y programador)

Spike (programador)

Fijar la velocidad (tracker)

Determinar el alcance (cliente)

3. Fases de la Metodologa XP (planificacin)Un plan de iteracin puede verse como:Leer las Historias Detallar las Tareas

Tormenta de ideas Reparto de Tareas Tareas sin asignar Seleccionar y estimar las Tareas "Estoy demasiado ocupado" "Es demasiado grande"

Programador 1

Programador 2

Programador 3

Programador 4

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 mundo conozca 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.

3. Fases de la Metodologa XP (diseo)

SimplicidadLa simplicidad es la llave

Elegir una metfora para el sistemaLa tarea de elegir una metfora para el sistema nos permitir mantener la coherencia de nombres de todo aquello que se va a implementar.

Tarjetas CRC

3. Fases de la Metodologa XP (diseo)SpikeUn programa Spike, es un programa muy simple que explora una posible solucin al problema

Limitando la funcionalidadLas mejoras al final

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

3. Fases de la Metodologa XP (desarrollo)

Disponibilidad del usuario Estndares de implementacin Unidades de prueba o test Programacin parejas Integracin del cdigo Frecuencia en la integracin del cdigo El cdigo es propiedad de todos Dejar la optimizaciones para el final No a las horas extras

3. Fases de la Metodologa XP (desarrollo)

El ciclo de XP anlisis test codificacin diseo

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

3. Fases de la Metodologa XP (pruebas)

Un da de trabajo con XP

4. Introduccin a la Prueba Unitaria del software

5. ConclusionesUn buen diseo establece una forma directa y planificada de construir una aplicacin,el diseo es la actividad predominante en XP (diseo diario). XP, y otras metodologas livianas parten de una serie de suposiciones bastante difciles 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

6. Trabajando con XP

6. Trabajando con XP