1 Martin Alfonso Nieto Prada Ing. De Sistemas Ingeniería de software III Corporación Universitaria autónoma del cauca Agosto de 2012 Compendio de Programación Extrema (http://www.extremeprogramming.org)http://www.extremeprogramming.org
2
3
4
5
6 La refactorización (del inglés refactoring) es una técnica de la ingeniería de software para reestructurar un código fuente, alterando su estructura interna sin cambiar su comportamiento externoinglés ingeniería de softwarecódigo fuente
7
8 Planning (Planeación)
9
10 Plantilla de historia de usuario
11
12
13 Velocidad del Proyecto: Cantidad de historias de usuario por iteración Ejemplo : iteración 1 : 20 historias de usuario iteración 2 : 17 historias de usuario Iteración 3: 22 historias de usuario Velocidad (promedio) del proyecto (20+17+22)/3 = 19.66 = 20 has /iteraccion Planeación por tiempo Cantidad historias a ser completadas = Numero de iteraciones * velocidad de proyecto Ejemplo : 15 iteraciones * 20 historias por iteración = 300 historias a realizarse Planeación por alcance Cantidad de iteraciones = total semanas estimadas / velocidad del proyecto Ejemplo: cantidad de iteraciones = 12 semanas (3 meses) / 20 has/iteración cantidad de iteraciones = 0.6 iteraciones = 1 iteración Cada iteración debe durar entre 1 y 2 semanas
14 Managing (Ejecución del proceso)
15
16 Configure un ritmo sostenible, medible y predecible
17
18 Los tres temas que se tratan en cada reunión diaria 1.Lo que se llevó a cabo ayer, 2.lo que se intentará hoy, 3.y qué problemas están causando retrasos.
19 Hacer Mejoramiento de Procesos es una parte normal de su desarrollo
20 Designing (diseño)
21
22 Metáfora del sistema Diseño simple fácil de ser entendido por diversas personas -sin documentación exhaustiva-. La estructura del diseño debe permitir la pronta colaboración de las personas. La segunda cualidad es un diseño que hace que las clases de nombres y métodos coherentes
23 Uso de tarjetas CRC (Class, Responsabilities, Collaboration).
24
25 Una Spike solution –pequeño prototipo-, es un pequeño programa que explora posibles soluciones ayudando a la mejor estimación de las historias de usuario
26
27 Refactorizar sin piedad
28 Coding (codificación)
29
30
31
32 Testing (pruebas)
33
34
35 VALORES de XP Simplicidad Comunicación Retroalimentación Respeto Coraje