Introducción 1. Objetivo del libro 13 2. Nuestro enfoque 13 3. Estructura del libro 14 4. Agradecimientos 16 De la gestión de proyectos tradicional a la agilidad 1. Introducción 17 2. Algunos hechos y cifras 17 3. El modelo de gestión de proyecto "en cascada" 18 4. El modelo (o ciclo) en V 20 4.1 La teoría 20 4.2 La puesta en práctica del modelo en V 21 4.3 Los roles 22 4.4 Noción de efecto túnel 23 5. La agilidad en el corazón de los proyectos 24 5.1 Un poco de historia 24 5.2 Los valores 24 5.3 Los 12 principios subyacentes 25 5.4 La agilidad no significa anarquía 26 6. Scrum, un método ágil 26 1/13
7. Información, formación y certificaciones 27 8. Para concluir 28 Lean, Kanban y extreme Programming 1. Un capítulo necesario 29 2. Relación de parentesco entre los métodos 30 3. El Lean Management 30 3.1 Objetivo de Lean 30 3.2 Los 14 principios de Lean 31 4. Kanban 37 4.1 Principios de Kanban 37 4.2 Kanban para el desarrollo de software 38 4.3 Kanban y Scrum 39 5. El método XP o extreme Programming 40 5.1 Los principios básicos 40 5.2 Las prácticas de extreme Programming 41 5.2.1 Entregas frecuentes 41 5.2.2 Ritmo duradero 41 5.2.3 Presencia del cliente 41 5.2.4 Diseño sencillo 41 5.2.5 Implementación de las reglas de codificación 42 5.2.6 El equipo es responsable del código 42 5.2.7 Uso de pruebas unitarias 42 5.2.8 Prueba de aceptación 42 5.2.9 Implantación de la integración continua 43 5.2.10 Realizar la refactorización del código 43 2/13
5.2.11 Programación en parejas (Pair Programming) 43 5.2.12 Estimación con ayuda del Planning Poker 43 5.2.13 Uso de metáforas y analogías 44 5.3 Ciclo de XP 44 6. Scrum, un mix de métodos 45 Descripción de Scrum 1. Nacimiento de Scrum 47 2. Scrum en pocas palabras 48 2.1 El equipo 48 2.2 Los tres pilares de Scrum 49 2.2.1 Transparencia 49 2.2.2 Inspección 49 2.2.3 Adaptación 50 2.3 Los eventos (ceremoniales) 50 2.3.1 Sprint 51 2.3.2 Reunión de planificación del Sprint 51 2.3.3 La Melé diaria 51 2.3.4 La revisión del Sprint 51 2.3.5 La retrospectiva del Sprint 52 2.4 Las herramientas 52 2.4.1 Backlog de Producto 52 2.4.2 Backlog del Sprint 52 2.4.3 Seguimiento del progreso 53 3. Ciclo de vida de Scrum 55 4. Coste, plazo y perímetro 56 5. Conclusión 57 3/13
El equipo Scrum 1. El equipo, aspecto central de Scrum 59 1.1 Equipo auto-organizado 60 1.2 Equipo pluridisciplinar 60 2. El Scrum Master 61 2.1 Sus responsabilidades 62 2.1.1 Aplicación de Scrum 62 2.1.2 Eliminar los obstáculos 63 2.1.3 Optimizar las interacciones 64 2.1.4 Líder del cambio 64 2.2 Su personalidad y sus competencias 65 2.2.1 Conocer Scrum 65 2.2.2 Ser un líder 65 2.2.3 Ser comunicativo 65 2.2.4 Tener capacidades de mediación 66 2.2.5 Jugar a la transparencia 66 3. El Product Owner 66 3.1 Sus responsabilidades 67 3.1.1 Crear la visión del producto 67 3.1.2 Gestionar el Product Backlog 67 3.1.3 Maximizar el valor del producto y del trabajo del equipo 68 3.1.4 Definir el plan de Release 68 3.1.5 Implicación en el proceso Scrum 68 3.1.6 Aceptar o no el resultado de un Sprint 69 3.1.7 Sus poderes y límites 69 3.2 Su personalidad y sus competencias 70 3.2.1 Tener conocimientos funcionales 70 3.2.2 Ser organizado 70 3.2.3 Tener capacidades de toma de decisión 70 4. El equipo de realización 71 4/13
4.1 Características 71 4.1.1 Auto-organizado y multi-disciplinar 71 4.1.2 Tamaño del equipo 72 5. Y qué sucede con el resto de roles? 72 5.1 La desaparición del jefe de proyecto 72 5.2 El resto de roles 73 6. Construir correctamente el equipo: algunas pistas 73 7. Crear las condiciones del éxito 74 7.1 Reunir para ganar 74 7.2 Caso de un equipo fragmentado 75 8. Conclusión 76 Construir y priorizar el Product Backlog 1. Por qué invertir en el Product Backlog? 77 2. La pieza básica del Product Backlog: la User Story 78 3. Cómo redactar las User Stories y Epics? 79 3.1 Regla de las 3C 79 3.2 Redactar una buena User Story: el principio INVEST 80 3.3 Errores habituales 81 3.4 La historia técnica: solución o declaración de fracaso? 83 3.5 Un método eficaz para realizar el Product Backlog: el Story Mapping 83 3.5.1 Qué es el Story Mapping? 83 3.5.2 Story Mapping ilustrado por un ejemplo 84 3.6 Principios de priorización del Product Backlog 88 3.6.1 Por qué priorizar? 88 3.6.2 Enfoque general de la priorización 88 5/13
3.6.3 Los factores que influyen en la priorización 89 3.6.4 Información general de los métodos de priorización 90 3.7 Profundizar sobre la priorización por temas 90 3.7.1 Theme Screening (Sondeo de los temas) 91 3.7.2 Theme Scoring (Medida de los temas) 92 3.7.3 Priorización de los temas usando pesos relativos 94 3.8 Profundizar sobre la priorización utilizando el modelo de Kano 96 4. Gestionar su Backlog en la práctica 100 5. Conclusión 101 Planificar y estimar 1. Prácticas que no se deben descuidar 103 2. Por qué la planificación tradicional falla 103 3. Horizontes de planificación 105 4. Herramientas de estimación 105 4.1 T-Shirt sizing 105 4.2 Los story points 106 4.3 Entonces, Story Point o d/h? 108 4.4 Noción de velocidad 108 4.5 Cómo inicializar la velocidad? 109 4.5.1 Implantación de un proyecto piloto 109 4.5.2 Elegir por feeling 110 4.5.3 Estimación de la velocidad a partir del histórico 110 4.6 Quién estima? 112 4.7 Un método práctico de estimación: el planning poker 113 4.7.1 El desarrollo del Planning Poker 113 4.7.2 Beneficios y riesgos 114 6/13
4.7.3 Errores comunes 114 4.7.4 Descomponer para estimar correctamente: Elephant carpaccio 116 5. Planificación de Release 117 5.1 Tener un objetivo claro 117 5.2 Tener un Product Backlog priorizado 118 5.3 Estimar el Product Backlog 118 5.4 Conocer la velocidad del equipo 119 5.5 Definir el fin de la Release 119 5.6 Definir la duración de los Sprints 119 5.7 Crear el plan de Release 120 6. Conclusión 121 La vida de un Sprint 1. Introducción 123 2. Cuál es la duración para los Sprints? 123 3. Debe haber un Sprint 0? 124 4. El ritmo del Sprint: vista de conjunto 125 5. Preparación del Sprint 126 5.1 Entorno de trabajo 126 5.2 Equipo 126 5.3 Definición de "Terminado" 127 6. Reunión de planificación de Sprint 128 6.1 Por qué la presencia del Product Owner es importante? 128 6.2 Primera etapa: presentación de las User Stories 129 7/13
6.3 Segunda etapa: Qué trabajo se realizará durante el Sprint? 130 6.4 Tercera etapa: Cómo realizar el trabajo previsto? 131 6.4.1 Estimación de las tareas 131 6.4.2 Asignación de las tareas 132 6.5 La gestión del tiempo 132 6.6 Y la corrección de errores? 133 6.7 Backlog grooming 134 7. Melé diaria (Scrum Meeting/Daily Scrum) 134 7.1 Un protocolo a respetar 135 7.2 Una melé eficaz y útil 135 7.3 El Scrum Master siempre a la escucha 137 7.4 Seguimiento del avance 137 7.5 No tengo nada más que hacer 138 7.6 Se alcanzará el objetivo del Sprint? 139 8. La revisión del Sprint (Sprint Review) 141 8.1 Qué, quién, cuánto tiempo? 141 8.2 Un objetivo, una motivación 143 8.3 Demostrar lo que no es demostrable 143 9. La retrospectiva del Sprint 144 9.1 Un método que le va a ayudar 144 9.2 Estado de ánimo 145 9.3 Entorno de la retrospectiva 145 9.4 Método 1: Kick Drop Start 145 9.5 Método "clásico" 147 9.6 Presentación "en estrella" 147 9.7 Otros métodos 148 10. Dejar al equipo descansar 148 11. Y si comenzamos de nuevo? 149 8/13
Probar en modo Ágil 1. Adoptar Scrum: cuál es el impacto en la estrategia de pruebas? 151 2. Tipologías de pruebas 152 2.1 Pruebas funcionales de validación 152 2.1.1 Criterios de validación 153 2.1.2 Los datos de prueba y escenarios 153 2.1.3 Las pruebas de validación y las User Stories 154 2.2 Pruebas de no-regresión 155 2.3 Pruebas de IHM (Interfaz Hombre-Máquina) 155 2.4 Pruebas funcionales "de principio a fin" 156 2.5 Pruebas de componentes 156 2.6 Pruebas unitarias 157 2.7 Test Driven Development 159 2.8 Acceptance Test Driven Development 160 3. Anti-pattern: el cono del helado 161 4. La pirámide de pruebas ideal 163 4.1 Encontrar tiempo para escribir 164 4.2 Hay que escribir las pruebas de todas las User Stories? 165 4.3 Cómo escribir las pruebas? 165 5. Los testers en el equipo Scrum 165 5.1 La prueba forma parte del equipo 165 5.2 Tester Ágil: una profesión en cambio 166 6. En conclusión: escriba las pruebas 166 Consejos para desplegar Scrum 9/13
1. Cómo llevar a cabo el cambio a Scrum? 167 2. Situación actual 168 2.1 Adopción de los métodos ágiles 168 2.1.1 Scrum ampliamente implementado 168 2.1.2 Las motivaciones para la adopción de Scrum 168 2.1.3 Cómo se practica Scrum? 169 2.1.4 Éxitos y desafíos 170 2.2 Un resultado positivo 171 3. La motivación 171 4. Big-Bang o implementación progresiva? 172 5. Scrum y la organización existente 172 5.1 Qué hacer con las responsabilidades existentes? 172 5.2 La estructura 174 6. Terminar con las ideas recibidas 174 6.1 Scrum no es un verdadero método 175 6.2 No hay noción de planificación 175 6.3 Scrum destierra la documentación 176 6.4 Con Scrum, pasamos demasiado tiempo en reuniones 176 7. Vencer las resistencias a la gestión del cambio 176 7.1 Resistencia por interés o política 177 7.2 Resistencia por confort 177 7.3 Resistencia por incapacidad o afectiva 178 8. Utilizar los Serious Games para facilitarla implementación 179 8.1 Para romper el hielo: red social "en papel" 179 8.2 El Marshmallow Challenge 180 10/13
9. Nuestros consejos a modo de conclusión 181 Scrum con ayuda de un software 1. Es necesario obligatoriamente utilizar un software? 183 2. Descripción de las herramientas de gestión de proyectos Scrum 185 2.1 Jira 185 2.2 Axosoft 188 2.3 icescrum 192 3. Otras herramientas útiles 194 3.1 Story mapping 194 3.2 Herramientas colaborativas 195 4. Conclusión 195 Para ir más lejos 1. Introducción 197 2. Escalamiento de Scrum 197 2.1 LeSS 198 2.1.1 Los principios básicos 198 2.1.2 Qué es diferente de Scrum en LeSS? 199 2.1.3 Nuestro consejo sobre LeSS 201 2.2 SAfe 202 2.2.1 Los principios 202 2.2.2 El nivel "Equipo" 202 2.2.3 El nivel "Programa" 202 2.2.4 El nivel "Gestión de porfolio" 203 11/13
2.2.5 Nuestro consejo sobre SAfe 203 2.3 El método "Spotify" 204 2.3.1 Descripción del modelo 204 2.3.2 El equipo 204 2.3.3 Las tribus 205 2.3.4 Las corporaciones y los capítulos 206 2.3.5 Nuestro consejo sobre el modelo Spotify 206 3. Scrum y Kanban 206 3.1 Diferencias entre los dos métodos 207 3.2 Mezclar o no los enfoques 208 4. Scrum y subcontratación 209 4.1 Contradicción n 1: El manifiesto ágil 209 4.2 Contradicción n 2: El método en sí mismo 210 4.3 Contradicción n 3: Las penalizaciones 210 4.4 Crear condiciones de confianza 211 4.5 Responder a una oferta 212 4.6 Implantación de un Plan de garantía de la calidad 213 4.7 Subcontratación por Sprint 214 4.7.1 Cómo calcular el coste de un Sprint? 214 4.7.2 Qué sucede con las User Stories no entregadas? 215 4.7.3 Gestión de errores y "no validación" de User Stories 215 4.8 Diferentes formas de contrato previsto 216 4.8.1 Costes variables 216 4.8.2 Costes fijos, perímetro variable 217 4.8.3 Costes fijos, perímetro fijo 217 4.8.4 Costes fijos, perímetro fijo pero con ajuste 217 4.8.5 Presupuesto por iteración 218 4.8.6 Uso de un margen de beneficio 218 4.8.7 Implantación de penalizaciones 218 4.8.8 Trabajo colaborativo 219 4.8.9 Money For Nothing (pagar por nada) y Change For Free (cambio de oferta) 219 4.9 Ejemplo de contrato tipo 220 12/13
Verifique sus conocimientos 1. Por qué este cuestionario? 221 2. Las preguntas 221 3. Las respuestas 229 4. La hora del resultado 239 5. Es momento de dejarlo 239 índice 241 13/13