Uso del PMBOK del PMI en Proyectos de
Uso del PMBOK del PMI en Proyectos de Software Finalidad: Proponer el uso generalizado y mostrar las ventajas de la “Guía del Cuerpo de Conocimiento para la Gestión de Proyectos” del “Instituto de Gestión de Proyectos” (Guide to “Project Management Body of Knowledge” – PMBOK; “Project Management Institute” - PMI) en la Gestión de Proyectos de Software. Doctor Roberto Uzal
Contenidos • • • Desarrollo de Software: Planos conceptuales Considerando la complejidad del proyecto de software “Proceso de Software” y “Proyecto de Software” Modelos de “Proceso de Software” y “Modelo de Ciclo de Vida” Dos referencias: “Proceso de Software” según el RUP (IBM) y según el CMMI del SEI • Desde los “Fujos de Trabajo” a la Programación (cronograma del proyecto). • Desde la Programación al Presupuesto • El PMBOK del PMI – La Matriz “Grupo de Procesos” / “Áreas de Conocimiento” – La “instanciación” de la Matriz “Grupo de Procesos” / “Áreas de Conocimiento” – Definición de las Tareas de un Proyecto a partir del PMBOK del PMI • Síntesis 12/2/2020 Doctor Roberto Uzal 2
Desarrollo de Software: cuatro capas Gerenciamiento: H M P G Administración de la Calidad. Total ISO 9001 (ISO 9000. 3) CMMI del SEI - CMU Proceso PMBOK – PMI La Administracióndel Ciclo de Vida MSF (Microsoft) Modelos de Ciclo de Vida ALM (Borland) UP (IBM) El Método Gestión de Proyectos Métodos Formales vs. Métodos Semiformales Gestión de Cambios Distintas corrientes metodológicas de los Gestión de Configuraciones Métodos Semiformales Gestión del Riesgo Distintas Metodologías (Semiformales) Las Herramientas Lenguajes gráficos / visuales (Lenguaje de Modelado Unificado) Ambientes / Lenguajes de Programación Bibliotecas de componentes Herramientas CASE 12/2/2020 Doctor Roberto Uzal 3
Proceso y Proyecto • Un Proyecto es una instancia en el tiempo y en recursos de un Proceso • El Proceso dice “que” y “como” • El Proyecto dice “quien” y “cuando” Proceso Programación de un proyecto tiempo 12/2/2020 Doctor Roberto Uzal 4
El Proceso del Software • Conjunto estructurado de actividades requeridas para desarrollar un sistema de software. l l Especificación- que debe hacer el software y cuales son sus especificaciones de desarrollo. Desarrollo – producción del sistema de software. Validación – verificar que el software hace lo que el cliente pide. Evolución – cambiar/adaptar el software a las demandas. • Las actividades varían dependiendo de la organización y del tipo de sistema a desarrollarse. • Debe estar explícitamente modelado para posibilitar un adecuado gerenciamiento. 12/2/2020 Doctor Roberto Uzal 5
Modelos de Proceso “Producto Comercial” 12/2/2020 Doctor Roberto Uzal 6
Existen numerosos modelos de “procesos de software” (este es un ejemplo para desarrollos de alta complejidad de sistemas de tiempo real del área defensa) Real-time execution Simulation execution Model Continuity Requirement Behavior Specs Requirements at lower levels of System Specification System Theory 12/2/2020 Model Structures at higher levels of System Specification Verification and Validation Test Models/ Federations Doctor Roberto Uzal Experimental Frames 7
Proceso de Software y Modelo de Ciclo de Vida • Modelo de Ciclo de Vida – Fases por las que pasa un producto de software a lo largo de su “vida” (estudio de viabilidad, análisis, diseño, construcción, pruebas, implantación, mantenimiento, etc) – Forma en la que relacionan dichas fases entre sí. 12/2/2020 Doctor Roberto Uzal 8
Modelo de Ciclo de Vida en Espiral 14. BIT de Prueba Integración 13. Agregación Category Test 7. 7. SW SW OODOODVista de los Procesos View 12. Clases Class Test de Implementación Implementation/Test 3. System OOADynamic View 6. SW OOADynamic View 11. SW SW OODOODDiseño Method(Métodos) Design 15. Prueba Systemdel Sistema Test 8. 8. SW SW OODOODVista Static. Estática View 1. Requerimientos 2. 2. System OOAOOAStatic View 5. SW OOAStatic View 4. 4. HW/SW Split Requerimientos Trace (Traza) 9. 9. SW SW OODOODVista Dinámica Dynamic. View 10. SW SW OODOODLanguage Representation 12/2/2020 16. Doctor Roberto Uzal 17. Mantenimiento Maintenance 9
Otro modelo de Ciclo de Vida: RUP (es más que un Modelo de Ciclo de Vida: contempla “dos dimensiones”) Aspectos de la Capa 2 Flujos de Trabajo de Ingeniería Aspectos de la Capa 3 Organización a lo largo del tiempo Flujos de trabajo principales Organización según la naturaleza de las tareas Fases Flujos de trabajo de apoyo Flujos de Trabajo de Apoyo (Environment incluye “Risk Management”) Aspectos de la Capa 1 12/2/2020 Doctor Roberto Uzal 10
RUP ARRANQUE DEL PROYECTO UNICAMENTE PLAN PARA LA PRIMERA ITERACIÓN CONCEBIR NUEVO PROYECTO GESTION DE LA ITERACIÓN EXITOSA EVALUACION DEL PROYECTO DEL ALCANCE Y DE LOS RIESGOS PLAN DE PROYECTO APROBADO No EVALUACIÓN DEL ALCANCE Y RIESGOS DEL PROYECTO FIN DEL PROYECTO PLAN DEL PROYECTO MONITOTEO Y CONTROL DEL PROYECTO FIN DE FASE ¿CERRAR PROYECTO? CERRAR FASE FIN DE ITERACIÓN PROYECTO COMPLETO FIN DEL PROYECTO TODAS ITERACCIONES SUBSECUENTES PROYECTO CANCELADO FASE COMPLETA CIERRE NO ACEPTADO PLAN DEL PROYECTO PLAN PRÓXIMA ITERACIÓN PROYECTO CANCELADO (OPIONAL, DEPENDIENDO DEL GRADO DE CAMBIO) FIN DE ITERACIÓN 12/2/2020 Doctor Roberto Uzal 11
Considerando el Modelo de Ciclo de Vida y la Iteraciones necesarias se llega a algo así: (sólo estamos considerando el RUP como ejemplo) 12/2/2020 Doctor Roberto Uzal 12
Asignación de Recursos Recurso Rol Actividad Pablo Diseñador Diseño de Objetos María Autor de Casos de Uso Detallar un Caso de Uso José Diseñador de Casos de Uso Diseñar un Caso de Uso Silvia Revisor de Diseño Revisar el Diseño Arquitecto Análisis de Arquitectura Diseño de Arquitectura Eduardo 12/2/2020 Doctor Roberto Uzal 13
El CMMI Appendixes Support CM, PPQA, MA, CAR, DAR Maturity Level 5 OID, CAR Maturity Level 4 OPP, QPM Engineering REQM, REQD, TS, PI, VER, VAL Maturity Level 3 REQD, TS, PI, VER, VAL, OPF, OPD, OT, IPM, RSKM, DAR Project Management PP, PMC, SAM IPM, RSKM, QPM Maturity Level 2 REQM, PP, PMC, SAM, MA, PPQA, CM Process Management OPF, OPD, OT, OPP, OID Overview Introduction Structure of the Model Terminology Maturity Levels, Common Features, and Generic Practices Understanding the Model Using the Model Overview Process Management Introduction PAs Structure of the Model - Goals Model Terminology - Practices Capability Levels and Generic Model Components Understanding the Model Using the Model CMMI-SE/SW Staged 12/2/2020 CMMI-SE/SW Continuous Doctor Roberto Uzal 14
Proyectos según el CMMI 12/2/2020 Doctor Roberto Uzal 15
CMMI: Gestión de Proyectos Ejecución del proyecto Estimación preliminar Planear y organizar trabajo el Cierre Estudio de Viabilidad Inicial Planeamie nto Monitorear y controlar el trabajo del proyecto Administrar los recursos del proyecto Comunicar el estado del proyecto 12/2/2020 Doctor Roberto Uzal 16
CMMI: Planeamiento del proyecto Preparar el proyecto dentro del grupo de desarrollo Iniciar proyecto Definir los procesos y metodología Adaptar los soportes administrativos Realizar reunión de kick off Determinar y organizar los recursos del proyecto 12/2/2020 Doctor Roberto Uzal 17
CMMI: Control de la Ejecución Control y monitoreo Analizar estado de la perfomance Asignar tareas Medir rendimiento No Desviaciones Determinar alternativas y acciones correctivas Actualizar Comunicar Tomar Plan de Afecta programa. Sí Acciones proyecto o costos? correctivas Sí No Ejecutar soporte en los proyectos de gestión Coordinar revisiones QA 12/2/2020 Doctor Roberto Uzal 18
CMMI: Gestión de la ejecución Ejecutar el proyecto Administrar los recursos del proyecto Comunicar el status del proyecto Preparar informe de status 12/2/2020 Comunicar informe de status Doctor Roberto Uzal 19
CMMI: Gestión del cierre Completar y cerrar el proyecto Capitalizar los Activos del Proyecto 12/2/2020 Completar Cerrar el Proyecto Doctor Roberto Uzal 20
A partir de Flujos de Trabajo (adecuadamente instanciados. . . ) • Una lista de actividades, trabajadores (roles) y artefactos constituye un proceso. Análisis de Arquitectura Diseño de Arquitectura Describir Distribución Arquitecto Análisis de Casos de Uso • Un flujo de trabajo es una secuencia de actividades que produce un resultado valioso. Describir Concurrencia Diseño de Casos de Uso Diseñador de Casos de Uso Análisis de Objetos Diseño de Objetos Diseñador • “Instanciando” el “Proceso” y los “Flujos de Trabajo” podemos llegar a un Programa de Trabajo 12/2/2020 Revisor de Diseño Doctor Roberto Uzal Revisar el Análisis Revisar el Diseño Revisar la Arquitectura 21
Hay que llegar a la Programación (para lo cual necesitamos el listado de actividades y su secuencia) Diagramas Gantt Diagramas PERT / CPM T 3 T 1 T 6 T 4 T 7 T 2 12/2/2020 Doctor Roberto Uzal T 5 22
Asignado recursos a las Tareas (previo al presupuesto necesitamos el programa) 12/2/2020 Doctor Roberto Uzal 23
Proyecto según el PMBOK del PMI Iniciación Planeamiento Control Ejecución Cierre 12/2/2020 Doctor Roberto Uzal 24
Proyecto según el PMBOK del PMI (otra visión) 12/2/2020 Doctor Roberto Uzal 25
PMBOK: Iniciación PROCESOS DE INICIACION Iniciación Hacia los procesos de planeamiento Se ejecuta cuando el proyecto o fase debe comenzar. Ejecutar el proceso de iniciación al comienzo de cada fase ayuda a mantener el proyecto enfocado. 12/2/2020 Doctor Roberto Uzal 26
PMBOK: Planeamiento Proceso de Planeamiento: Procesos Esenciales Planeamiento del alcance Definición del alcance Planeación de recursos Definición de actividades Secuencias de actividades Estimación de las actividades Estimación de costos Desarrollo del programa Planeamiento de riesgos Presupuesto de costos Desarrollo del proyecto Proceso de Planeamiento: Procesos de Apoyo 12/2/2020 Doctor Roberto Uzal 27
PMBOK: Planeamiento: Procesos esenciales Planeamiento: Procesos de soporte Planeamiento de calidad Planeamiento de la comunicación 12/2/2020 Planeamiento organizacional Obtención de staff Planeamiento de adquisiciones Planeamiento de solicitud de propuestas Identificación del riesgo Análisis cualitativo del riesgo Análisis cuantitativo del riesgo Planeamiento de respuesta al riesgo Doctor Roberto Uzal 28
PMBOK: Ejecución Procesos de ejecución Ejecución del plan del proyecto Procesos de soporte Desde los procesos de control Solicitud de propuestas Aseguramiento de calidad Desarrollo del personal Selección de proveedor Distribución de la información A los procesos de control Administración del contrato 12/2/2020 Doctor Roberto Uzal 29
PMBOK: Control Procesos de control Reporte de desempeño Control integrado de cambios Procesos de soporte Desde el Proceso de Ejecución 12/2/2020 Verificación del alcance Control de cambios del alcance Control del programa Control del costo Control de calidad Monitoreo y control de riesgo Doctor Roberto Uzal Hacia el Proceso de Planeamiento Hacia el Proceso de Ejecución Hacia el Proceso de Cierre 30
PMBOK: Cierre del proyecto Procesos de cierre Objetivo: formalizan la aceptación del proyecto o fase y los llevan a una terminación ordenada Cierre de contrato Desde los procesos de control Cierre administrativo Completar y negociar un contrato, incluyendo la resolución de cualquier ítem abierto 12/2/2020 Generar, recoger, y diseminar información para formalizar el cierre de una fase o terminación del proyecto Doctor Roberto Uzal 31
PMBOK ¿qué significa Gestionar un Proyecto? Administración de Proyectos Integración Alcance Tiempo Costo Calidad Recursos Humanos Comunicaciones Riesgo Adquisiciones 12/2/2020 Doctor Roberto Uzal 32
Cómo llegar a un listado de Tareas Procesos Areas de Conocimiento Iniciación Planeamiento Ejecución Control Cierre 1. - Integración 2. - Alcance 3. - Tiempos 4. - Costos 5. - Calidad 6. - Recursos Humanos 7. - Comunicación 8. - Riesgos 9. - Aprovisiona miento 12/2/2020 Doctor Roberto Uzal 33
Áreas de conocimiento Grupos de procesos INICIO 4. 1 Desarrollo del plan del proyecto Integración Alcance PLANEAMIENTO 5. 1 Inicio Tiempo Costo EJECUCIÓN 4. 2 Ejec. del plan del proyecto 3 5. 2 Planeamiento del alcance 5. 3 Definición del alcance 5. 4 Verificación del alcance 5. 5 Ctrl. cambios de alcance 5 6. 1 Definición de actividades 6. 2 Secuencia de actividades 6. 3 Estimación de la duración de las actividades 6. 4 Desarrollo del cronograma 7. 1 Planeación de recursos 7. 2 Estimación de costos 7. 3 Presupuesto 6. 5 Control del cronograma 5 7. 4 Control de costo 4 8. 3 Control de calidad 3 8. 1 Planeación de la calidad 8. 2 Aseguramiento de la calidad Recursos Humanos 9. 1 Planeamiento de la org. 9. 2 Reclutamiento de personal 9. 3 Desarrollo del equipo Comunicación 10. 1 Planeación de las comunicaciones 10. 2 Dist. de la información Riesgo 11. 1 Plan. de la ad. del riesgo 11. 2 Identificación del riesgo 11. 3 An. cualitativo del riesgo 11. 4 An. cuantitativo del riesgo 11. 5 Plan. de la resp. al riesgo Adquisiciones 12. 1 Plan. de las adquisiciones 12. 2 Planeación de licitaciones y cotizaciones 12/2/2020 1 #Procesos CIERRE 4. 3 Control integral de cambios Calidad # Procesos CONTROL 21 3 10. 3 Información del desempeño 10. 4 Cierre administrativo 4 11. 6 Monitoreo y control del riesgo 12. 3 Licitaciones y cotizaciones 12. 4 Selección de proveedores 12. 5 Admón de contratos Doctor Roberto Uzal 7 6 12. 6 Cierre de contratos 6 34 8 2 39
Ejemplo de “Fila Adicional” Inicio Planeamiento Ejecución Control Cierre Gestión de las Configuracio nes en Proyectos de Software Entrenamiento de los miembros del Equipo de Desarrollo y de otros grupos relacionados para encarar las actividades de SCM y también en el uso de las herramientas automatizadas de SCM. Establecimiento de una biblioteca SCM a ser utilizada como repositorio de las “Líneas de Base” del Proyecto de Software. Establecimiento de un equipo con autoridad para la Gestión de las “Líneas de Base” del Proyecto de Software. Definición de las metas y tareas del área SCM. Establecimiento de un programa detallado (calendario) asociado a las metas y tareas SCM. Suministrar los recursos y presupuesto adecuados para encarar las tareas SCM Ejecución de las actividade s SCM definidas de acuerdo con las definicion es programáti cas y presupuest arias. Control de Cambios de las “Líneas de Base” de acuerdo con un procesos documentado. Actualización del Plan SCM del Proyecto tal que refleje la situación vigente en todo momento. Informe de las actividades SCM realizadas durante el Proyecto. 12/2/2020 Doctor Roberto Uzal 35
“Areas de Conocimiento” PMBOK Necesitamos contemplar tres dimensiones M el od e C o d o tad p o ad a id V e o d Tarea x, y, z Considerando el espacio de problema y la herramienta de representación / modelado Fases (Grupos de Procesos del PMBOK) icl 12/2/2020 Doctor Roberto Uzal 36
Ventajas de la propuesta • • • La mayoría de los Proyectos de Software relevantes lo son de carácter multidisciplinario. Pretender que profesionales de diversos orígenes adhieran a un estándar específico de Gestión de Proyectos de Software, tal como el RUP (Rational Unified Process) de IBM, MSF (Microsoft Solution Framework) de Microsoft, ALM (Application Lifecycle Management) de Borland y otras propuestas “comerciales” es casi imposible. La Guía del PMBOK, en cambio, es de carácter general para todo tipo de proyecto. Su uso en Proyectos de Software es posible, además de ser muy conveniente. El esquema propuesto ha revelado ser muy apto en el momento en el cual, la Programación del Proyecto, debe ser volcada en un formato del tipo PERT / CPM. En Proyectos de Software del “mundo real”, el enfoque recomendado en este trabajo ha resultado ser muy conveniente en el momento de tener que elaborarse el Presupuesto del Proyecto. También, de acuerdo con la experiencia de los autores, el entrenamiento del equipo de proyecto es menos oneroso utilizando el enfoque de Gestión PMBOK comparado, por ejemplo, con el RUP de IBM. El esquema propuesto es claro, útil y efectivo (eficaz + eficiente) 12/2/2020 Doctor Roberto Uzal 37
Síntesis • • La proliferación de “metodologías producto comercial”, tales como el RUP (Rational Unified Process) de IBM, MSF (Microsoft Solution Framework) de Microsoft, ALM (Application Lifecycle Management) de Borland y otras ha causado un efecto “Torre de Babel” en el ámbito de la Gestión de Proyectos de Software. El uso del PMBOK es una interesante propuesta de “Lengua Franca” a ser considerada. En trabajos anteriores los autores han mostrado, mediante estudios comparativos, las ventajas del enfoque PMBOK, en Proyectos de Software, respecto de las alternativas “comerciales” que se han mencionado. Las actividades de formulación de una Matriz “Grupos de Proceso / Áreas de Conocimiento” específica para un Proyecto de Software puede ser incluida en el “Grupo de Procesos” denominado “Inicio” en el esquema de la Guía del PMBOK. El enfoque PMBOK brinda claras oportunidades para la estimación del esfuerzo de desarrollo en Proyectos de Software al ser utilizado en forma conjunta con técnicas como “Puntos de Casos de Uso” (Use Case Points) tal como los autores lo muestran en trabajos que se han presentados en otros eventos académico / profesionales. 12/2/2020 Doctor Roberto Uzal 38
- Slides: 38