Gestión de Proyectos Software Javier Tuya Universidad de Oviedo Departamento de Informática Procesos en Métrica V3 Documentos que componen Métrica V3 Guía de Referencia (Metodología/Proceso) Interfaces, Técnicas y Prácticas Guía de Usuario (Resumen) J. Tuya (2002-2003) Gestión Proyectos 2
Procesos e Interfaces Actividades de Producción (Técnicas) MSI Mantenimiento de Sistemas de Información PSI - Plan de sistemas de Información EVS - Estudio de Viabilidad del Sistema ASI - Análisis del Sistema de Información DSI Diseño del Sistema de Información CSI Construcción del Sistema de Información IAS Implantación y Aceptación del Sistema INTERFACES Actividades de Gestión y Control Gestión de Proyectos Seguridad Gestión de la Configuración Aseguramiento de la Calidad J. Tuya (2002-2003) Gestión Proyectos 3 Gestión del Proyecto Preguntas Frecuentes Punto de vista del cliente Cúanto me va a costar? Cuándo va a estar implantado? Funcionará adecuadamente? Tendré retorno de la inversión? Punto de vista del proveedor Cuánto voy a ganar? En qué orden hago las cosas? Cuántos recursos necesito? Los tengo? Voy a conseguir finalizar en plazo? Voy a ganar dinero? J. Tuya (2002-2003) Gestión Proyectos 4
Gestión del Proyecto Introducción Qué implica: la planificación, supervisión y control del personal, del proceso y de los eventos que ocurren mientras evoluciona el software desde la fase preliminar a la implementación operacional [Pressman] Actores: Ingeniero del software: Actividades del día a día Gestor: Supervisión y Control del trabajo del equipo J. Tuya (2002-2003) Gestión Proyectos 5 Gestión del Proyecto Definiciones Proyecto: Actividad realizada por una organización, única en el tiempo [PMBOK] Realizada por personas Con recursos limitados Planificada, ejecutada y controlada Gestión de Proyectos: Aplicación de conocimiento, técnicas y herramientas a actividades de un proyecto para satisfacer las necesidades y expectativas de los participantes [PMBOK]. Equilibrio de: Ámbito, tiempo, Coste y Calidad Diferentes necesidades y expectativas Requisitos identificados (necesidades) y no (expectativas) J. Tuya (2002-2003) Gestión Proyectos 6
Gestión del Proyecto Las cuatro Ps Personal: trabajo en equipo, capacidad técnica, organización Producto: comprender alcance, comunicación con cliente Proceso: Cómo se hacen las cosas, establecer tareas, hitos, ciclo de vida Proyecto: Planificar, estimar esfuerzo y tiempo, controlar J. Tuya (2002-2003) Gestión Proyectos 7 El Proceso de Gestión de Proyectos Actividades de Producción (Técnicas) EVS ASI DSI CSI IAS MSI GP Gestión de Proyectos GPI - Inicio GPS Seguimiento y Control GPF - Finalización J. Tuya (2002-2003) Gestión Proyectos 8
GPI Inicio del Proyecto GPI 1: Estimación de Esfuerzo GPI 1.1: Identificación de elementos a Desarrollar GPI 1.2: Cálculo del Esfuerzo GPI 2: Planificación GPI 2.1: Selección de la Estrategia de Desarrollo GPI 2.2: Selección Estructura Actividades, Tareas y Productos GPI 2.3: Establecimiento Calendario Hitos/Entregas GPI 2.4: Planificación Detallada Actividades y Recursos GPI 2.5: Presentación y Aceptación Planif. General J. Tuya (2002-2003) Gestión Proyectos 9 GPI1.1 Identificación de elementos (definición del Alcance) Comprender qué es lo que debe hacer el sistema y las restricciones existentes Procedentes de la alternativa seleccionada en la EVS Procedentes de un pliego de contratación J. Tuya (2002-2003) Gestión Proyectos 10
(Estimación) Objetivo: Medir el tamaño antes de construir Con el tamaño determinar coste y plazo Ejemplo Construcción: Muro de ladrillos Mediciones: Superficie, Horas Necesarias Costes unitarios: Material, Personal Coste Total: Coste material * Superficie Coste Personal * Horas Necesarias J. Tuya (2002-2003) Gestión Proyectos 11 Estimación Para Desarrollo de Software Qué son las mediciones? Sólo se puede estimar Estimación: La predicción más optimista que tiene una probabilidad no nula de ser cierta (Tom DeMarco) Cómo se puede estimar si no se conoce en detalle el producto final? J. Tuya (2002-2003) Gestión Proyectos 12
Estimación Estimar para: Llegar a un acuerdo y/o contrato Acordar objetivos que se puedan cumplir Poder realizar un seguimiento del progreso Problemas: No tratamos aspectos repetibles y objetivos Desconocimiento del proyecto en etapas tempranas Productividad muy Variable (1 orden de magnitud) Presión de plazos y contratos: estimaciones no realistas Impacto de los cambios J. Tuya (2002-2003) Gestión Proyectos 13 Unidades de Medida Objetivos: Tiempo, Coste, Número de personas Variables Tamaño: Líneas de Código (LDC), pantallas, informes Esfuerzo: Personas-mes Coste: Esfuerzo * Coste Unitario Productividad: Tamaño producido / Esfuerzo Tiempo: Tamaño / (Recursos*Productividad) J. Tuya (2002-2003) Gestión Proyectos 14
Ejercicio: Gestión de cobros 1.1 Actualización de datos Mantenimiento de datos de socios Generación de facturas con periodicidad variable (1, 2, 3, 6, 12 meses) a partir de cualquier mes Facturación con el formato exigido por la Caja de Ahorros Facturación mensual para recibos corrientes, y en cualquier momento para incorrientes 1.2 Consultas Socios, facturas e impagados Lista detallada de facturas impagadas para poder proceder a su reclamación 1.3 Informes No especificado. Lo mismo que se pueda obtener con las consultas interactivas J. Tuya (2002-2003) Gestión Proyectos 15 Ejercicio: Gestión de cobros 1.4 Datos manejados * Socios (datos personales, bancarios, cuota y periodicidad) * Facturas (todas las facturas emitidas, sean cobradas o pedientes de pago) 1.5 Interacción con otros sistemas *Caja de ahorros: disco con formato normalizado para realizar la facturación *Programa de contabilidad, para realizar los asientos correspondientes a cada mes J. Tuya (2002-2003) Gestión Proyectos 16
Ejercicio: Gestión de cobros LaCaja Socio Caja Ahorros Fact Bco. Socio Secretaria Conta IFC Caja Ahorros Recibo NAC Socio J. Tuya (2002-2003) Gestión Proyectos 17 Líneas de Código Líneas de código: Estimar por separado cada componente: Mantenim. Datos 1.500 LDC Consultas 1.000 LDC.. TOTAL 4.000 LDC Datos históricos: Productividad media: 2.000 LDC/persona-mes Coste medio: 6.000 /persona-mes Esfuerzo necesario: 4.000/2.000=2 personas-mes Coste necesario: 2*6.000=12.000 Plazo: 2 meses con 1 persona, 1 mes con 2 personas? J. Tuya (2002-2003) Gestión Proyectos 18
Líneas de Código Problema: El valor esperado no es exacto Posibilidad: Utilizar varias estimaciones: Optimista (S o ), Probable (S m ), Pesimista (S p ) Valor Esperado: VE=(S o + 4*S m + S p ) / 6 Técnica Delphi Varios expertos, cada uno da una predicción secreta Todos reciben el promedio de las predicciones Ajustan las suyas hasta llegar a un punto fijo J. Tuya (2002-2003) Gestión Proyectos 19 Líneas de Código Problemas en la medición: Cómo adivinar las líneas de código (durante el análisis no tenemos código disponible) Son dependientes del entorno tecnológico Dependen del propio programador No las entiende un cliente Solución: Centrarse en la información, no en las funciones. Técnica de Puntos de función J. Tuya (2002-2003) Gestión Proyectos 20
Puntos de función (Albrecht) Ref: www.ifpug.org Contar características dentro de los siguientes grupos: Entradas Externas: Grupos de datos o mandatos que entran y añaden o cambian información Salidas de usuario: Informes, pantallas, etc. Peticiones de usuario: Entrada interactiva que genera respuesta inmediata en forma de salida interactiva Archivos: grupos lógicos de datos internos accesibles por el usuario Interfaces externos: grupos lógicos de datos que se comparten con otra aplicación J. Tuya (2002-2003) Gestión Proyectos 21 Puntos de función (Albrecht) Ponderar la cuenta según la complejidad Simple Medio Complejo SUMA (PFNA) Entradas Externas *3 *4 *6 Salidas de usuario *4 *5 *7 Peticiones de usuario *3 *4 *6 Archivos *7 *10 *15 Interfaces externos *5 *7 *10 J. Tuya (2002-2003) Gestión Proyectos 22
Puntos de función (Albrecht) Cálculo PFA (ajustados). Tamaño: PFA = PFNA * (0,65+0,01*6FA i ) FA i factores de ajuste (respuestas entre 0 y 5 a 14 preguntas) Se requiere comunicación de datos? Funciones de procesamiento distribuido? Rendimiento crítico? Se incluye la conversión y la instalación Diseñado para soportar múltiples instalaciones? J. Tuya (2002-2003) Gestión Proyectos 23 Puntos de función (Albrecht) Cálculo del esfuerzo Datos históricos: Productividad media: 20 PFA/persona-mes Coste medio: 6.000 /persona-mes Esfuerzo necesario: / = personas-mes Coste necesario: *6.000= Necesario: Ajuste para cada organización Medición permanente durante todo el proyecto J. Tuya (2002-2003) Gestión Proyectos 24
Puntos de función (Mark II) Evolución del método de Albrecht Contempla el sistema como un conjunto de transacciones (entrada, proceso, salida) Identificar funciones y entidades Ajustar Calcular esfuerzo J. Tuya (2002-2003) Gestión Proyectos 25 Puntos de función (Mark II) Función 1 Función 2 Función n Nº Entidades *1,66 *1,66 *1,66 Nº Campos Entrada *0,58 *0,58 *0,58 Nº Campos Salida *0,26 *0,26 *0,26 SUMA (PFA: Puntos Función No ajustados) J. Tuya (2002-2003) Gestión Proyectos 26
Puntos de función (Mark II) Ajuste: GI i : Grado de Influencia (respuestas entre 0 y 5 a 19 preguntas similares a las de Albrecht): TGI (entre 0 y 95) Ajuste por complejidad técnica ACT=0,65+0,005*TGI Tamaño: Ajuste PF (separado partes on-line o batch): PFA=PFNA o *ACT + PFNA b *ACT J. Tuya (2002-2003) Gestión Proyectos 27 Puntos de función (Mark II) Productividad (PF/hora) P = A[0,11e -[(PFA-250)/575]2 + 0,01 PFA 1,1 /522 ] A: Promedio industria (1.0 3GL; 1,6 4GL) Esfuerzo en horas Esfuerzo=B*PFA/P B: complejidad: (1,0 on-line; 1,5 batch) B=(PFA o +1,5PFA b )/(PFA o +PFA b ) Plazo entrega (semanas) Plazo=PFA / [0,45*SQRT(PFA)] J. Tuya (2002-2003) Gestión Proyectos 28
Equivalencias PF/LDC Dependencia fundamental del lenguaje (Jones) LENGUAJE LDC/PF C 128 COBOL 106 C++ 64 Visual Basic 32 Power Builder 16 SQL 12 J. Tuya (2002-2003) Gestión Proyectos 29 Estimación Basada en el Proceso Métodos anteriores: Descendentes Ahora: Ascendente. Se estiman las actividades y el esfuerzo para cada función Función \ Tarea Gestión Análisis Diseño Codif. Prueba Rework TOTAL Función 1 Función 2 Función 3 % Esfuerzo 5 15 10 40 20 10 TOTALES J. Tuya (2002-2003) Gestión Proyectos 30
Estimación Basada en el Proceso Válido si se tiene suficientemente descompuesto el sistema, y experiencia (como siempre) Problema: Estimar cada una de las fases por separado Posibilidad: Estimar la fase de codificación Usar porcentajes de distribución de proyectos pasados. Ej: Esfuerzo total en codificación: 4 personas-mes Supone el 40% del esfuerzo Esfuerzo total: 4*100/40=10 personas-mes J. Tuya (2002-2003) Gestión Proyectos 31 Modelos empíricos de estimación Realizar análisis de regresión sobre proyectos anteriores Esfuerzo (Personas-Mes) 25 20 15 10 5 0 0 2 4 6 8 10 Tamaño (KLDC) J. Tuya (2002-2003) Gestión Proyectos 32
Modelos empíricos de estimación Falta de linealidad de los modelos Forma típica: Esfuerzo=A+B(Tamaño) C (A,B,C ctes. empíricas) E = 5,2 KLDC 0,91 Walston-Felix E = 5,5 + 0,73 KLDC 1,16 Bailey-Basili E = 3,2 KLDC 1,05 Bohem E = -13,39 + 0,0545 PFA Albrech-Gaffney E = 585,7 + 15,12 PFA Matson-Barnett-Mellichamp Todos son diferentes Han de calibrarse Necesidad de datos históricos J. Tuya (2002-2003) Gestión Proyectos 33 Modelo COCOMO (Bohem, 1981) COnstructive COst Model (63 proyectos) COCOMO básico: Esfuerzo (pers.-mes) E = a KLDC b Duración (meses) D = c E d Tipo Proyecto a b c d Orgánico (pequeños) 2,4 1,05 2,5 0,38 Semiacoplado (intermedios) 3,0 1,12 2,5 0,35 Empotrado 3,6 1,2 2,5 0,32 J. Tuya (2002-2003) Gestión Proyectos 34
Modelo COCOMO (Bohem) COCOMO intermedio: E(pers.-mes) = a KLDC b FAE D (mes) = c E d Factor de ajuste de esfuerzo (FAE) valora 15 atributos (conductores de coste) escala de 6 puntos valores típicos 0,9 a 1,4 Tipo Proyecto Orgánico (pequeños) Semiacoplado (intermedios) Empotrado COCOMO avanzado: Evalua impacto de los conductores de coste en cada fase del proceso a 3,2 3,0 2,8 b 1,05 1,12 1,2 J. Tuya (2002-2003) Gestión Proyectos 35 Modelo COCOMO II (Bohem) Ref: sunset.usc.edu/research/cocomoii/index.html Tres modelos diferentes Composición de la aplicación (primeras etapas) Diseño previo (tras estabilizar requisitos) Posterior a arquitectura (durante la construcción) Medidas del tamaño diferentes Líneas de Código Puntos de Función Puntos Objeto J. Tuya (2002-2003) Gestión Proyectos 36
The Mythical Man-Month (Brooks) El mito de las Personas-Mes Un muro es levantado por una persona en 9 días Cuántas personas se necesitan para hacerlo en 3 días? Una mujer tiene un hijo en 9 meses Cuántas mujeres se necesitan para tener un hijo en 3 meses? Un producto software es realizado por una persona en 9 meses Cuántas personas se necesitan para hacerlo en 3 meses? J. Tuya (2002-2003) Gestión Proyectos 37 The Mythical Man-Month (Brooks) Diferente naturaleza de las tareas: Ciertas tareas requieren un mínimo de tiempo Levantar un muro no requiere comunicación El desarrollo de software requiere comunicación Efecto de la comunicación Añadir personal a un proyecto retrasado lo puede retrasar aún más Personas y meses no son intercambiables J. Tuya (2002-2003) Gestión Proyectos 38
GPI 2 Planificación GPI 2: Planificación GPI 2.1: Selección de la Estrategia de Desarrollo GPI 2.2: Selección Estructura Actividades, Tareas y Productos GPI 2.3: Establecimiento Calendario Hitos/Entregas GPI 2.4: Planificación Detallada Actividades y Recursos GPI 2.5: Presentación y Aceptación Planif. General J. Tuya (2002-2003) Gestión Proyectos 39 GPI 2.1 Estrategias de Desarrollo Estrategia de Desarrollo (Ref. Eurométodo, Plan General de Calidad) Clásica (en cascada) Incremental (modular) Por Prototipos (típico Extreme Programming) Estructura de tareas, actividades y recursos (WBS) Calendario, Hitos, Entregas. Planificación detallada (Pert/Gantt) J. Tuya (2002-2003) Gestión Proyectos 40
Estructura de actividades, tareas y productos Estructura de descomposición del trabajo (Work Breakdown Structure: WBS) Edificio Terreno Estructura Instalaciones Gestión Proyecto Movimiento Tierras Entrada Resto Urbanización Plantas Tabiques Electricidad Agua Gas J. Tuya (2002-2003) Gestión Proyectos 41 Estructura de actividades, tareas y productos Para Software Sistema Software Software Adquisición e instalación equipos Formación Gestión Proyecto Módulo 1 Módulo 2 Módulo 3 Servidores Clientes Formación Usuarios Formación Técnicos Gas Planificación y Control Calidad Lo que no está en la WBS no está en el proyecto J. Tuya (2002-2003) Gestión Proyectos 42
Estructura de actividades, tareas y productos Suele reflejar la estructura futura del ciclo de vida (análisis, diseño, construcción ) Sistema Software Análisis Diseño y Construcción Implantación y Aceptación Gestión Proyecto Módulo 1 Módulo 2 Módulo 3 Adquisición Formación Pruebas de e instalación Usuarios Aceptación equipos Planificación y Control Calidad J. Tuya (2002-2003) Gestión Proyectos 43 PERT/CPM CPM (Critical Path Method) Cálculo duración a través del camino crítico PERT Program Evaluation & Review Technique Cálculo duración a través de mediciones pesimista, optimista y probable Desarrollo Módulo 1 (1s) Análisis y Diseño (1s) Desarrollo Módulo 2 (1s) Integración y pruebas (1s) Implantación (1s) Desarrollo Módulo 3 (2s) J. Tuya (2002-2003) Gestión Proyectos 44
GANTT Red de tareas en forma de cronograma 31 dic '01 07 ene '02 14 ene '02 21 ene '02 28 ene '02 04 f e Id Nombre de tarea Duración Comienz Fin M J S L M V D M J S L M V D M J S L 1 Análisis y Diseño 1 sem 01/01 07/01 2 Desarrollo Módulo 1 1 sem 08/01 14/01 3 Desarrollo Módulo 2 2 sems 08/01 21/01 4 Desarrollo Módulo 3 1 sem 08/01 14/01 5 Integración 1 sem 22/01 28/01 6 Implantación 1 sem 29/01 04/02 Elementos importantes (Ver MS Project) Precedencias Jerarquía Hitos Recursos Carga de trabajo J. Tuya (2002-2003) Gestión Proyectos 45 GANTT de Seguimiento Compara estado actual con planificado Id Nombre de tarea Comienzo real Fin real % comple 1 Análisis y Diseño 05/01 10/01 100% 2 Desarrollo Módulo 1 14/01 NA 50% 3 Desarrollo Módulo 2 NA NA 0% 4 Desarrollo Módulo 3 NA NA 0% 5 Integración NA NA 0% 6 Implantación NA NA 0% Ver MS Project 07 ene '02 14 ene '02 21 ene '02 28 ene '02 04 f eb '02 S L M V D M J S L M V D M J S L M V 100% 0% 50% 0% 0% 0% J. Tuya (2002-2003) Gestión Proyectos 46
GPS - Seguimiento y Control del Proyecto GPS Seguimiento y Control del Proyecto GPS.1 - Asignación Detallada de Tareas GPS.2- Comunicación al Equipo de Proyecto GPS.3 Seguimiento de Tareas GESTIÓN INCIDENCIAS GPS.4 - Análisis y Registro de Incidencia 4.1 Analizar Impacto 4.2 Propuesta de solución 4.3 Registrar la incidencia GESTIÓN CAMBIOS REQUISITOS GPS.5 - Petición de Cambio de Requisitos GPS.6 - Análisis Petición de Cambio 6.1 Estudio de la Petición 6.2 Impacto de la Petición 6.3 Estudio Alternativas y Propuestas Solución GPS.7 - Aprobación de la Solución GPS.8 - Estimación esfuerzo y Planficación Solución 8.1 Estimación de Esfuerzo 8.2 Planificación de los Cambios GPS.9 - Registro Cambio Requisitos GPS.10 - Finalización Tarea GPS.11 - Actualización Planificación 11.2 Actualización de Tareas 11.2 Obtención de la Extrapolación 11.3 Elaboración Informe de Seguimiento GPS.12 - Reuniones Seguimiento GPS.13 - Aceptación J. Tuya (2002-2003) Gestión Proyectos 47 GPF Finalización GPF 1: Cierre del Proyecto GPF 1.1: Inclusión en Histórico de Proyectos GPF 1.2: Archivo de la Documentación de Gestión Algunos aspectos a incluir Plataforma, metodología, organización Aspectos funcionales Incidencias Mediciones (estimaciones iniciales, valores finales en LDC, PF, errores, dinero). Globales y desglosadas Análisis de las causas de desviaciones. Conclusiones J. Tuya (2002-2003) Gestión Proyectos 48