Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programación Extrema (XP)
Programación Extrema (XP)
ndice
1. 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 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.
2. Introduccin a la metodologa XP
2. Introduccin a la metodologa XP
El coste del cambio
2. Introduccin a la metodologa XP
Uso de la metodologa XP
XP 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
Architectural Spike
Plan de entregas
Iteracin
ltima versin
Aprobacin
Pequeas entregas
Estimaciones dudosas
Spike
Siguiente iteracin
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
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 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.
"No s cmo"
Dividir una Historia (cliente) Anlisis Planificacin Clasificar las historias en funcin del riesgo (cliente y programador)
Spike (programador)
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
Rotaciones
La 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.
Reuniones
Reuniones de seguimiento diarias
Correcciones
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 mdulo que se desarrolle.
Simplicidad
La simplicidad es la llave
Tarjetas CRC
Limitando la funcionalidad
Las mejoras al final
Reciclaje
El reciclaje implicar mantener el cdigo limpio y fcil de comprender, modificar y ampliar
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
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
Un da de trabajo con XP
5. Conclusiones
Un 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