Modelo CMMI Y Métodos Ágiles En La Gestión De Proyectos Software
Total Page:16
File Type:pdf, Size:1020Kb
UNIVERSIDAD DE OVIEDO DEPARTAMENTO DE EXPLOTACION´ Y PROSPECCION´ DE MINAS MASTER INTERUNIVERSITARIO EN \DIRECCION´ DE PROYECTOS" Trabajo Fin de Master Modelo CMMI y m´etodos ´agiles en la gesti´onde proyectos software Autor: Juan Alonso Baldonedo Director: Vicente Rodr´ıguezMontequ´ın Junio 2017 Resumen Este TFM busca abordar c´omodos ´areasde la ingenier´ıade software aparentemen- te incompatibles como el modelo de mejora de procesos CMMI y las metodolog´ıas de desarrollo ´agilespueden ser utilizadas de manera cooperativa para mejorar el ´exitode los proyectos software. Para poder comprender por qu´epuede ser intere- sante esta cooperaci´ones necesario analizar cu´alesson las caracter´ısticasde los m´etodos ´agiles,qu´em´etodos existen y qu´elos diferencia de los tradicionales. Por otro lado, necesitamos entender tambi´enel proceso software y c´omoayudar CM- MI a mejorarlo. Para ello debemos entender qu´eelementos componentes CMMI y c´omose estructuran. Solo de esta manera podremos llegar a entender c´omosurge el CMMI ´agil. ´Indice general Resumen 1 1. Introducci´on 9 1.1. Introducci´on. .9 1.2. Motivaci´onTrabajo Fin de M´aster . 10 1.3. Gesti´onde proyectos . 10 1.4. Gesti´onde Proyectos Software . 11 2. Ingenier´ıade Software 14 2.1. Introducci´on. 14 2.2. El proceso software . 16 2.3. Actividades del proceso software . 17 2.3.1. Especificaci´on. 17 2.3.2. Dise~noe implementaci´on. 18 2.3.3. Validaci´ony verificaci´on . 19 2.3.4. Evoluci´on . 21 2.4. Cambios Software . 21 2.5. Paradigmas y modelos de proceso software . 21 2.5.1. El ciclo de vida de desarrollo software . 22 2.5.2. Waterfall . 23 2.5.3. Modelo desarrollo en V . 24 2.5.4. Prototipado . 24 2.5.5. M´etodo Incremental . 25 2.5.6. M´etodo en Espiral . 26 2.5.7. Rational Unified Process (RUP) . 27 2.5.8. Otros m´etodos . 29 3. M´etodos Agiles´ 30 2 3.1. Introducci´on. 30 3.2. El manifiesto Agil´ . 30 3.3. Metodolog´ıas Agiles´ . 33 3.3.1. Agile modeling . 33 3.3.2. Adaptive software development . 34 3.3.3. Feature-driven development . 35 3.3.4. Extreme programming . 37 3.3.5. Agile Unified Process . 38 3.3.6. Dynamic systems development method . 40 3.3.7. Lean software development . 42 3.3.8. Scrum . 43 3.3.9. Kanban . 46 3.3.10. Scrumban . 47 4. CMMI 49 4.1. Introducci´on. 49 4.2. Mejora basada en procesos . 50 4.2.1. El proceso de mejora de procesos . 51 4.2.2. Medici´onde Procesos . 52 4.2.3. An´alisisde Procesos . 55 4.2.4. Proceso de cambio . 57 4.3. Qu´ees CMMI . 59 4.4. Modelo de Trabajo CMMI . 60 4.4.1. CMMI-DEV . 61 4.4.2. CMMI-ACQ . 61 4.4.3. CMMI-SVC . 61 4.5. Beneficio Potencial de CMMI . 61 4.6. Areas´ de Proceso CMMI . 62 4.6.1. Objetivo Espec´ıfico(SG) . 63 4.6.2. Pr´acticasEspec´ıficas . 64 4.6.3. PA en los modelos CMMI . 64 4.6.4. Objetivos gen´ericos(GG) . 66 4.6.5. Pr´acticasGen´ericas(GPs) . 66 4.6.6. Informaci´onAdicional . 66 4.7. Descripci´on Areas´ de Proceso . 67 3 4.7.1. Requirements Management (REQM) . 67 4.7.2. Project Planning (PP) . 67 4.7.3. Project Monitoring and Control (PMC) . 70 4.7.4. Risk Management (RSKM) . 72 4.7.5. Supplier Agreement Management (SAM) . 73 4.7.6. Configuration Management (CM) . 74 4.7.7. Process and Product Quality Assurance (PPQA) . 76 4.7.8. Measurement and Analysis (MA) . 77 4.7.9. Decision Analysis and Resolution (DAR) . 79 4.7.10. Organizational Process Focus (OPF) . 80 4.7.11. Organizational Process Definition (OPD) . 81 4.7.12. Integrated Project Management (IPM) . 82 4.7.13. Organizational Training (OT) . 84 4.7.14. Requirements Development (RD) . 85 4.7.15. Technical Solution (TS) . 87 4.7.16. Product Integration (PI) . 89 4.7.17. Verification (VER) . 89 4.7.18. Validaci´on(VAL) . 92 4.7.19. Organizational Process Performance (OPP) . 93 4.7.20. Quantitative Project Management (QPM) . 94 4.7.21. Causal Analysis and Resolution (CAR) . 95 4.7.22. Organizational Process Management (OPM) . 96 4.7.23. Objetivos y Pr´acticasGen´ericas(GG/GP) . 97 4.8. Representaciones CMMI . 99 4.8.1. Representaci´onContinua . 99 4.8.2. Representaci´onpor Etapas . 102 4.8.3. Elecci´onde representaci´onCMMI . 102 4.9. Niveles CMMI . 102 4.9.1. Niveles de capacidad . 104 4.9.2. Niveles de madurez . 104 4.10. Evaluaci´onCMMI . 106 5. CMMI Agil´ 108 5.1. Percepci´ondel CMMI Agil´ . 108 5.1.1. Falta de uso y uso incorrecto . 109 4 5.1.2. Falta de informaci´onprecisa . 109 5.1.3. Terminolog´ıaconfusa . 109 5.2. Combinando CMMI y Agile . 110 5.2.1. Retos al usar m´etodos ´agiles. 110 5.2.2. Retos al usar CMMI . 112 5.3. Areas´ de Proceso CMMI y SCRUM . 113 5.3.1. Project Planning (PP) y SCRUM . 113 5.3.2. Project Monitoring and Control (PMC) y SCRUM . 114 5.3.3. Requirements Management (REQM) y SCRUM . 115 5.4. Ejemplo Pr´acticode CMMI Agile´ . 115 5.4.1. Escenario base . 115 5.4.2. Implementaci´onCMMI y SCRUM: Gesti´ondel proyecto . 116 5.4.3. Implementaci´onCMMI y SCRUM: Entorno de desarrollo . 118 5.4.4. Implementaci´onCMMI y SCRUM: Proceso de desarrollo. 123 6. Conclusiones Finales y L´ıneasde Futuro 128 6.1. Conclusiones . 128 6.2. L´ıneasde Futuro . 129 Bibliograf´ıa 131 5 ´Indice de figuras 2.1. Tri´angulo de gesti´onde proyectos . 15 2.2. Modelo general del proceso de dise~no . 19 2.3. Fases de pruebas software . 20 2.4. Modelo \waterfall" o de cascada . 23 2.5. Modelo desarrollo en V . 24 2.6. Proceso de desarrollo de prototipo . 25 2.7. Modelo incremental . 26 2.8. Modelo en espiral . 27 3.1. Proceso software con Agile Modeling . 34 3.2. Proceso software con ASD . 35 3.3. Esquema de releases en AUP . 40 3.4. Fases de desarrollo DSDM . 41 3.5. Ciclo de vida Scrum . 45 3.6. Tablero de trabajo Kanban . 47 4.1. Ciclo de mejor de procesos . 53 4.2. Paradigma GQM . 54 4.3. Proceso de cambio de procesos . 58 4.4. Esquema del ´areade proceso CMMI . 63 4.5. Niveles de capacidad CMMI . 104 4.6. Niveles de madurez CMMI . 105 5.1. Entorno de desarrollo CMMI ´agil.. 119 5.2. Ejemplo WBS de un proyecto software. 124 6 ´Indice de cuadros 1.1. Resultados informe CHAOS . 12 3.1. Hitos y porcentaje asociado de una actividad FDD . 36 4.1. Atributos gen´ericosde procesos . 52 4.2. Algunos aspectos del an´alisisde procesos. 56 4.3. Mejoras obtenidas por categor´ıas. 62 4.4. Area´ de proceso: Requirements Management (REQM) . 68 4.5. Area´ de proceso: Project Planning (PP) . 69 4.6. Area´ de proceso: Project Monitoring and Control (PMC) . 71 4.7. Area´ de proceso: Risk Management (RSKM) . 72 4.8. Area´ de proceso: Supplier Agreement Management (SAM) . 74 4.9. Area´ de proceso: Configuration Management (CM) . 75 4.10. Area´ de proceso: Process and Product Quality Assurance (PPQA) . 77 4.11. Area´.