descargas - Extreme Programming

Download Report

Transcript descargas - Extreme Programming

Nombre: Villafuerte Robles, Víctor Eduardo
Curso: Tópicos en la seguridad informática II
Tema: “Extreme Programming”
Ciclo: X
Extreme Programming
1
Extreme Programming
2
Kent Beck es uno de los creadores de
la metodología ágil para el desarrollo
de software conocida como
programación extrema.
Libros:
•Smalltalk Best Practice Patterns
•Una explicación de la programación
extrema: aceptar el cambio
•Test-Driven Development: By
Example
•Planning Extreme Programming ,
con Martin Fowler
Extreme Programming
3
Extreme Programming
Definición:
•Procesos agiles de desarrollo de software.
•Mas énfasis en la adaptabilidad que a la previsibilidad.
•Adopción de las mejores metodologías de desarrollo de acuerdo a lo
que se pretende llevar a cabo con el proyecto, y aplicarlo de manera
dinámica durante el ciclo de vida del software.
Extreme Programming
4
Características fundamentales
•Desarrollo iterativo e incremental.
•Pruebas unitarias continuas.
•Programación en pareja.
•Integración del equipo de programación con el usuario.
•Corrección de todos los errores.
•Refactorización del código.
•Propiedad del código compartida.
•Simplicidad.
Extreme Programming
5
Características Fundamentales
Extreme Programming
6
Principios del XP
1.- Simplicidad.•Base de la programación extrema.
•Agiliza el desarrollo y facilitar el mantenimiento.
•Refactorización del código, ésta es la manera de mantener el código
simple a medida que crece.
•Documentación del código.
•Los nombres de las variables, métodos y clases.
•Aplicando la simplicidad junto con la autoría colectiva del código y la
programación por parejas.
Extreme Programming
7
Principios del XP
2.- Comunicación.•El código comunica mejor cuanto más simple sea.
•Si el código es complejo hay que esforzarse para hacerlo inteligible.
•El código autodocumentado es más fiable que los comentarios.
•Las pruebas unitarias.
•Programación por parejas.
•La comunicación con el cliente.
Extreme Programming
8
Principios del XP
3.- Retroalimentación (feedback).•Opinión del cliente en tiempo real.
•Ciclos muy cortos tras los cuales se muestran resultados.
•El código también es una fuente de retroalimentación gracias a las
herramientas de desarrollo.
Extreme Programming
9
Principios del XP
4.- Coraje o valentía.•Hay que ser valiente para confiar en que la programación por
parejas beneficia la calidad del código sin repercutir negativamente
en la productividad.
•Se requiere coraje para implementar las características que el
cliente quiere ahora sin caer en la tentación de optar por un
enfoque más flexible que permita futuras modificaciones.
Extreme Programming
10
Principios del XP
5.- Respeto.•Los miembros del equipo se respetan los unos a otros.
•Los miembros se respetan su trabajo porque siempre están luchando
por la alta calidad en el producto y buscando el diseño óptimo o más
eficiente para la solución a través de la refactorización del código.
Extreme Programming
11
Roles XP
Programador (Programmer)
En Xp, los programadores diseñan, programan y realizan las pruebas.
Cliente (Customer)
Determina qué construir y cuándo.
Entrenador (Coach)
El líder del equipo - toma las decisiones importantes.
Rastreador (Tracker)
Observa sin molestar.
Conserva datos históricos.
Probador (Tester)
Ayuda al cliente con las pruebas funcionales.
Extreme Programming
12
Proceso XP
Extreme Programming
13
Ciclo de vida del XP
Extreme Programming
14
Actividades del XP
1.- Codificar
2.- Hacer pruebas
3.- Escuchar
4.- Diseñar
Resumiendo las actividades de Xp: Tenemos que codificar porque sin
código no hay programas, tenemos que hacer pruebas por que sin
pruebas no sabemos si hemos acabado de codificar, tenemos que
escuchar, porque si no escuchamos no sabemos que codificar ni
probar, y tenemos que diseñar para poder codificar, probar y escuchar
indefinidamente.
Extreme Programming
15
Practicas básicas del XP
1.- Planificación.-
•Juego de planificacion.
•Versiones pequeñas.
•Historias.
Extreme Programming
16
Practicas básicas del XP
2.- Diseño.-
•Diseño simple.
•Refactorización.
•Metáfora del sistema.
Extreme Programming
17
Practicas básicas del XP
3.- Codificación.-
•Programación por parejas.
•Integración continua.
•Cliente en el sitio.
Extreme Programming
18
Practicas básicas del XP
4.- Pruebas.-
•Primera prueba.
•Prueba de aceptación.
•Automatización.
Extreme Programming
19
Practicas básicas del XP
5.- Equipo.-
•Área de trabajo informativo.
•Propiedad colectiva.
•Estándares de codificación.
•Ritmo sostenible.
Extreme Programming
20
Practicas básicas del XP
Las practicas se refuerzan entre si
Extreme Programming
21
Artefactos XP
1.- Historia del Usuario
Historia de Usuario
Número:
Nombre Historia de Usuario:
Modificación (o extensión) de Historia de Usuario (Nro. y Nombre):
Usuario:
Iteración Asignada:
Prioridad en Negocio:
Puntos Estimados:
(Alta / Media / Baja)
Riesgo en Desarrollo:
(Alto / Medio / Bajo)
Puntos Reales:
Descripción:
Observaciones:
Extreme Programming
22
Artefactos XP
2.- Tareas de Ingeniería.-
Tarea de Ingeniería
Número Tarea:
Historia de Usuario (Nro. y Nombre):
Nombre Tarea:
Tipo de Tarea :
Desarrollo / Corrección /
Mejora / Otra (especificar)
Puntos Estimados:
Fecha Inicio:
Fecha Fin:
Programador Responsable:
Descripción:
Extreme Programming
23
Artefactos XP
3.- Tarjetas CRC (Clase - Responsabilidad – Colaborador) .-
Extreme Programming
24
Programación extrema (Pipeline)
Variación de la programación extrema clásica que consigue
cuadriplicar la eficacia de la misma
Principios (Pipeline)
•La programación extrema en pipeline se basa en la arquitectura
Harvard de los procesadores.
Eficiencia como:
e=x+(n*nc-1)
Donde:
•x es el tiempo de cada ciclo
•n el numero de escritorios remotos o participantes
•nc es el numero de iteraciones del proyecto.
Extreme Programming
25