pcp - resumen

52
PCP – Planificación y Control de Proyectos – Resumen Final Módulo 1 – Introducción y Conceptos Generales Unidad 1: Introducción Proyectos: Definición general Un proyecto es un trabajo singular con fechas definidas de inicio y finalización (calendario), una especificación clara del objetivo o alcance de la tarea, un presupuesto preestablecido y, habitualmente una organización temporal que se desmantela cuando termina el proyecto (J. Lewis) Características Todo proyecto es de alguna manera único.  Eso lo diferencia de las actividades diarias y repetitivas de nuestras organizaciones. Algunos son únicos porque nunca antes se han intentado hacer (ej.: construcción de una estación espacial en Marte), otros debido a que se requiere que se hagan acorde a ciertas especificaciones especiales. Todos los proyectos están relacionados en primer lugar con el cambioSignifican un gran salto hacia adelante: son más revolucionarios que evolutivos, y la acción es bidireccional: una oportunidad de éxito, un riesgo de fracaso. En todos los proyectos hay personas implicadas. Las exigencias son distintas a las de las tareas rutinarias. Todos  los proyectos existen en un periodo de tiempo limitado y definido. Cuando se alcanza el punto de finalización, el proyecto deja de existir. Todos los proyectos tienen un objetivo bien definido, un resultado o producto esperado. Ej.: Se espera poder introducir al mercado (en 10 meses y con $ 500.000) un nuevo aparato para la preparación de alimentos, que cumpla con determinadas especificaciones de rendimiento predefinidas. Nacen con la formulación de sus necesidades. Todos los proyectos son llevados a cabo con la utilización de recursos transitorios (personas, organizaciones, equipos, materiales e instalaciones). - Presupuesto operativo. - Recursos limitados, administrarlos. - Modo de utilización de los recursos. Una constante en los proyectos es la incertidumbre. La incertidumbre es la falta de información sobre la duración, ocurrencia o valor de acontecimientos futuros. El riesgo es el grado estimado de incertidumbre. Ej.: el alcance del proyecto quizá se logre para la fecha fijada como meta, pero el costo final puede ser mucho más alto de lo anticipado debido a la baja estimación inicial del costo de ciertos recursos. Proyecto Informático Un Proyecto Informático es un conjunto de tareas interdependientes, con unas determinadas características, cuyo propósito es la realización de un producto de software que automatice un conjunto bien definido de requerimientos de unos usuarios, atendiendo a uno o más procesos de negocio. Características de un Proyecto Informático Involucra múltiples profesiones, perfiles de RR HH y niveles de la organización. Contiene nuevas tecnologías y elementos de incertidumbre y riesgo. Verónica Botto – Legajo 46068 1/52

Upload: vvbotto9174

Post on 28-Nov-2015

132 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Módulo 1 – Introducción y Conceptos Generales

Unidad 1: Introducción Proyectos: Definición general Un   proyecto   es   un   trabajo   singular   con   fechas   definidas   de   inicio   y   finalización   (calendario),   una especificación clara del objetivo o alcance de la tarea, un presupuesto preestablecido y, habitualmente una organización temporal que se desmantela cuando termina el proyecto (J. Lewis)

Características • Todo proyecto es de alguna manera único.  

Eso lo diferencia de las actividades diarias y repetitivas de nuestras organizaciones. Algunos son  únicos porque nunca antes se han intentado hacer (ej.: construcción de una estación espacial en  Marte),   otros   debido   a   que   se   requiere   que   se   hagan   acorde   a   ciertas   especificaciones  especiales.

• Todos los proyectos están relacionados en primer lugar con el cambio. 

Significan un gran salto hacia adelante: son más revolucionarios que evolutivos, y la acción es  bidireccional: una oportunidad de éxito, un riesgo de fracaso. 

• En todos los proyectos hay personas implicadas.Las exigencias son distintas a las de las tareas rutinarias.

• Todos  los proyectos existen en un periodo de tiempo limitado y definido.Cuando se alcanza el punto de finalización, el proyecto deja de existir.

• Todos los proyectos tienen un objetivo bien definido, un resultado o producto esperado.Ej.: Se espera poder introducir al mercado (en 10 meses y con $ 500.000) un nuevo aparato para  la  preparación de alimentos,  que cumpla con determinadas especificaciones de  rendimiento  predefinidas.

• Nacen con la formulación de sus necesidades.

• Todos los proyectos son llevados a cabo con la utilización de recursos transitorios(personas, organizaciones, equipos, materiales e instalaciones).

­ Presupuesto operativo.­ Recursos limitados, administrarlos.­ Modo de utilización de los recursos.

• Una constante en los proyectos es la incertidumbre.La   incertidumbre   es   la   falta   de   información   sobre   la   duración,   ocurrencia   o   valor   de  acontecimientos futuros. El riesgo es el grado estimado de incertidumbre. 

Ej.: el alcance del proyecto quizá se logre para la fecha fijada como meta, pero el costo final  puede ser mucho más alto de  lo anticipado debido a  la baja estimación inicial  del  costo de  ciertos recursos.

Proyecto Informático

Un Proyecto Informático es un conjunto de tareas interdependientes, con unas determinadas características, cuyo propósito es la realización de un producto de software que automatice un conjunto bien definido de requerimientos de unos usuarios, atendiendo a uno o más procesos de negocio. 

Características de un Proyecto Informático

• Involucra múltiples profesiones, perfiles de RR HH y niveles de la organización.• Contiene nuevas tecnologías y elementos de incertidumbre y riesgo.

Verónica Botto – Legajo 46068 1/52

Page 2: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

• Involucra fuertes procesos de comunicación entre personas intervinientes.

Fundamentación de la importancia de la planificación y control de proyectos

• De acuerdo al reporte del CHAOS del Standish Group –año 1995­, los proyectos en promedio tienen un sobrecosto del 189% del presupuesto original y demoran un 222% respecto de las estimaciones de tiempo originales.

• La   aportación   del   software   a   la   economía   de   EE.UU.:  es   la   principal   fuente   de   superávit   por exportaciones en la balanza comercial (20.000 millones de dólares), con 24.000 millones de dólares de ingresos por exportaciones de software y 4.000 millones gastados en importaciones (datos del  año 1996, tomados de: Software Conspiracy, Mark Minasi, McGraw Hill, 2000).

• Papel del software en la infraestructura: no sólo tiene un papel importante en Internet; también en sectores como transportes, energía, medicina y finanzas. 

El   software  se  halla   cada  vez  más  presente  como elemento   incorporado  a  otros  mecanismos arraigados.  Los automóviles modernos,  por  ejemplo,  poseen entre 10 y 100 procesadores para dirigir todo tipo de funciones, desde el reproductor de música hasta el sistema de frenado. 

• El costo del software: La relación entre la adquisición de software y hardware se aproxima a cero. 

Coste total de la propiedad del software: 5 veces el coste del hardware. (El grupo Gartner calcula que el coste de mantenimiento de una PC durante 5 años asciende en la actualidad a 7 dólares por cada K de memoria del ordenador). 

• Calidad del software◦ Fallos en el desarrollo   . Según estudios llevados a cabo por IBM en el año 1994, el 55% de 

los sistemas costaron más de  lo previsto.  El  68% excedieron el   tiempo previsto para su desarrollo.   El 88% se tuvo que volver a diseñar por completo.

◦ Accidentes.     La  mayor   parte   de   los  expertos  coinciden   en   señalar  que   “la   manera   más probable  de   destruir   el  mundo  es  por  accidente”.   Y   aquí   es  donde   entramos  en   juego nosotros,   los   profesionales   de   la   informática:   “nosotros   somos   los   que  provocamos   los accidentes". 

Nathaniel Borenstein, creador de MIME, en: Programming as if People Mattered: Friendly Programs,  Software  Engineering and Other  Noble  Delusions,  Princeton University  Press, Princeton, NJ, 1991. 

Ej.:Ariane­5 (Junio de 1996), de la Agencia Espacial Europea. El cohete Ariane­5 explotó 30  segundos después de despegar, a causa de una excepción en el código de Ada. 

◦ Software de baja calidad.    

Generalmente, la medición se realiza después de la entrega del software. La medición de la calidad se hace en errores/kloc, y la media en la industria es de aproximadamente 10. 

El software de alta calidad tiene 1 o menos errores/kloc.

Ej:  Sistema  Praxis  CDIS   (1993).  Sistema  de  control   de   tráfico  aéreo  desde   terminales,  empleado en el Reino Unido. Este software utilizaba un lenguaje de especificación concreto,  y   no   producía   un  aumento   del   coste   de   la   red.  Tenía   una   tasa   de   error   muy   baja:  aproximadamente 0,75 fallos/kloc. 

Elementos de la administración de proyectos. 1. Niveles Estratégico.

Táctico.Operacional.

2. Fases del Proyecto Planificación.Diseño

Verónica Botto – Legajo 46068 2/52

Page 3: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Desarrollo.Prueba.Implementación. Verificación.

3. Actividades del Proyecto Confeccionar cronograma.Planificar presupuesto. Manejo de recursos.Manejo riesgo/oportunidad.Control de calidad.

4. Herramientas Datos históricos de la red. Documentos  de la infraestructura de la red.Modelo de proyecto.Optimización de la red.Diagrama de Gantt. Técnicas  PERT/CPM. 

5. Proceso Analítico Beneficios o rentabilidad.Curva del aprendizaje.Escalabilidad.Interoperabilidad. Portabilidad. Riesgo. Herencia (software y hardware).

6. Ambiente Los paradigmas del sistema son cliente/servidor y orientado a objetos.

7. Gente Aunque éste es el  séptimo enumerado, es el elemento más importante. La gente discute acerca  del “equipo”  y el “cliente”. Es necesario tomar ambos conceptos  para alcanzar el éxito. En esta ocasión, este tipo de actividad se refiere  al manejo del  conflicto.

Ciclos de vida de un proyecto informático. Define comienzo y fin del proyecto. Identifica qué debe hacerse y quiénes están involucrados.

Características: costos y asignación de recursos, riesgos e incertidumbre, influencias de los accionistas. 

Verónica Botto – Legajo 46068 3/52

Page 4: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Ciclo de vida del producto (SDLC, System Development Life Cicle)

El Ciclo de Vida del desarrollo de Sistemas, o proceso de desarrollo de software, es el proceso de crear o alterar sistemas de información, y los modelos y metodologías que se usan para desarrollar estos sistemas.

El estándar internacional para describir el método de seleccionar, implementar y monitorear el ciclo de vida para el software es el ISO/IEC 12207.

El   trabajo   que   se   asocia   a   la   Ingeniería   del   Software   se   puede   dividir   en   tres   fases   genéricas,   con independencia del área de aplicación, tamaño o complejidad del proyecto.

1. La  fase  de  definición  se  centra   sobre  el  qué.  Se   identifica   la   información que  ha  de  ser procesada, que función y rendimiento se desea, que comportamiento del sistema, qué interfaces van a ser  establecidas,  qué   restricciones de diseño existen y  que criterios de validación se necesitan para definir un sistema correcto. Por tanto, han de identificarse los requisitos clave del sistema y del software.

Tienen lugar tres tareas principales: ingeniería de sistemas o de información, planificación del proyecto de software, y análisis de los requisitos.

2. La  fase de desarrollo  se centra en el  cómo.   Se intenta definir cómo han de diseñarse las estructuras de datos, cómo ha de implementarse la función como una arquitectura del software, cómo   han   de   implementarse   detalles   procedimentales,   cómo   han   de   caracterizarse   las interfaces,   cómo   traducir   el   diseño   en   un   lenguaje   de   programación   (o   lenguaje   no procedimental) y cómo realizar la prueba.

Si bien variarán los métodos aplicados durante esta fase, hay tres tareas que deberían ocurrir siempre: diseño del software, generación de código y prueba del software.

3. La fase de mantenimiento se centra en el cambio que va asociado a la corrección de errores, a las  adaptaciones  requeridas  a  medida  que  evoluciona  el  entorno  del   software  y  a   cambios debidos a las mejoras producidas por los requisitos cambiantes del cliente.

Durante esta fase se encuentran cuatro tipos de cambios:

1. Corrección: Aún llevando a cabo las actividades de garantía de calidad, es probable que el cliente descubra defectos en el software. El mantenimiento correctivo corrige dichos defectos.

2. Adaptación: Con el paso del tiempo, es probable que cambie el entorno para el cual se desarrolló el software (CPU, SO, reglas de la empresa, etc). El mantenimiento adaptativo modifica el software para acomodarlo a los cambios de su entorno externo.

3. Mejora: A medida que se utiliza el software, pueden descubrirse funciones adicionales que serían beneficiosas. El mantenimiento perfectivo lleva al software mas allá  de  los requerimientos originales.

4. Prevención: El software se deteriora debido al cambio. El mantenimiento preventivo hace cambios  en   los  programas  a   fin  de  que  se  puedan corregir,  adaptar  y  mejorar  más fácilmente.

Modelos de Proceso de Software

Se selecciona un modelo de proceso para la ingeniería del software según la naturaleza del proyecto y de la aplicación,  los métodos y   las herramientas a utilizarse,  y  los controles y  entregas que se requieren.  A continuación se tratan diferentes modelos de procesos, que representan un intento de ordenar una actividad inherentemente caótica.

Modelo en cascada (o modelo lineal secuencial) 

El modelo en cascada sugiere un enfoque sistemático, secuencial del desarrollo del software, que comienza en un nivel de sistemas y progresa con el análisis, diseño, codificación, pruebas y mantenimiento. 

Verónica Botto – Legajo 46068 4/52

Page 5: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Actividades

• Ingeniería y modelado de información: El trabajo comienza estableciendo requisitos de todos los elementos del sistema y asignando al software algún subgrupo de estos requisitos. Esta visión   es   esencial   cuando   el   software   se   debe   interconectar   con   otros   elementos   como hardware, personas y bases de datos.

• Análisis de  los requisitos de software:  Debe comprenderse el  dominio de  información del software,   la   función   requerida,   comportamiento,   rendimiento   e   interconexión.   El   cliente documenta y repasa los requisitos del sistema y del software.

• Diseño: Es un proceso que se centra en cuatro atributos distintos de un programa: estructura de   datos,   arquitectura   del   software,   representaciones   de   interfaz   y   algoritmo.   El   diseño traduce requisitos en una representación del software que se pueda evaluar por calidad antes de que comience la generación del código.

• Generación de código: Se traduce el diseño a una forma legible para la máquina.

• Pruebas: Se centran en procesos lógicos internos del software, asegurando que todas las sentencias se han comprobado, y en los procesos externos funcionales, que aseguran que la salida sea la esperada.

• Mantenimiento: El software sufrirá cambios después de ser entregado al cliente, porque se han  encontrado  errores,  porque  debe adaptarse  a   los   cambios  de su  entorno  externo  o porque el  cliente   requiere mejoras  funcionales o de  rendimiento.  El  mantenimiento aplica cada una de las fases precedentes a un programa ya existente.

Desventajas

Este modelo es el paradigma mas antiguo y extensamente utilizado. Sin embargo, existen problemas que ponen en duda su eficacia, entre los que se encuentran:

1. Los proyectos reales rara vez siguen el modelo secuencial, por lo que este modelo no puede imitar adecuadamente las actividades de la vida real. 

2. A menudo es difícil que el cliente exponga todos los requisitos. Este modelo lo requiere, y tiene dificultades al manejar la incertidumbre natural al comienzo de muchos proyectos. Su aplicación debería estar limitada a situaciones donde los requerimientos y su implementación están bien entendidos. 

3. El cliente debe tener paciencia. Una versión de trabajo del programa no estará  disponible hasta que el proyecto esté  muy avanzado. Un grave error puede ser desastroso si no se detecta hasta que se revisa el programa.

4. Los  responsables del  desarrollo  del  software siempre se retrasan  innecesariamente.  Este modelo lleva a estados de bloqueo en los que algunos miembros del equipo de desarrollo  deben esperar a otros para completar tareas dependientes. Los estados de bloqueo tienden a ser mas importantes al principio y al final de un proceso lineal secuencial.

Pese a estas debilidades, el ciclo de vida clásico sigue siendo el modelo de proceso mas usado en la  industria, y es significativamente mejor que un enfoque al azar para el desarrollo de software.

Verónica Botto – Legajo 46068 5/52

Page 6: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Modelo de construcción de prototipos

Este   enfoque   es   ideal   cuando   el   cliente   define   objetivos   generales   pero   no   identifica   los   requisitos detallados, o cuando el desarrollador no está seguro de la eficacia de un algoritmo, de la capacidad de adaptación de un SO o de la forma en que debería darse la interacción hombre­máquina.

La construcción del prototipo comienza con la recolección   de   requisitos   conocidos,   y   se identifican   las   áreas   del   software   donde   es necesaria   mayor   definición.   Entonces, aparece un “diseño rápido”, que se centra en una   representación   de   esos   aspectos   del software   que   serán   visibles   para   el usuario/cliente.   El   diseño   rápido   lleva   a   la construcción   de   un   prototipo,   que   el   cliente evalúa y utiliza para refinar los requisitos del software a desarrollar.  Con  la  interacción, el prototipo satisface las necesidades del cliente y el desarrollador comprende mejor lo que se necesita   hacer,   porque   actúa   como   un mediador   entre   el   punto   de   vista   del desarrollador y el punto de vista del usuario, vistas   que   con   frecuencia   son significativamente diferentes. 

Una vez que el prototipo ha servido para el propósito indicado, debería tirarse y construir un sistema nuevo. 

Desventajas

Si bien a los clientes y desarrolladores les gustan los prototipos ­los primeros, porque ven el “sistema real” los segundos porque pueden construir algo inmediatamente­ este modelo puede ser problemático:

1. El cliente ve lo que parece ser una versión de trabajo del software y no sabe que, con la prisa de hacer que funcione, no se ha tenido en cuenta la calidad del software global, o la facilidad  de mantenimiento a largo plazo. Cuando se le informa que debe construirse el producto otra vez, no lo entiende y pide que se le hagan ajustes para transformarlo en el producto final.  Muy frecuentemente, la gestión del desarrollo del software es muy lenta.

2. El   desarrollador   hace   compromisos   de   implementación   para   que   el   prototipo   funcione rápidamente. Se puede usar un SO o un lenguaje de programación inadecuados simplemente porque   son   conocidos   y   están   disponibles,   o   implementar   un   algoritmo   ineficiente   para demostrar la capacidad. Después de algún tiempo, el desarrollador puede olvidarse de las razones por las cuales estas elecciones son inadecuadas. La selección menos ideal es ahora una parte integral del sistema.

La construcción de prototipos puede ser un paradigma efectivo, pero la clave es definir las reglas de juego desde el principio: cliente y desarrollador se ponen de acuerdo en que el prototipo es un mecanismo de definición de requisitos. Entonces se descarta ­al menos parcialmente­ y se realiza la ingeniería de software con una visión hacia la calidad y la facilidad de mantenimiento.

Modelo DRA

El Desarrollo Rápido de Aplicaciones, (RAD, Rapid Application Development) es un modelo del proceso de desarrollo del software lineal secuencial que enfatiza un ciclo de desarrollo extremadamente corto. Es una adaptación a alta velocidad del modelo lineal secuencial, en el que se logra un desarrollo rápido basado en componentes. Si se comprenden bien los requisitos y se limita el ámbito del proyecto, el proceso DRA permite que el equipo de desarrollo cree un sistema completamente funcional dentro de períodos cortos de tiempo, por ejemplo de 60 a 90 días.

Verónica Botto – Legajo 46068 6/52

Page 7: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Desventajas

Al igual que todos los modelos de proceso, el enfoque DRA tiene inconvenientes:

1. Para proyectos grandes, requiere recursos humanos suficientes para crear el número necesario de equipos RAD.

2. Requiere clientes y desarrolladores comprometidos en las rápidas actividades necesarias para completar un sistema en un tiempo abreviado.

3. No todos los tipos de aplicaciones son apropiados para DRA. Si un sistema no se puede modularizar adecuadamente, la construcción de los componentes para DRA será problemático.

4. EL DRA no es adecuado cuando los riesgos técnicos son altos (cuando el software usa tecnología nueva o requiere un alto grado de interoperatividad con programas existentes.

Modelos de Procesos Evolutivos de Software

El software, al igual que todos los sistemas complejos, evoluciona con el tiempo. Para estos sistemas, los  ingenieros de software necesitan un modelo de proceso que se haya diseñado para acomodarse a un producto que evolucione con el tiempo.

Los modelos evolutivos son iterativos. Se caracterizan por la forma en que permiten desarrollar versiones cada vez mas completas del software.

Modelo Incremental

El modelo incremental combina elementos del modelo lineal secuencial (aplicados repetitivamente) con la filosofía  interactiva de construcción de prototipos.  Cada secuencia  lineal produce un “incremento” en  la funcionalidad del software. 

Cuando se usa este modelo, el primer incremento a menudo es un producto esencial (núcleo). Es decir, se afrontan requisitos básicos, pero muchas funciones suplementarias quedan sin desarrollar. El cliente utiliza este  producto  y,  como  resultado  de  la  utilización/evaluación,  se  desarrolla  un plan  para  el   incremento siguiente. Este proceso se repite siguiendo la entrega de cada incremento, hasta que se elabore el producto  completo. 

El modelo incremental, al igual que el de construcción de prototipos, es interactivo por naturaleza; pero a diferencia de éste, se centra en la entrega de un producto operacional con cada incremento.

Es particularmente útil cuando la dotación de personal no está disponible desde el principio del desarrollo. Si el   producto   inicial   es  bien   recibido,   se   puede  añadir  mas  personal  para   implementar   los   incrementos siguientes. Además, los incrementos se pueden planear para gestionar riesgos técnicos.

Si es muy riesgoso desarrollar el sistema completo de una sola vez, debería considerarse este modelo.

Verónica Botto – Legajo 46068 7/52

Page 8: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Modelo en espiral

Es un modelo evolutivo que acompaña la naturaleza interactiva de la construcción de prototipos con los aspectos controlados y sistemáticos del modelo secuencial lineal, supera muchas de las dificultades de los modelos previos, y al mismo tiempo que incorpora lo mejor de los mismos.

El modelo en espiral se divide en un número de actividades estructurales, también llamadas regiones de tareas. Generalmente, existen entre tres y seis regiones de tareas, cada una poblada por una serie de tareas que se adaptan a las características del proyecto que se va a desarrollar; para proyectos pequeños, el número de tareas y su formalidad es baja. Para proyectos mayores y críticos, cada región contiene tareas que se definen para lograr un nivel mas alto de formalidad. 

Regiones de tareas/Actividades estructurales

1. Comunicación con el ClienteLas tareas requeridas para establecer comunicación entre el desarrollador y el cliente.

2. PlanificaciónLas tareas requeridas para definir tiempos, recursos y otras informaciones relacionadas con el proyecto.

3. Análisis de RiesgoLas tareas requeridas para evaluar riesgos técnicos y de gestión.

4. IngenieríaLas tareas requeridas para construir una o mas representaciones de la aplicación.

5. Construcción y AdaptaciónLas tareas requeridas para construir, probar, instalar y proporcionar soporte al usuario (por ejemplo, documentación y práctica)

6. Evaluación del ClienteLas  tareas  requeridas para obtener  la  reacción del  cliente según  la evaluación de  las representaciones del  software creadas durante  la  etapa de  ingeniería e  implementada durante la etapa de instalación.

A diferencia del modelo de proceso clásico, puede adaptarse y aplicarse a lo largo de todo el ciclo de vida  del software. Cuando la espiral se caracteriza de esta forma, permanece operativa hasta que el software se retira.

El modelo en espiral es un enfoque realista del desarrollo de sistemas y de software a gran escala, utiliza la  

Verónica Botto – Legajo 46068 8/52

Page 9: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

construcción de prototipos como mecanismo de reducción de riesgos, y si se aplica adecuadamente, debe reducir los riesgos antes de que se conviertan en problemáticos.

Este modelo se popularizó mucho entre los especialistas de ADE (Aeroespacio, Defensa e Ingeniería) pero no tanto entre los desarrolladores de aplicaciones comerciales. Los primeros son riesgosos por naturaleza, mientras  los proyectos comerciales son más conservadores, ya que tienden a utilizar tecnología con un mayor grado de madurez y a trabajar sobre problemas bien conocidos. 

Las tres restricciones en la administración de proyectos. 

Estas son: alcance, tiempo   y coste. Sirven para ver cómo cambiar el proyecto cuando cambia el mundo (requerimientos, RRHH, etc.), de manera de pensar, negociar objetivos y tomar decisiones realistas. 

Por  la  incertidumbre natural  de  los proyectos y  la competencia por  los recursos,  es  raro completar  los proyectos acorde a un alcance exacto,   tiempo y costo originalmente estimados. Debe contemplarse un balance entre las tres restricciones, definiendo prioridades relativas.

El alcance es el trabajo implicado en la ejecución del proyecto.  ¿Qué producirá el proyecto? 

El tiempo es cuánto tiempo se requerirá  para terminar el proyecto.  ¿Cuanto tiempo tomará el proyecto? 

El coste es cuánto costará terminar el proyecto.  ¿Cuánto dinero costará el proyecto? 

¿Para qué nos sirve conocer las restricciones?: ¡Para negociar!

¿Negociar para qué? Para cumplir con los objetivos y encontrar mejores objetivos a lo largo de las distintas fases del proyecto. Para ello, tener en cuenta los recursos humanos y la calidad requerida para el proyecto.

¿Con quién? Clientes, gerencia, líder de proyecto.

Verónica Botto – Legajo 46068 9/52

Page 10: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Módulo 2 – Áreas Básicas del Conocimiento

Unidad 2: Planificación y definición del alcance Planificación y definición del alcance. El ciclo de desarrollo del software incluye varias etapas o fases (concepto, especificación de requisitos, construcción, verificación, aceptación, operación), que permiten alcanzar un sistema completo y usuarios satisfechos. 

Aunque gran parte de las discrepancias entre cliente y equipo de trabajo se derivan de la dificultad para satisfacer   los  requerimientos,  ya que el   trabajo  realizado no satisface  las expectativas del  cliente o no cumple al 100% sus especificaciones, la raíz del conflicto reside en la mayor parte de los casos en una mala  especificación del usuario (o del cliente).

Por   lo   general   el   cliente,   antes   de   comprometer   fondos   para   un   desarrollo   de   software,   quiere   una estimación de costo y duración del proyecto. 

Un proyecto típico comienza cuando un cliente se acerca para discutir una necesidad percibida.

Ej.: un banco nacional requiere ayuda para la construcción de un sistema de información de sus cuentas, sin importar en qué parte del mundo se encuentren éstas.

Con esa  definición no  basta;  es  necesario  especificar  detalladamente  el   alcance  concreto  del   trabajo: funcionalidad,   prestaciones,   características   físicas,   interfaces,   etc.   Caso   contrario   surgirán   (antes   o después)   conflictos  durante   la   fase  de  ejecución del  proyecto,   ya  que  el   esfuerzo  a   realizar  depende fuertemente de estos detalles. 

Ej.: no es lo mismo una LAN con Windows que con UNIX. No cuesta lo mismo desarrollar una base de datos relacional con una interfaz de usuarios web, que un registro de pedidos básico.

Entonces,   concluimos   que   una   definición   completa   de   requisitos   para   con   el   usuario,   consistente   y verificable y que se propague a través de todo el ciclo de vida del desarrollo del software, es clave para la culminación con éxito del proyecto.

Para   ello   existe   una   herramienta   que   genera   una   Estructura   de   Descomposición   del   Trabajo,   que desarrollaremos a continuación.La estructura de descomposición del  trabajo se desarrolló   inicialmente por el Departamento de Defensa norteamericano, y se describe en normas.

Estructura de descomposición del trabajo. • Trabajar con los clientes y potenciales usuarios para entender qué quieren y qué necesitan, 

asegurándonos de que se sientan cómodos con el entendimiento de sus necesidades.

• Listar todos los elementos a entregar del proyecto (ítems que espera ver el cliente durante el desarrollo del proyecto). Los elementos pueden ser:

DocumentosDemostraciones de funcionesDemostraciones de precisiónDemostraciones de confiabilidad, seguridad y desempeño

• Determinar  qué  actividades deben efectuarse para producir  estos elementos (ver   técnica de modelado de proceso UML). Distinguir entre hitos y actividades: 

Actividad: parte del proyecto que tiene lugar durante un período; tiene principio y fin.Hito: Completitud de una actividad en un determinado momento; momento final de una actividad especialmente diseñada.

Verónica Botto – Legajo 46068 10/52

Page 11: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Al  proyecto  analizado  de  esta   forma   lo  podemos  separar  en  una  sucesión  de   fases.  Cada   fase  está compuesta por etapas y cada etapa puede subdividirse posteriormente, si fuera necesario.

La estructura de descomposición del trabajo de un proyecto no da una indicación de la interdependencia de las unidades de trabajo, ni muestra qué partes del proyecto pueden desarrollarse en forma concurrente. Ej:

En aplicaciones como MS­Project o una aplicación de dirección de  proyecto similar, se puede encontrar la estructura de descomposición del trabajo como una lista vertical, con las sangrías mostrando la estructura. Esto será compatible con las Vistas de Gantt.

Involucramiento de la gerencia. 

Planificación y definición del alcance estratégico:El encargado estratégico debe participar de la primera reunión y tener en cuenta lo siguiente:  

• El proyecto apoya ciertas metas corporativas.  • El encargado táctico, administrador del sistema IS, tiene autoridad completa para manejar 

este proyecto.  • Aquí están las conclusiones de la evaluación que se condujo para comenzar el proyecto.

Planificación y definición del alcance táctico:

La responsabilidad principal del líder es asegurarse de que existan metas en la planificación  y definición del alcance.

• Esto puede parecer imposible de hacerse, pero no arremeta. ¿A usted le gustaría manejar sobre un puente que fue construido sin ninguno de los planes del diseño? 

Verónica Botto – Legajo 46068 11/52

Page 12: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

• Usted no debe ejercer presión en la planificación; los resultados son suposiciones, no dirigidos.

• Usted  necesita  utilizar  datos  históricos,  pero   “tiene   la   licencia  de que usted ha  hecho esto antes”.

• Usted  debe  centrarse  en   las  necesidades  de   los  clientes  antes  que  en   los   requerimientos técnicos.  

• Reconozca que todo tiene igual valor.

• Recuerde la palabra más importante de cualquier proceso del proyecto: “cliente”.

Planificación y Definición del Alcance Operacional

Los encargados operacionales deben asistir al encargado táctico en satisfacer esa responsabilidad primaria de los administradores para  adquirir los datos de apoyo para obtener metas realistas.  

• Reconozca que la planificación y definición del alcance es un esfuerzo del equipo.  

• Recuerde el propósito del proyecto, satisfacción del cliente. 

• Recuerde que usted es responsable de una cierta parte del proceso del proyecto sobre una base cotidiana y usted necesita disponer un sistema realista de responsabilidades medibles al encargado táctico y al equipo.  

• Identifique cómo usted y su equipo pueden ser los más eficientes y eficaces en alcanzar las metas definidas del proyecto para  la planificación y definición del alcance de una manera oportuna y eficiente en coste.

No se quede con una preocupación específica, ya sea técnica, de capacitación,  de  documentación, o  de comercialización. Lo más importante es escuchar lo que tiene que decir el cliente.

Unidad 3: Planificación y secuenciamiento de actividades

Descomposición del trabajo y diagrama de actividades:

Una estructura de descomposición del trabajo (Work Breakdown Structure) es la descomposición orientada a la entrega de un proyecto en componentes mas pequeños. Define y agrupa los elementos de trabajo de un proyecto de tal manera que ayude a organizar y a definir el alcance total del proyecto.

Un elemento puede ser  un producto,  un dato,  un servicio  o  cualquier  combinación de ellos.  Una EDT también provee el marco necesario para la estimación y control de costos detallados junto con la guía para el desarrollo y el control del proyecto.

Los elementos comunes de todos los EDT son:1. El alcance del proyecto, los “entregables” del proyecto.2. Fecha inicial y final del alcance del proyecto.3. Presupuesto para el alcance del proyecto4. Nombre de la persona relacionada con el alcance del proyecto

La estructura de descomposición del trabajo representa el proyecto como un conjunto de piezas de trabajo  separadas. Actividades e hitos, definidos anteriormente, son elementos que cliente y desarrollador pueden utilizar para rastrear el desarrollo o mantenimiento.

Regla del 100%

Un principio de diseño importante para los EDT es la regla del 100%, que se define de la siguiente manera: 

Verónica Botto – Legajo 46068 12/52

Page 13: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

un EDT incluye el 100% del trabajo definido por el alcance del proyecto y captura todos los entregables  ­internos,   externos,   intermedios­   en   términos   del   trabajo   que   debe   ser   completado,   incluyendo   la administración del proyecto. Esta regla se aplica a todos los niveles dentro de la jerarquía: la suma de los trabajos de un nivel “hijo” deben sumar el 100% del trabajo representado por el “padre”, y el EDT no debe  incluir ninguna tarea por fuera del alcance real del proyecto, es decir, no puede incluir mas del 100% del trabajo. 

Es   importante   recordar   que   la   regla   del   100%   también   se   aplica   al   nivel   de   actividades.   El   trabajo representado   por   las   actividades   en   cada   paquete   deben   sumar   el   100%   del   trabajo   necesario   para completar el paquete.

Actividades

En un diagrama de este tipo, se definen actividades y se ilustran las relaciones entre ellas, teniendo en cuenta que las actividades tienen cuatro características:

1. El precedente: evento o conjunto de eventos que deben ocurrir antes de que la actividad pueda comenzar.

2. La duración: cantidad de tiempo necesaria para completar la actividad.

3. La fecha de entrega: fecha para la cual debe estar completada la actividad. 

4. El punto final: hito o componente listo para entregar.

Para construir  la red de un diagrama de actividades, primero se deben determinar todas las actividades involucradas en el proyecto. Luego, existen tres alternativas para establecer la red:

 1  Partiendo del acontecimiento final y trabajando de derecha a izquierda. 2  Método de progresión: se comienza con el acontecimiento inicial. 3  Método medio: se trabaja desde el punto elegido en ambas direcciones.

Los diagramas de actividades tienen dos formas de representación: actividades en las flechas y actividades en los nodos.

Diagrama de Actividades en las flechas (AOA, Activity On Arrow o ADM, Arrow Diagramming Method)

Es una técnica de diagramación de red en la cual las actividades se representan por flechas. Se usa para agendar actividades en un plan de proyectos. La relación de precedencia entre actividades se representa por  círculos conectados por  una  o mas  flechas.  La  longitud  de  la   flecha  representa   la  duración de  la actividad relevante. AOA sólo muestra relaciones final­a­principio, es decir que cada actividad se completa antes de que la actividad sucesora comience.

A   veces   se   agrega   una   actividad   ficticia   para   representar   una   dependencia   entre   tareas,   la   cual   no representa a   ninguna actividad real. Esta tarea se agrega para indicar la precedencia que no puede ser  expresada usando sólo las actividades reales. A menudo, esta tarea tiene un tiempo de duración de 0. 

Las flechas representan las actividades involucradas y las dependencias entre actividades,  y los nodos del grafo son los hitos del proyecto.

Verónica Botto – Legajo 46068 13/52

Page 14: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Un AOA permite dar visibilidad a características importantes del proyecto, por ejemplo que una actividad no puede comenzar hasta que finalice otra, o que se pueden hacer varias cosas en paralelo. Las actividades que no tienen dependencia entre sí, pueden realizarse concurrentemente.

El uso del diagrama AOA como una práctica común de la administración de proyectos ha declinado con la adopción de herramientas de programación. Adicionalmente, el método de diagrama de precedencia (PDM, Precedence Diagrama Method) o Actividad en los Nodos (AON) se usa mas que el AOA.

El evento representado por el nodo no consume tiempo ni recursos:

• Un nodo es un hito específico, definido en el proyecto.• Tiene duración 0 y no consume ningún recurso.• Todas las actividades que llegan al nodo deben ser completadas antes de que la actividad 

que sigue al nodo pueda ser realizada.

 Lógica para construir un AOA

• Cada actividad es representada por una sola flecha y a cada flecha corresponde una sola y única actividad.

• Todas las actividades que terminan en un mismo punto deben preceder a todas aquellas que empiezan en ese punto.

• Todo lo que demore el cumplimiento del plan (entrega de materiales, etc.) se indica con una flecha.

• Cuando una tarea es ejecutada no se puede volver a ella: no existen ciclos.• Una actividad no puede comenzar hasta que las precedentes no finalicen.• La red debe numerarse de izquierda a derecha y de arriba hacia abajo.

• Todos los nodos, salvo el del comienzo y el del fin, deben estar precedidos y seguidos de una actividad por lo menos.

Actividades y tiempos estimados: Si agregamos la duración a cada actividad, al borde correspondiente del diagrama se tendrá información más útil. Lo vemos con el ejemplo a continuación:

Verónica Botto – Legajo 46068 14/52

Page 15: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Diagrama de actividades en nodos (AON, Activity On Node o PDM, Precedence Diagram Method)

El diagrama AON es una herramienta para programar actividades en el plan de proyecto. Es un método de construir un diagrama de red con la agenda del proyecto que usa nodos para representar las actividades y  las conecta con flechas que muestran las dependencias.

Un diagrama AON se caracteriza por:• Mostrar tareas críticas, no críticas y tiempo de holgura• Muestra las relaciones entre las distintas tareas• Permite escenarios de distinto tipo: what­if, peor caso, mejor caso y mas probable.

Es un método popular porque ayuda a encontrar el camino crítico, a definir la cantidad de tiempo requerido para el proyecto, identificar plazos de entrega y retrasos, y disminuir los recursos usados en un proyecto.

También puede usarse para  project  crashing,  es  decir   reducir  el   tiempo de  terminación del proyecto, incrementando los recursos, con lo que se aumenta el costo. El objetivo es reducir la duración del proyecto minimizando el costo de crash, reduciendo el tiempo de una o más de las actividades críticas del proyecto.

Hitos• Un hito es un suceso o acontecimiento crítico para el proyecto• No tiene duración. Ejemplo: Fecha de aprobación

Actividades

Fecha temprana de comienzo Ftc• Es la fecha mas temprana en que una actividad puede iniciarse• Es el tiempo de terminación más próximo de la actividad que la precede en forma inmediata.  

Cuando la preceden (convergen) varias actividades, el Ftc es el mayor de los tiempos de esas actividades.

• Se calcula de izquierda a derecha.

Fecha temprana de fin Ftf• Es la fecha más temprana en la cual puede finalizar la actividad. Es el resultado de sumar la 

duración de la actividad (dE) a su fecha temprana de inicio.• Ftf = Ftc + dE

Verónica Botto – Legajo 46068 15/52

Page 16: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Fecha Tardía de fin FTf• Es la fecha más tardía en la cual puede finalizar la actividad sin comprometer el tiempo de 

finalización del proyecto. Resulta de tomar la mínima fecha tardía de inicio de actividad de todas las actividades que la suceden.

• Se comienza por el último nodo, donde Ftf=Ftf. Es igual al tiempo de inicio más tardío de la actividad que la sigue en la secuencia en forma inmediata. Si existe más de una actividad que la siguen en forma inmediata, la FTf será el menor de los FTc de esas actividades.

Fecha Tardía de comienzo FTc• Es la fecha más tardía en la cual puede iniciarse la actividad sin comprometer el tiempo de 

finalización del proyecto. Resulta de restar la duración de la actividad a su fecha tardía de fin.• Es igual al tiempo de finalización más tardío menos la duración esperada de la tarea.

FTc = FTf – dE

Holgura ­ Margen de la Actividad

Se define como holgura de la actividad a la diferencia entre su fecha tempranas y su fecha tardía de inicio (la diferencia entre las fechas de fin tiene el mismo valor). Las actividades críticas (las que forman parte de algún camino crítico) tienen holgura cero.

La holgura  (H) es  la máxima cantidad de  tiempo que una actividad puede retrasarse sin afectar la duración total del proyecto. Se puede calcular de dos modos:

1. H = FTf – Ftf

2. H = FTc – Ftc

Camino crítico: • Un camino es una secuencia de actividades que se extiende desde el nodo inicial hasta el 

nodo final de la red. El camino crítico es aquel que tuviere la mayor duración (puede haber más de un camino crítico), y que definirá el tiempo de duración del proyecto.

Verónica Botto – Legajo 46068 16/52

11 C 21 21 E 26 36 H 4110 5 5 FIN

INICIO26 G 36 42 J 47

0 A 5 5 B 11 10 55 6

11 D 15 15 F 24 36 I 424 9 6

Page 17: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

• Es el camino compuesto por un conjunto de actividades con margen nulo.

• Es el menor tiempo requerido para completar el proyecto y el camino más largo. En el grafo, compuesto por {A,B,C,E,G,I,J}

Actividades a desarrollar para definición y secuenciamiento de actividades. 

Técnicas de planificación temporal

Diagrama de Gantt

Un diagrama de Gantt es un tipo de gráfico de barras, desarrollado por Henry Gantt en 1910, que ilustra el calendario de un proyecto.  Muestra  las  fechas de  inicio y  fin de  las actividades de un proyecto.  Estas actividades son lo elementos de un EDT. Es un gráfico lineal donde el tiempo figura en el eje horizontal y las actividades en el vertical

Ventajas y Limitaciones

Los diagramas de Gantt se han transformado en una técnica común para representar las fases y actividades de un esquema de descomposición del  trabajo (EDT),  por  lo que pueden ser entendidos por una gran cantidad de personas.

Un error común cometido por aquellos que confunden el diseño de un diagrama de Gantt con el diseño del proyecto es que intentan definir el EDT al mismo tiempo que definen la programación de las actividades. Esta   práctica   hace   muy   difícil   seguir   la   Regla   del   100%.   La   forma   correcta   de   trabajar   es   definir completamente el EDT de tal forma que siga esa regla, y luego diseñar el diagrama de Gantt.

Aunque este diagrama es útil y valioso para pequeños proyectos que caben en una sola hoja o pantalla, pueden ser difíciles de manejar para proyectos con mas de 25­30 actividades. Los gráficos de Gantt muy grandes no  pueden verse  en  la  mayoría de  los  monitores.  Una crítica   relacionada es  que comunican relativamente poca información por unidad de visualización; es decir que los proyectos son, en general, mas complejos de lo que se puede comunicar efectivamente con un diagrama de Gantt.

El diagrama de Gantt sólo representa parte de las tres restricciones (costo, tiempo y alcance), porque se enfoca primariamente en la administración de la agenda. Además, no representa el tamaño de un proyecto o el tamaño relativo de los elementos de trabajo, por lo que la magnitud de lo que queda fuera del diagrama  es fácilmente mal comunicada. Si dos proyectos tienen la misma cantidad de días de atraso, el proyecto mas grande tiene mayor impacto en la utilización de recursos. A pesar de esto, el Gantt no muestra la diferencia.

Verónica Botto – Legajo 46068 17/52

Page 18: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Aunque el software de administración de proyectos puede mostrar las dependencias como lineas entre las actividades, si existe una gran cantidad de dependencias, el gráfico será ilegible.

Como las barras horizontales del diagrama tienen una altura fija, puede representar mal la carga de trabajo (requerimientos de recursos) de un proyecto, siendo confuso especialmente en proyectos muy grandes.

En el gráfico que se muestra a continuación, las actividades E y G parecen ser del mismo tamaño pero, en realidad, pueden tener distintos órdenes de magnitud. Otra crítica es que los diagramas de Gantt muestran la carga de trabajo como una constante cuando, en la práctica, muchas actividades (especialmente aquellos elementos acumulados) tienen planes de carga de trabajo diferentes, y como esto no se ve en el diagrama, se puede comunicar erróneamente el verdadero estado de de ejecución de la tarea.

Pert (Program/Project Evaluation and Review Technique)

La Técnica de Evaluación y Revisión de Programas, comúnmente abreviada PERT, es una herramienta estadística, usada en la administración de proyectos, que está  diseñada para analizar y representar  las tareas involucradas para completar un proyecto dado. Desarrollada en los años 50 por la Marina de Estados Unidos, se la usa generalmente en conjunto con el método CPM (Critical Path Method).

PERT es un método para analizar  las  tareas necesarias para completar  un proyecto,  especialmente el tiempo necesario para cada una de ellas, y para calcular el  tiempo mínimo que llevará  terminar todo el proyecto.

Gráfico de una red PERT para un proyecto con cinco hitos (10 a 50) y seis actividades (A a F)

Verónica Botto – Legajo 46068 18/52

Page 19: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Convenciones

• Un diagrama PERT es una herramienta que facilita la toma de decisiones. El primer borrador de un PERT numerará   los eventos secuencialmente,  de a 10 (10,  20,  30,  etc.)  para permitir   la inserción posterior de eventos adicionales.

• Dos eventos consecutivos en un diagrama PERT están relacionados por actividades, las que se representan por flechas.

• Los eventos se presentan en una secuencia lógica, y ninguna actividad puede comenzar hasta que el evento inmediato anterior (precedente) esté completo.

• El planificador decide cuales hitos deben ser eventos PERT y también la secuencia apropiada.

• Un diagrama PERT puede tener múltiples páginas con muchas sub­tareas.

PERT es una técnica valiosa para administrar,  y reducir   la redundancia donde múltiples tareas ocurren simultáneamente. 

Es una técnica muy popular  de análisis  de camino crítico que asume una distribución normal.  Permite determinar la probabilidad de que el Ftc (Fecha temprana de comienzo) para una actividad esté próximo al tiempo planeado para esa actividad.

Con PERT se puede calcular el camino crítico, e identificar aquellas actividades que pueden ser un cuello de botella, usando la  información de distribución de probabilidades, tiempos de comienzo más tardíos y tempranos y el diagrama de actividades.

Duración estimada de las actividades

Cuando existe un alto grado de incertidumbre se usan tres tiempos estimados para cada actividad, a partir de los cuales se obtiene el tiempo esperado para esa actividad.

Para estimar la duración esperada de cada actividad es también deseable tener experiencia previa en la realización de tareas similares. En planificación y programación de proyectos se estima que la duración esperada de una actividad es una variable aleatoria de distribución de probabilidad Beta Unimodal de parámetros (to, tm, tp) donde:

Tiempo   Optimista   (to)   =   mínimo   tiempo   posible   para   completar   una   actividad   en   particular, asumiendo que todo va mejor de lo que puede esperarse.

Tiempo Pesimista (tp)  = tiempo máximo requerido para completar una actividad, asumiendo que haya circunstancias adversas, como la presencia de complicaciones   inusuales o imprevistas (pero excluyendo grandes catástrofes).

Tiempo mas Probable (tm) = la mejor estimación del tiempo requerido para completar una actividad, asumiendo que las condiciones sean normales. 

Tiempo Esperado (te) = Se calcula a partir de los tres anteriores. Es la mejor estimación del tiempo requerido para completar una actividad, considerando que las condiciones no son siempre normales (esto   implica que el   tiempo esperado es  el   tiempo promedio  que  requeriría  la  actividad  si  se  la repitiera un número de veces a lo largo de un período de tiempo).

NOTA: Se supone que cada Tarea, sigue una ley de distribución de   de Euler. El valor (o tiempo) esperado en esta distribución se expresa en la siguiente fórmula:

te = (to + 4tm + tp) ÷ 6

con varianza:                                                y  desviación estándar:

Verónica Botto – Legajo 46068 19/52

Page 20: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Ejemplo 1: 

¿Cuál es la duración esperada de una actividad que tiene los siguientes tiempos estimados? to = 5, tm = 15  y tp = 31?Rta = te = (5 + 4*15 + 31) / 6 = 16

Ejemplo 2:

Dadas las Actividades A, B, C el tiempo total esperado del proyecto puede calcularse como la suma de los tiempos esperados de cada actividad o a partir de un to, tm y tp calculados para el proyecto.

Actividad A te = (4 + 4(10) + 12 ) / 6 = 9,33 díasActividad B te = (7 + 4(15) + 21) / 6  = 14,66 días Total =  29 díasActividad C     te = (2 + 4(5)  + 8 ) / 6 = 5 días

Actividad to         tm          tpA 4          10 12B 7          15          21 te Total =  (13+4(30)+41) / 6 = 29 díasC 2            5            8

Total                13          30          41

Ventajas• El diagrama PERT define explícitamente y hace visibles las dependencias (relaciones de 

precedencia) entre los elementos de la EDT.• Facilita la identificación del camino crítico y lo hace visible.• Facilita la identificación de las fechas de comienzo temprano, comienzo tardío y holgura 

para cada actividad.• PERT provee una reducción potencial  del  tiempo total  del proyecto, debido a  la mejor 

comprensión de las dependencias, ya que pueden ejecutarse en forma concurrente las tareas independientes.

• La gran cantidad de datos de un proyecto puede ser  organizada y presentada en un diagrama para ser usado en la toma de decisiones.

Desventajas• Potencialmente, pueden haber cientos o miles de actividades y relaciones de dependencia 

individuales.• El PERT no es fácilmente escalable para pequeños proyectos.• Los diagramas de red tienen a ser grandes y difíciles de manejar, requiriendo impresiones 

de varias páginas y papel de tamaño especial.• La falta de un marco de tiempo en la mayoría de los diagramas PERT/CPM hace difícil 

mostrar el estatus aunque los colores pueden ayudar (Ej: colores específicos para nodos  completos).

• Cuando los gráficos PERT/CPM se transforman en difíciles de manejar, se los deja de usar en la administración del proyecto.

Unidad 4: Planificación de recursos “El elemento fundamental en todos los proyectos de software es el personal”

El personal debe organizarse en equipos eficaces,  motivados para hacer un software de alta calidad y coordinados para alcanzar una comunicación efectiva. 

Verónica Botto – Legajo 46068 20/52

Page 21: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Personal del Proyecto:  Para determinar el cronograma del proyecto y estimar el esfuerzo y  los costos asociados, se necesita:  

• Conocer cuánta gente estará trabajando  en el proyecto.

• Saber qué tareas ejecutarán.

• Saber   qué   habilidades   y   experiencias   deben   tener   las   personas   para   poder realizar su trabajo lo mejor posible (eficacia).

El   proceso   del   software   (y   todos   los   proyectos   de   software)   lo   componen   participantes   que   pueden clasificarse en una de cinco categorías:

1. Gestores   superiores:  que   definen   los   aspectos   de   negocios   que   a   menudo   tienen   una significativa influencia en el proyecto.

2. Gestores (técnicos) del proyecto,  que deben planificar, motivar, organizar y controlar a los profesionales que realizan el trabajo de software.

3. Profesionales: que proporcionan las capacidades técnicas necesarias para la ingeniería de un producto o aplicación.

4. Clientes: que especifican los requisitos para la ingeniería de software.

5. Usuarios finales:  que interaccionan con el software una vez que se ha entregado para la producción.

Todos los proyectos de software están compuestos por los participantes apuntados anteriormente. Para ser eficaz, el equipo del proyecto debe organizarse de manera que maximice las habilidades y capacidades de cada persona. Ése es trabajo del jefe del equipo.

Roles del Personal y Características: Los roles apuntan a las distintas actividades del desarrollo.

Actividades claves de un proyecto: Análisis de los requerimientos, Diseño del sistema, Diseño del   programa,   Implementación   del   programa,   Prueba,   Entrenamiento,   Mantenimiento, Aseguramiento de calidad.

• No todas las tareas son ejecutadas por la misma persona.

• Las asignaciones de tareas al personal dependen de la dimensión del proyecto, del personal mismo y de su experiencia. 

• Existen ventajas en asignar responsabilidades diferentes a grupos de personas y no a solo una; una de esas ventajas es la de identificar fallas al principio del proceso. 

• Una vez que se han decidido  los roles de los miembros del grupo del proyecto, se debe decidir qué tipo de gente se necesita en cada rol.

Dos personas con la misma profesión serán diferentes en al menos algún aspecto, estas características pueden afectar la capacidad del individuo para desempeñarse en forma productiva. Algunas características, como el interés en el trabajo, pueden determinar el éxito o falta de él en una tarea dada. Cuando hablamos de personal asignado a un proyecto, debe tenerse en cuenta:

Capacidad para desempeñar el trabajo. Interés en el trabajo.Experiencia con sistemas similares.Experiencia con herramientas o lenguajes.Experiencia con técnicas similares.Habilidad de comunicación.Capacidad de gerenciamiento. Etc.

Lineas de comunicación del personal del proyecto.

Existen actividades que deben ser compartidas por miembros del equipo (trabajo en grupo). Para ello debe existir una fluida comunicación. 

Verónica Botto – Legajo 46068 21/52

Page 22: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

La comunicación en un proyecto es muy importante, porque el avance y éxito del proyecto depende de ella, sirve para que los integrantes del equipo manifiesten sus ideas.

Incrementar el grupo de trabajo de 2 a 3 personas multiplica el número de posibles líneas de comunicación. En general, si un proyecto tiene n trabajadores, hay n (n­1)/2 = líneas de comunicación.

Ejemplo:2 (2­1) / 2 = 1 línea de comunicación.5 (5­1) / 2 = 10 líneas de comunicación.

Administración del Personal 

Se refiere a los conceptos y técnicas requeridas para desempeñar adecuadamente las tareas relacionadas con el personal. Algunas de ellas son:

• Análisis de puestos (determinar la naturaleza del trabajo de cada empleado).• Planeamiento de las necesidades y candidatos a los puestos.• Selección de los candidatos a ocupar puestos.• Inducción y capacitación (la capacitación no se realiza en todos los proyectos).• Evaluación del  desempeño.• Comunicación interpersonal (entrevistas, asesoría, disciplina).

Estilos de Trabajo 

Las diferentes personas diferentes estilos preferidos para interactuar con otras personas y para entender los problemas que surgen en el curso de su trabajo. Existen dos componentes de estilos preferidos de trabajo: 

• Forma en la cual se comunican los pensamientos y se reúnen las ideas.• Grado en que las propias emociones afectan la toma de decisiones. Dentro de la toma de 

decisiones existen lo que se denomina  personas extrovertidas (trasmiten el pensamiento)  y personas introvertidas (piden sugerencias a los demás).

A su vez, estos dos tipos de personas pueden ser:• Intuitivas, es decir que basan sus decisiones en sentimientos y reacciones emocionales.• Racionales,  que basan sus  decisiones examinando  los hechos y considerando  todas   las 

opciones posibles.  

Verónica Botto – Legajo 46068 22/52

Page 23: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Por lo tanto, se pueden definir cuatro estilos básicos: 

1. Personas extrovertidas racionales Tienden a mantener sus ideas. No permiten que una intuición afecte  las decisiones a tomar. Informan a los colegas lo que ellos quieren saber. Cuando razonan confían en la lógica, no en las emociones.

2. Personas introvertidas racionalesEvitan decisiones emocionales. Se toman el tiempo necesario para considerar todos los posibles cursos de acción. No se sienten seguros de tomar decisiones, a menos que estén convencidos de tener todos los hechos en la mano. 

3. Personas extrovertidas intuitivasBasan sus decisiones en  reacciones emocionales y  tienden a querer  comentar  sobre estas. Son creativas utilizando su  intuición. Sugieren aproximaciones no usuales para solucionar un problema.

4. Personas introvertidas intuitivasSon   creativas.   Aplica   la   creatividad   solo   después   de   haber   reunido   la   suficiente información sobre la cual se basa una decisión.

Organización del Proyecto

¿Para qué sirve?  Para que los miembros del equipo trabajen en forma combinada y organizada; así podrán obtener mejores resultados al finalizar el proyecto.

La elección de una estructura apropiada para el proyecto depende de varias cosas:• Los antecedentes y estilos de trabajo de los miembros del equipo.• El número de personas involucradas en el proyecto.• Los estilos de gestión de los clientes y desarrolladores. Etc.

Los jefes de equipo

La gestión de un proyecto es  una actividad   intensamente  humana,  y  por  esta   razón,   los competentes profesionales del software a menudo no son buenos jefes de equipo. Simplemente, no tienen la mezcla  adecuada de capacidades para dirigir personas.

¿Qué es lo que se busca cuando se selecciona a alguien para dirigir un proyecto de software? Weinberg responde esta pregunta siguiendo el modelo de gestión MOI:

• Motivación:  La habilidad para motivar (con un tira y afloja) al  personal  técnico para que produzca conforme a sus mejores capacidades.

• Organización: La habilidad para moldear procesos existentes (o inventar unos nuevos) que permita al concepto inicial transformarse en un proyecto final.

• Ideas  o  Innovación: La habilidad para motivar al personal para crear y sentirse creativos, incluso cuando deben trabajar dentro de los límites establecidos (por otros, además) para un producto o aplicación de software particular.

Un gestor de proyecto debería concentrarse en entender el problema que hay que resolver, gestionando el flujo de ideas y, al mismo tiempo, haciendo saber a todos los miembros del equipo (mediante palabras y  hechos) que la calidad es importante y que no debe verse comprometida.

Otro punto de vista de  las características que definen a un gestor  de proyecto eficiente   resalta cuatro apartados clave:

Verónica Botto – Legajo 46068 23/52

Page 24: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

• Resolución   del   problema.  Un   gestor   eficiente   de   un   proyecto   puede   diagnosticar   los aspectos   técnicos  y   de   organización  más   relevantes,  estructurar   una  solución  o  motivar apropiadamente a otros profesionales para que desarrollen la solución. También debe aplicar las lecciones aprendidas de anteriores proyectos a las nuevas situaciones y se mantiene lo  suficientemente   flexible   para   cambiar   la   gestión   si   los   intentos   iniciales   de   resolver   el problema no dan resultado.

• Dotes de gestión. Un buen gestor  de proyecto debe tomar las riendas. Debe tener confianza para asumir el control cuando sea necesario y la garantía de que los buenos técnicos sigan sus instintos.

• Incentivo de los logros. Para optimizar la productividad de un equipo de proyecto, un gestor debe recompensar la iniciativa y los logros, y demostrar a través de sus acciones que no se penalizará si se corren riesgos controlados.

• Influencia y construcción de espíritu de equipo. Un gestor de proyecto eficiente debe ser capaz de “leer” a la gente; debe ser capaz de entender mensajes verbales y no verbales y reaccionar ante las necesidades de las personas que mandan esas señales. El gestor debe mantener el control en situaciones de gran estrés.

El equipo de proyecto.

Existen tantos estructuras como organizaciones que desarrollan software. Las siguientes opciones pueden aplicarse a los recursos humanos de un proyecto que requiere n personas trabajando durante k años:

1. N individuos son asignados a m diferentes tareas funcionales, tiene lugar relativamente poco trabajo conjunto; la coordinación es responsabilidad del gestor del software que puede que tenga otros seis proyectos de los que preocuparse.

2. N  individuos son asignados a  m  diferentes  tareas  funcionales  (m<N) de manera que se establecen “equipos” informales, se puede nombrar un líder al efecto; la coordinación entre los equipos es responsabilidad de un gestor de software.

3. N  individuos  se  organizan  en  r  equipos;  a   cada  equipo  se   le  asigna  una  o  más   tareas funcionales; cada equipo tiene una estructura específica que se define para todos los equipos que trabajan en el proyecto; la coordinación es controlada por el equipo y por el gestor del proyecto de software.

La mejor estructura de equipo depende del estilo de gestión de una organización, el número de personas que compondrá el equipo, sus niveles de preparación y la dificultad general del problema. Podemos sugerir tres organigramas de equipo genérico:

Descentralizado Democrático (DD): Este equipo de ingeniería del software no tiene un jefe permanente. Mas bien, se nombran coordinadores de tareas a corto plazo y se sustituyen por otros para diferentes  tareas. Las decisiones sobre problemas y  los enfoques se hacen por consenso del grupo. La comunicación entre los miembros del equipo es horizontal.

Descentralizado controlado (DC):  Este equipo  tiene un  jefe  definido que coordina  tareas específicas y jefes secundarios que tienen responsabilidades en cada subtareas. La resolución de  tareas  sigue  siendo una actividad  del  grupo,  pero   la   implementación de  soluciones se reparte entre subgrupos por el jefe de equipo. La comunicación entre subgrupos e individuos es horizontal. También hay comunicación vertical a lo largo de la jerarquía de control.

Centralizado Controlado (CC): El jefe del equipo se encarga de la resolución de problemas a alto nivel y la coordinación interna del equipo. La comunicación entre el jefe y los miembros del equipo es vertical.

Verónica Botto – Legajo 46068 24/52

Page 25: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Como una nota a pie de página, los primeros organigramas de un equipo de software eran centralizados controlados (CC), originalmente denominados equipo programador jefe (Chief Programmer Team). En esta estructura, el núcleo del equipo se compone del

• Ingeniero jefe (Jefe de programadores): quien planifica, coordina y revisa todas las actividades técnicas   del   equipo.   Puede   ser   ayudado   por   uno   o   más   especialistas   (expertos   en telecomunicaciones, diseñadores de BD, equipo de soporte) y un bibliotecario de software.

• Ingeniero de apoyo (Asistente del jefe de programadores): que ayuda al ingeniero jefe en sus actividades y puede sustituirle con una mínima perdida de continuidad del proyecto,

• Personal   técnico:  normalmente de dos a  cinco personas,  que  llevan a cabo  los análisis  y actividades de desarrollo,

• Bibliotecario de software:  Colabora con muchos equipos y realiza  las siguientes  funciones: mantiene y controla   todos  los elementos de  la  configuración del  software  (documentación, listados de fuentes, datos, soportes magnéticos), ayuda a recopilar y formatear datos de la productividad del software, cataloga e indexa módulos de software reutilizables y ayuda a los equipos en la investigación, evaluación y preparación de documentos.

También se puede encontrar, en esta estructura a dos tipos de personas mas:

• Gerente   de   proyectos:   Encargado   de   buscar   miembros   lo   suficientemente   flexibles   para interactuar con todos los integrantes del equipo.

• Programadores   expertos:   Supervisan   y   asignan   tareas   a   programadores   juniors.   Realizan programación   avanzada.   Se   encuentran   ubicados   jerárquicamente   arriba   de   los programadores juniors.

Verónica Botto – Legajo 46068 25/52

Page 26: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Módulo 3: Áreas Complementarias de la Administración de Proyectos

Unidad 5: Métricas del software

MétricasLas métricas permiten entender mejor los atributos de los modelos; pero, fundamentalmente, se emplean para valorar la calidad de los productos de ingeniería o los sistemas que construimos. Además, permiten, monitorizar, controlar, predecir y probar el desarrollo de software y mantenimiento. 

Las métricas persiguen tres objetivos:1. Ayudarnos a entender que ocurre durante el desarrollo y el mantenimiento.2. Permitirnos controlar que es lo que ocurre en nuestros proyectos.3. Poder mejorar nuestros procesos y nuestros productos.

La calidad del software es un acompleja mezcla de factores que variarán a través de diferentes aplicaciones y según los clientes que las pidan. 

Los factores que afectan la calidad del software se pueden categorizar en dos grupos:

• Directos: factores que se pueden medir directamente, como defectos por punto de función, costo, esfuerzo humano, lineas de código, velocidad de ejecución, etc.

• Indirectas: factores que sólo se pueden medir indirectamente, como complejidad, facilidad de uso o mantenimiento, funcionalidad, eficiencia, etc. 

McCall propone una categorización de factores que afectan a la calidad del software, mostrados en la figura siguiente, que se concentran en tres aspectos  importantes de un producto software: sus características operativas, su capacidad de cambios y su adaptabilidad a nuevos entornos.

Corrección: hasta dónde satisface un programa su especificación y logra los objetivos del cliente.

Fiabilidad: hasta dónde se puede esperar que un programa lleve a cabo la función para la cual fue creado con la exactitud requerida. 

Eficiencia: La cantidad necesaria de recursos informáticos y código para que un programa realice su función.

Integridad:  hasta dónde se puede controlar el  acceso al  software o a  los datos por personas no autorizadas.

Verónica Botto – Legajo 46068 26/52

Page 27: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Usabilidad (facilidad de manejo): El esfuerzo necesario para aprender a operar, preparar los datos de entrada e interpretar los resultados de un programa.

Facilidad de mantenimiento: El esfuerzo necesario para localizar y arreglar un error en un programa.

Flexibilidad: El esfuerzo necesario para modificar un programa operativo.

Facilidad de prueba: El esfuerzo necesario para probar un programa para asegurarse de que realiza su función pretendida.

Portabilidad:   El   esfuerzo   necesario   para   transferir   el   programa   de   un   entorno   de   hardware   y/o software a otro.

Reusabilidad (capacidad de reutilización):  Hasta dónde se puede volver a utilizar un programa (o partes de él) en otras aplicaciones, en relación al empaquetamiento y alcance de las funciones que realiza el programa. 

Interoperatividad: el esfuerzo necesario para acoplar un sistema con otro.

La recopilación de datos, el calculo de métricas y la evaluación de métricas son los tres pasos que deben implementarse al comenzar el programa de métricas. Básicamente, hay dos clases de métricas de software: las métricas orientadas al tamaño, que hacen uso de la linea de código como factor estandarizado de otras medidas, como persona­mes o cantidad de defectos y el punto de función, que proviene de las medidas del dominio de información y de una evaluación subjetiva de la complejidad del problema.

Métricas orientadas al tamaño

Las métricas de software orientadas al tamaño provienen de la normalización de las medidas de calidad y/o productividad considerando el “tamaño”  del software que se haya producido. Si una organización mantiene registros sencillos, se puede crear una tabla de datos orientados al  tamaño, como la que se muestra a continuación:

La tabla lista cada proyecto de desarrollo de software y las medidas correspondientes de cada proyecto. Debe tenerse en cuenta que el esfuerzo y el coste registrados en la tabla incluyen todas la actividades de ingeniería del software (análisis, diseño, codificación y prueba) y no sólo la codificación.

Para desarrollar métricas que se puedan comparar entre distintos proyectos, se seleccionan las líneas de código   como   valor   de   normalización.   Con   los   rudimentarios   datos   contenidos   en   la   tabla   se   pueden desarrollar, y para cada proyecto también, un conjunto de métricas simples orientadas al tamaño:

• errores por KLDC (miles de lineas de código, KiloLDC)• defectos por KLDC• $ por LDC• páginas de documentación por KLDC

Además, se pueden calcular otras métricas interesantes:• errores/persona­mes• LDC por persona­mes• $/página de documentación

Las métricas orientadas al tamaño no están aceptadas universalmente como el mejor modo de medir el proceso de desarrollo de software. La mayor parte de la discusión gira en torno al uso de las líneas de código como medida clave.

Verónica Botto – Legajo 46068 27/52

Page 28: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

A favor

• La LDC es un artificio que se puede calcular fácilmente para todos los proyectos de desarrollo de software.

• Muchos modelos de estimación de software existentes usan LDC o KLDC como clave de entrada

• Ya existe un amplio conjunto de datos y de literatura basados en LDC.

En contra

• Las medidas en LDC son dependientes del lenguaje de programación.

• Perjudican a los programas más cortos, pero bien diseñados

• No pueden acomodar fácilmente lenguajes procedimentales

• Su uso en estimación requiere un nivel de detalle que puede resultar difícil de alcanzar (es decir, el planificador debe estimar las LDC a producirse mucho antes de que se complete el análisis y el diseño).

Métricas orientadas a la función

Las métricas de software orientadas a la función utilizan una medida de la funcionalidad entregada por la  aplicación como valor de normalización. Ya que la “funcionalidad” no se puede medir directamente, se debe derivar  indirectamente mediante otras medidas directas. Albretch fue el que  las propuso a primera vez, sugiriendo  una  medida   llamada punto  de   función.  Los  puntos  de   función se  derivan  con  una   relación empírica según las medidas contables ­directas­ del dominio de información del software y las evaluaciones de la complejidad del software. 

Los puntos de función se computan completando la tabla de la figura siguiente:

Se determinan cinco características de dominios de información. Los valores de dominios de información se definen de la forma siguiente:

Número de entradas de usuario: Se cuenta cada entrada de usuario que proporciona diferentes datos orientados a  la  aplicación.  Las entradas se deberían diferenciar  de  las peticiones,   las cuales se cuentan de forma separada.

Números de salidas  de usuario.  Se cuenta  cada  entrada de usuario  que proporciona al  usuario información orientada a  la  aplicación.  En este  contexto   la salida se  refiere  a  informes, pantallas, mensajes de error, etc. Los elementos de datos particulares dentro de un informe no se cuentan de  forma separada.

Verónica Botto – Legajo 46068 28/52

Page 29: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Número de peticiones de usuario. Una petición se define como una entrada interactiva que produce la generación de alguna respuesta del software inmediata en forma de salida  interactiva. Se cuenta  cada petición por separado.

Número de archivos: Se cuenta cada archivo maestro lógico (esto es, un grupo lógico de datos que puede ser una parte de una gran base de datos o un archivo independiente).

Número de interfaces externas. Se cuentan todas las interfaces legibles por la máquina (por ejemplo, archivos de datos de cinta o disco) que se utilizan para transmitir información a otro sistema.

Una vez que se han recopilado los datos anteriores, a la cuenta se asocia un valor de complejidad. Las organizaciones que utilizan métodos de punto de función desarrollan criterios para determinar si una entrada en   particular   es   simple,   media   o   compleja.   No   obstante,   la   determinación   de   la   complejidad   es   algo subjetiva.

Para calcular puntos de función (PF), se utiliza la relación siguiente:

PF = cuenta­total x [0,65 + 0,01 x ∑Fi ]

en donde cuenta­total es la suma de todas las entradas obtenidas de la figura. Fi (i= 1 a 14) son valores de  ajuste de la complejidad según las respuestas a una serie de preguntas, que deben ser evaluadas en una escala de 0 a 5 (0 = no influye, 1 = incidental, 2 = moderado, 3 = medio, 4 = significativo, 5 = esencial). Las  preguntas son:

Una vez que se han calculado los puntos de función, se utilizan de forma análoga a las LDC para normalizar medidas de productividad, calidad  y otros ámbitos del software:

• errores por PF• defectos por PF• $ por PF• página de documentación por PF• PF por persona­mes

Verónica Botto – Legajo 46068 29/52

Page 30: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Estimación de un proyecto de softwareHoy en día, el software es el elemento más caro en la mayoría de los sistemas informáticos, por lo que un gran error en la estimación del costo puede ser la diferencia entre pérdidas y ganancias. Comprender cual sera el costo probable, es un aspecto crucial en la planificación y gestión de un proyecto. Sobrepasarse en el costo puede ser desastroso para el equipo de desarrollo.

El presupuesto de un proyecto incluye los costos de instalación, personal, métodos y herramientas, costos ocultos,   y   costos  de  adquisición  de  software  y   de   herramientas  para  dar   soporte   a   los   esfuerzos  de desarrollo.Determinar cuantos días­personas se requerirán para el proyecto es el componente de costo con mayor grado de incertidumbre. Además, la estimación del proyecto debe hacerse repetidamente durante el ciclo de vida, refinándola ante cambios en el proyecto.

La estimación del coste y del esfuerzo del software nunca será una ciencia exacta, porque son demasiadas las variables ­humanas, políticas, técnicas, de entorno­ que pueden afectar el coste final. 

Para realizar estimaciones seguras de costes y esfuerzos tenemos varias opciones posibles:

1. Dejar la estimación para mas adelante.Aunque   atractiva,   no   es   una   opción   práctica.   Las   estimaciones   de   costes   han   de   ser proporcionadas a priori. Sin embargo, hay que reconocer que cuanto más tiempo esperemos, más cosas sabremos, y cuanto más sepamos, menor será la probabilidad de cometer serios errores.

2. Basar las estimaciones en proyectos similares ya terminados.Esta opción puede funcionar razonablemente bien si el proyecto actual es bastante similar a los   esfuerzos   pasados   y   si   otras   influencias   del   proyecto  (por   ejemplo,   el   cliente,   las condiciones de gestión,  el  EIS,   las  fechas  límites)  son similares.  Desafortunadamente,   la experiencia anterior no ha sido siempre un buen indicador de futuros resultados.

3. Utilizar técnicas de descomposición 

Estas técnicas son relativamente sencillas y permiten generar las estimaciones de coste y de esfuerzo  del   proyecto.  Las   técnicas  de   descomposición   utilizan  un   enfoque  de   “divide  y vencerás”  para   la  estimación de proyectos  de  software.  Mediante   la  descomposición del proyecto  en sus   funciones principales  y  en  las   tareas  de  ingeniería correspondientes,   la estimación del coste y del esfuerzo puede realizarse de una forma escalonada idónea.

4. Desarrollar un modelo empírico  para el cálculo de costes y esfuerzos del software.Los modelos empíricos de estimación pueden usarse como complemento de las técnicas de descomposición, ofreciendo un enfoque de estimación potencialmente valioso por derecho propio. Cada modelos se basa en la experiencia (datos históricos) y toma como base: d=f(vi)  donde d es uno de los valores estimados (esfuerzo, coste, duración del proyecto) y los vi son determinados parámetros independientes (por ejemplo, LDC o PF estimados)

Esta opción solo será buena si los datos históricos son buenos. Si no es así, la estimación del coste descansará sobre una base muy inestable.

Métodos de estimación basados en Juicio experto

Se basan en la experiencia de los gerentes en proyectos similares. Por ello se sustenta en la experiencia,  objetividad, competencia y percepción del estimador.

Los modelos que se basan en el juicio experto, dependen de la habilidad de los expertos para determinar  cuáles proyectos son similares y en qué forma. 

• Un  método consiste en solicitar a varios expertos que hagan tres predicciones: pesimista (x), optimista (y) y mas probable (z), luego la estimación del esfuerzo surge de: (x+4y+z)/6.

Verónica Botto – Legajo 46068 30/52

Page 31: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

• Técnica Delphi

Con la técnica Delphi, cada experto hace una predicción individual en forma secreta, basada en sus  experiencias  y  utilizando el  proceso  que  desee.  El  promedio  estimado  se  calcula  y  se presenta al grupo. Cada experto  tiene  la posibilidad de revisar su estimación si  lo desea. El proceso se repite hasta que no haya expertos que deseen una revisión.

Este método es una técnica de comunicación estructurada, originalmente desarrollada como un método interactivo y sistemático de pronósticos, que se basa en un panel de expertos. Estos expertos hacen una predicción individual y secreta, en dos o más vueltas. Después de cada vuelta, un facilitador provee un resumen de las predicciones de los expertos y de las razones que aportaron para su juicio. Se fomenta que cada experto revise su respuesta anterior a la luz de las respuestas de los otros miembros del panel. Se cree que, durante este proceso, el rango de   las   respuestas   se   irá   achicando   y   el   grupo   “convergerá”   hacia   la   respuesta   correcta. Finalmente, el proceso se detiene cuando se alcanza un criterio predefinido (número de vueltas, se alcanzó el consenso, estabilidad de los resultados) y la media o la mediana de la vuelta final determina los resultados.

Delphi   está   basado   en   el   principio   de   que   las   predicciones   (o   decisiones)   de   un   grupo estructurado de individuos son más exactas que aquellas de grupos no estructurados. El método Delphi ha sido ampliamente usado para predicciones de negocios y tiene cierta ventaja sobre otro enfoque de predicción estructurado llamado Mercados de Predicción.

Modelos Empíricos de Estimación

Estructura de los modelos de estimación (métodos algorítmicos)

Se describen  utilizando ecuaciones,  donde el  esfuerzo  es   la  variable  dependiente,  y   factores  como  la experiencia, dimensión y tipo de sistema son las variables independientes.

Un modelo común de estimación se extrae utilizando el análisis de regresión sobre los datos recopilados de proyectos de software anteriores. La estructura global de tales modelos adquiere la forma de:

E=AB∗ev c

donde A, B y C son constantes obtenidas empíricamente, E es el esfuerzo en meses/persona, y ev es la variable de estimación (de LDC o PF). Además, la mayoría de los modelos de estimación tienen algún componente de ajuste del proyecto que permite ajustar E por otras características del proyecto (complejidad del problema, experiencia del personal, entorno de desarrollo).

Entre los muchos modelos de estimación orientados a LDC propuestos en la bibliografía se encuentran los siguientes:

E=5,2∗KLDC 0,91 Modelo de Walston­Felix

E=5,50,73∗KLDC 1,16 Modelo de Bailey­Basisli

E=3,2∗KLDC 1,05 Modelo simple de Boehm

También se han propuesto los modelos orientados a PF. Entre estos modelos se incluyen:

E=−13,390,054∗PF Modelo de Albretch y Gaffney

E=60,62∗7,728∗10−8∗PF 3 Modelo de Kemerer

E=585,715,12∗PF Modelo de Matson, Barnett y Mellichamp

Un  rápido   listado  de   los  modelos   listados  anteriormente   indica  que  cada  uno  producirá   un   resultados diferente para el mismo valor de LDC y PF. Esta diferencia se fundamenta en que estos modelos a menudo se derivan de poblaciones relativamente pequeñas de proyectos. La implicación es clara: los modelos de estimación se deben calibrar para las necesidades locales.

Verónica Botto – Legajo 46068 31/52

Page 32: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Una de las ecuaciones mas utilizada es  E=ab∗Sc ∗m∗ X donde

S es la dimensión estimada del sistema.

a, b y c son constantes.

X es un vector de factores de costo

m es un multiplicador de ajuste basado en estos factores.

Modelo COCOMOBarry Boehm, en su libro sobre economía de la ingeniería del software, introduce una jerarquía de modelos de estimación de software con el nombre de COCOMO, por COnstructive COst MOdel (Modelo Constructivo de Coste). La jerarquía de modelos de Boehm está constituida por los siguientes:

Modelo I El modelo COCOMO básico calcula el esfuerzo (y el coste) del desarrollo del software en función del tamaño del programa, expresado en las líneas estimadas de código (LDC).

Modelo II El modelo COCOMO intermedio calcula el esfuerzo del desarrollo de software en función del tamaño del programa y de un conjunto de “conductores de costo”que incluyen la evaluación subjetiva del producto, del hardware, del personal y de los atributos del proyecto.

Modelo III El modelo COCOMO avanzado incorpora todas las características de la versión intermedia y  lleva a cabo una evaluación del  impacto de  los conductores de coste en cada fase (análisis, diseño, etc.) del proceso de ingeniería de software.

Los modelos COCOMO están definidos para tres tipos de proyectos de software. Utilizando la terminología de Boehm son:

1. Modo orgánico: proyectos de software relativamente pequeños y sencillos en los que trabajan pequeños equipos, con buena experiencia en la aplicación, sobre un conjunto de requisitos poco   rígidos   (por   ejemplo,   un   programa   de   análisis   termal   desarrollado   para   un   grupo calórico);

2. Modo semiacoplado: proyectos de software intermedios (en tamaño y complejidad) en los que equipos,   con   variados   niveles   de   experiencia,   deben   satisfacer   requisitos   poco   o   medio rígidos (por ejemplo, un sistema de procesamiento de transacciones con requisitos fijos para un hardware de terminal  o un software de gestión de BD);

3. Modo empotrado:  proyectos de software que deben ser  desarrollados en un conjunto  de hardware,   software   y   restricciones   operativas   muy   restringido   (por   ejemplo,   software   de control de navegación para un avión)

Modelo COCOMO II

Boehm actualizó el modelo COCOMO  II. Este modelo refleja tres estadios principales de cualquier proyecto de desarrollo:

Estadio I ­ Composición de la aplicaciónEstima las dimensiones sobre la base de lo que sus creadores denominan puntos de aplicación.

Estadio II ­ Diseño temprano Emplea puntos de función con medidas del tamaño.

Estadio III ­ Post arquitectura El dimensionamiento puede ser hecho en términos de los puntos de función o lineas de código.

Verónica Botto – Legajo 46068 32/52

Page 33: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

El modelo básico de COCOMO II es de la forma  E=bS∗m X , dondebS: estimación inicial basada en el tamaño.m(X): vector de información de conductores de costo.

Estadio I – Composición de la Aplicación 

Los puntos de aplicación suministran la medida del tamaño. Para calcular los puntos de aplicación:

1. Primero se debe contar el  numero de pantallas,   informes y componentes de  lenguaje de tercera generación que están involucrados en la aplicación. 

2. Se clasifica cada elemento de la aplicación en simple, medio y difícil. 

3. Se pondera la complejidad de cada elemento

4. Se deben sumar  los   informes y  pantallas ponderados para  obtener  un  único  numero de puntos de aplicación. Si r % de los objetos se reutiliza de proyectos previos, el número de nuevos puntos de aplicación se calculará:

Nuevos puntos de aplicación = (puntos de aplicación) * (100 ­ r) / 100).

5. Para   utilizar   este   numero   para   la   estimación   del   esfuerzo,   se   usa   un   factor   de   ajuste, denominado grado de productividad. La productividad se obtiene de la tabla:

Cálculo de la productividad estimada

Experiencia y capacidad de los desarrolladores

Muy Baja Baja Nominal Alta Muy alta

Madurez y capacidad con CASE

Muy Baja Baja Nominal Alta Muy alta

Factor de Productividad

4 7 13 25 50

Verónica Botto – Legajo 46068 33/52

Niveles de complejidad para puntos de aplicaciónPara Pantallas Para Reportes

Número y fuentes de las tablas de datos Número y fuentes de las tablas de datos

<3 Simple Simple Medio 0 o 1 Simple Simple Medio3-7 Simple Medio Difícil 2 o 3 Simple Medio Difícil8+ Medio Difícil Difícil 4+ Medio Difícil Difícil

Numero de vistas

contenidas

Número de secciones contenidas

Total < 4 (<2 servidores, <3 clientes)

Total < 8 (2-3 servidores, 3-5 clientes)

Total 8+ (>3 servidores, >5 clientes)

Total <4 (<2 servidores, <3 clientes)

Total <8 (2-3 servidores, 3-5 clientes)

Total 8+ (>3 servidores, >5 clientes)

Pesos de la complejidad para puntos de aplicaciónElemento a considerar

TipoComplejidad

Simple Media Compleja

Pantalla 1 2 3Informe 2 5 8

-- – 10Componente de 3GL

Page 34: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Estadio II (Diseño temprano) y III (Post arquitectura)

En el Estadio II la estimación del esfuerzo, que está basada en puntos de función, se ajusta por el grado  de  reutilización,   los cambios en   los   requerimientos y  el  mantenimiento.  La escala  para  el  Estadio   II   varia,   dependiendo   del   grado   de   innovación   del   sistema,   conveniencia,   arquitectura temprana, resolución del riesgo, cohesión del equipo y madurez del proceso.

Los   indicadores   de   costos   en   los   Estadios   II   y   III   son   factores   de   ajuste   expresados   como multiplicadores del esfuerzo, y su clasificación varia entre extra bajo y extra alto.

En el Estadio III el conjunto de indicadores de costo es mayor, lo que indica una mayor comprensión de los parámetros del proyecto.

Conclusiones

Si un sistema esta en los estudios preliminares de lo que hará el software, se puede utilizar el modelo de esfuerzo  inicial de COCOMO II para sugerir  el  numero de mes­persona necesario. El modelo  COCOMO II  supone que el  numero de mes­persona no  incluye  feriados y  vacaciones de  fin  de semana. El primer estadio de COCOMO II, Composición del Sistema, esta diseñado para ser utilizado en   etapas   mas   tempranas   del   desarrollo.   A   medida   que   se   comprende   mas   acerca   de   los requerimientos, se puede utilizar otras partes de COCOMO: el modelo temprano y el modelo de post  arquitectura.

Modelo Putnam (SLIM)

El Modelo Putnam,  también conocido como SLIM (Software LIfecycle Management,  suite de herramientas que lo implementa),  es una técnica de estimación de costes para proyectos de software, desarrollada por Lawrence  H.  Putnam en   1978.   Fue  una   técnica  pionera  y  ha  sido,   junto  con  COCOMO,   la  que  más repercusión ha tenido en el mundo de la ingeniería del software. Está basado en la curva de Rayleigh,  y describe la necesidad de personal al desarrollar proyectos complejos.

Putnam desarrollo un modelo de estimaciones del esfuerzo total y del tiempo de finalización para proyectos muy grandes a través de ecuaciones basadas en algoritmos; estas ecuaciones básicas pueden ajustarse para pequeños proyectos. La utilización básica es la de estimar tiempo y esfuerzo al comienzo de un nuevo proyecto de software, a través de proyectos anteriores.

Mientras trabajaba en proyectos para la Armada, Putnam notó que las necesidades de personal seguían la bien conocida distribución de Rayleigh.

Distribución de Rayleigh

En  la teoría de  la probabilidad y estadística,   la distribución de Rayleigh es una función de distribución continua. Se suele presentar cuando un vector bidimensional (por ejemplo, el que representa la velocidad del viento) tiene sus dos componentes, ortogonales, independientes y siguen   una   distribución   normal.   Su   valor   absoluto   seguirá   entonces   una   distribución   de Rayleigh.

Putnam usó sus observaciones sobre los niveles de productividad para derivar la ecuación del software:

donde:

• Tamaño es el tamaño del producto (cualquier tamaño estimado que use la organización es apropiado). Putnam usa ESLOC (Effective Source Lines of Code).

• B es un factor escalar y es una función del tamaño del proyecto.

• Productividad es la Productividad del Proceso, la habilidad de una organización de software 

Verónica Botto – Legajo 46068 34/52

B1 /3 .TamañoProductividad

=Esfuerzo1/3 .Tiempo4 /3

Page 35: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

en particular de producir software de un tamaño dado a una particular tasa.

• Esfuerzo es el esfuerzo total aplicado al proyecto en años­persona.

• Tiempo es el total del Plan del proyecto, en años.

En la práctica, cuando se hace una estimación para una tarea de software, la ecuación se resuelve para obtener el Esfuerzo, despejando:

Graficando el Esfuerzo como función del Tiempo, se obtiene la Curva Tiempo­Esfuerzo. Los puntos a lo largo de la curva representan el esfuerzo total estimado para completar el proyecto en algún momento. Una de las características del modelo de Putnam es que el esfuerzo total decrece a medida que el tiempo para completar el proyecto se extiende. Esto se representa, normalmente, en otros modelos paramétricos con un parámetro de relajación de horario.  

Este método es bastante sensible a  la  incertidumbre, tanto en el   tamaño como en  la productividad del proceso. Putnam aboga por obtener la productividad del proceso por calibración.

Una   de   las   ventajas   de   este   método   es   la   simplicidad   con   la   cual   es   calibrado.   La   mayoría   de   las organizaciones de software, sin importar su nivel de madurez, puede fácilmente recoger tamaño, esfuerzo y duración (tiempo) de los proyectos anteriores. La Productividad del Proceso, aunque es exponencial por  naturaleza, típicamente es convertida a un índice de productividad lineal, que una organización puede usar para seguir sus propias variaciones en productividad y aplicarlas en futuras estimaciones de esfuerzo.

El  modelo  de estimación de Putnam es  un modelo  multivariable  dinámico que asume una distribución específica del esfuerzo a lo largo de la vida de un proyecto de desarrollo de software.  La distribución del esfuerzo en grandes proyectos de software puede ser caracterizada como muestra la siguiente figura. Las curvas de la figura toman una forma descrita analíticamente por Lord Rayleigh. Para desarrollar las curvas se han utilizado los datos empíricos de desarrollos de sistemas recopilados por Norden. Por todo ello, la distribución de esfuerzo que se muestra en la figura se denomina a menudo Curva de Rayleigh­Norden.

Verónica Botto – Legajo 46068 35/52

Esfuerzo=[ TamañoProductividad.Tiempo4 /3 ]

3

. B

Page 36: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Funciones del modelo• Calibración, apoyándose en datos históricos de proyectos pasados.• Construcción de un modelo de información, juntando todas las características del sistema, 

atributos personales y de la computadora.• Tamaño del software. SLIM utiliza una versión automatizada de LOC.

Ventajas• No depende de una gran base de datos histórica.• Usa programación lineal para considerar las restricciones en el desarrollo, tanto del costo 

como del esfuerzo.• Utiliza menos parámetros para estimar un costo que el modelo COCOMO.• Es relativamente rápido y fácil de usar.

Desventajas• Las estimaciones son extremadamente sensitivas al factor tecnológico.• No es apropiado para proyectos pequeños.

Método de la máquina que aprende

Se utilizan redes neuronales para representar las actividades interconectadas involucradas en la generación de un producto de software. Cada unidad de la red tiene, mediante software, una suma ponderada de sus entradas: si la suma excede un valor determinado, la unidad produce una salida. La salida es la entrada  para otras unidades relacionadas.

Técnica para producir la salida

Se suministran  a   la   red   datos  de  proyectos  pasados,   y  esta   utiliza  algoritmos  de  propagación   (hacia adelante y hacia atrás) para aprender, identificando patrones en los datos.La salida, entonces, viene dada por tres funciones:

1. Una   función  de   propagación   (también  conocida  como  función  de  excitación),  que  por   lo general consiste en la sumatoria de cada entrada multiplicada por el peso de su interconexión (valor neto). Si el peso es positivo, la conexión se denomina  excitatoria; si es negativo, se denomina inhibitoria. 

Verónica Botto – Legajo 46068 36/52

Page 37: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

2. Una función de activación, que modifica a la anterior. Puede no existir, siendo en este caso la salida la misma función de propagación. 

3. Una función de transferencia, que se aplica al valor devuelto por la función de activación. Se utiliza para acotar la salida y generalmente viene dada por la interpretación que queramos darle a dichas salidas. 

Técnica CBR

El razonamiento  basado en casos  (CBR),  es  el  proceso  de resolver  nuevos problemas basándose en las soluciones de problemas similares que hayan ocurrido en el pasado. El razonamiento basado en casos es una prominente fábrica de analogías.

Se ha argumentado que no es solo un método poderoso para el razonamiento de computadoras, sino una conducta generalizada en la resolución de problemas diarios; o mas radicalmente, que todo el razonamiento se basa en casos pasados que experimentamos. Este enfoque se relaciona con la teoría de prototipos, que se explora en profundidad en la ciencia del conocimiento.

El razonamiento basado en casos ha sido formalizado, para propósitos de razonamiento de computadoras, como un proceso de cuatro pasos:

1. Recuperar: Dado un problema, recuperar de la memoria casos relevantes para resolverlo. Un caso consiste de un problema, su solución y, típicamente, aclaraciones o explicaciones sobre cómo se llegó a esa solución.

2. Reusar: Aplicar la solución del caso previo al problema que se está tratando de resolver. Esto puede implicar adaptar la solución como sea necesario para que calce en la nueva situación.

3. Revisar: habiendo aplicado la solución previa a la situación, testear la nueva solución en el mundo real ­o en una simulación­ y, si es necesario, revisarla. 

4. Retener:   Luego de que la solución ha sido adaptada exitosamente al problema, guardar la experiencia resultante como un nuevo caso en memoria. 

El razonamiento basado en casos es una técnica de maquina que aprende. Con CBR se construye un algoritmo con una combinación de posibles entradas que podrían presentarse en un proyecto.

Los cuatro pasos del sistema basado en CBR serían:

1. El usuario identifica un problema nuevo como un caso.

1. El sistema recupera casos similares de un repositorio de información histórica.

Verónica Botto – Legajo 46068 37/52

Page 38: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

2. El sistema reutiliza conocimientos de casos previos.

3. El sistema sugiere una solución para el nuevo caso.

Modelo adecuado de estimación• Las   relaciones  entre   los   factores  de  costo  no  son  simples,   y   los  modelos  deben  ser   lo 

suficientemente flexibles para manejar cambios en el uso de herramientas y métodos. 

• Aun cuando los modelos de estimación producen estimaciones razonablemente exactas, se debe tener la capacidad para comprender cuáles son los tipos de esfuerzo que se necesitan durante el desarrollo.

• Es importante registrar no sólo cuanto esfuerzo se gasta en un proyecto, sino también quién lo está haciendo y para qué actividad.

• Hay dos estadísticas que a menudo se utilizan para ayudar a determinar la eficiencia de un modelo:

◦ PRED (x / 100) es el porcentaje de proyectos para los cuales la estimación está dentro de x % del valor verdadero. 

◦ MMRE es la magnitud media del error relativo. 

Herramientas Automáticas de Estimación

Las técnicas de descomposición y los modelos empíricos de estimación descritos anteriormente se pueden implementar con software. Las  herramientas automáticas de estimación  permiten al planificador estimar costes y esfuerzos, así como llevar a cabo análisis del  tipo "qué pasa si" con importantes variables del proyecto, tales como la fecha de entrega o la selección de personal. Aunque existen muchas herramientas automáticas de estimación, todas exhiben las mismas características generales y todas requieren una o más de las siguientes clases de datos: 

1. Una   estimación   cuantitativa   del   tamaño   del   proyecto   (por   ejemplo.   en   LDC)   o   de   la funcionalidad (datos sobre puntos de función).

2. Características cualitativas del proyecto, tales como la complejidad, la fiabilidad requerida o el grado crítico del negocio. 

3. Alguna descripción del personal de desarrollo y/o del entorno de desarrollo.

A partir de estos datos, el modelo implementado por la herramienta automática de estimación proporciona estimaciones del esfuerzo requerido para llevar a cabo el proyecto, de los costes, de la carga de personal y, en algunos casos, de la agenda de desarrollo y del riesgo asociado.

Verónica Botto – Legajo 46068 38/52

Page 39: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Unidad 6 – Gestión del Riesgo Algunas definiciones de Gestión de Riesgo según Auditoría Informática

• Amenaza:    personas o cosas vistas como posible fuente de peligro o catástrofe.

• Vulnerabilidad:     La   situación   creada,   por   falta   de   uno   o   varios   controles,   con   la   que   la amenaza pudiera acaecer y así afectar al entorno informático.

• Riesgo   : la probabilidad de que una amenaza llegue a acaecer por una vulnerabilidad.

Riesgo: cualquier situación donde hay incertidumbre acerca de los resultados que pueden arrojar diferentes actividades, ya sea por naturaleza propia de la actividad, o por eventos ajenos a ella.

Según Drucker, “Mientras que es inútil  intentar eliminar el riesgo y cuestionable el poder minimizarlo, es esencial que los riesgos que se tomen sean los riesgos adecuados”. Antes de poder identificar los “riesgos adecuados” que se pueden tomar en un proyecto de software, es  importante poder identificar todos los  riesgos que sean obvios a jefes de proyectos y profesionales del software. 

La gestión del riesgo es una tarea de los gerentes de una empresa, para comprender y controlar los riesgos en sus proyectos.

Estrategias de riesgo proactivas y reactivas

Las estrategias de riesgo reactivas se denominan, a menudo, “de bomberos”.  No se preocupan de los problemas hasta que ocurren, y entonces se reacciona de alguna manera heroica. En el mejor de los casos,  la estrategia reactiva supervisa el proyecto en previsión de posibles riesgos.

Una estrategia mas inteligente para el control del riesgo es ser proactivo. La estrategia proactiva empieza mucho antes de que comiencen los trabajos técnicos: Se identifican los riesgos potenciales, se valoran su probabilidad y su   impacto,  y  se  establece una prioridad  según su  importancia.  Después,  el  equipo de software establece un plan para controlar el riesgo. El primer objetivo es evitar el riesgo, pero como no se  pueden evitar todos los riesgos, el equipo trabaja para desarrollar un plan de contingencias que le permita  responder de una manera eficaz y controlada. 

Riesgos del software

Aunque ha habido debates sobre la definición adecuada para riesgo de software, hay acuerdo en que el riesgo siempre implica dos características:

• Incertidumbre:  el  acontecimiento que caracteriza al   riesgo puede o no puede ocurrir;  por ejemplo no hay riesgos de un 100% de probabilidad (un riesgo del 100% es una limitación del proyecto de software)

• Pérdida: si el riesgo se convierte en una realidad, ocurrirán consecuencias no deseadas o pérdidas.

Cuando se analizan los riesgos es importante cuantificar el nivel de incertidumbre y el grado de pérdidas asociado con cada riesgo. Para hacerlo, se consideran diferentes categorías de riesgos.

Categorías del riesgo:

• Riesgos del Proyecto

Amenazan   al   plan   del   proyecto.   Es   decir,   si   se   hacen   realidad,   es   probable   que   la planificación temporal del proyecto se retrase y que los costos aumenten. Los riesgos del proyecto   identifican  los   problemas   potenciales   de   presupuesto,   planificación   temporal, personal   (asignación y organización),  recursos,  clientes y   requisitos,  y  su   impacto en un proyecto de software.

Verónica Botto – Legajo 46068 39/52

Page 40: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

• Riesgos Técnicos

Amenazan la calidad y  la planificación temporal del software que hay que producir.  Si un riesgo   técnico   se  convierte   en   realidad,   la   implementación   puede   llegar   a   ser   difícil   o imposible. Los riesgos técnicos identifican problemas potenciales de diseño, implementación, de interfaz, verificación y de mantenimiento. Además, las ambigüedades de especificaciones, incertidumbre técnica, técnicas anticuadas y las “tecnologías de punta” son también factores de riesgo. Los riesgos técnicos ocurren porque el problema es más difícil de resolver de lo que pensábamos.

• Riesgos del Negocio

Amenazan la viabilidad del software a construir. Los riesgos del negocio a menudo ponen en peligro el proyecto o el producto. Los cinco principales riesgos del negocio, son:

1. Construir un producto o sistema excelente que en realidad no quiere nadie (Riesgos del Mercado

2. Construir   un   producto   que   no   encaja   en   la   estrategia   comercial   general   de   la compañía (Riesgo estratégico)

3. Construir un producto que el departamento de ventas no sabe cómo vender.

4. Perder el apoyo de una gestión experta debido a cambios de enfoque o a cambios de personal (Riesgo de dirección)

5. Perder presupuesto o personal asignado (Riesgos de presupuesto)

Identificación del riesgo

La identificación del riesgo es un intento sistemático para especificar las amenazas al plan del proyecto (estimaciones,   planificación   temporal,   carga   de   recursos,   etc.).   Identificando   los   riesgos   conocidos   y predecibles, el gestor del proyecto puede evitarlos cuando sea posible y controlarlos cuando sea necesario.

Existen dos tipos de riesgos para cada categoría de riesgo, y son

• Riesgos genéricos: Son una amenaza potencial para todos los proyectos de software.

• Riesgos específicos: sólo pueden ser identificados por aquellos que tienen una clara visión de la tecnología, el personal y el entorno especifico del proyecto en cuestión. Para identificar los riesgos específicos de producto se examinan el plan del proyecto y la declaración del ámbito del  software,  y  se desarrolla  una  respuesta a  la siguiente pregunta:  ¿Qué  características especiales de este producto pueden estar amenazadas por nuestro plan del proyecto?

Tanto los riesgos genéricos como los específicos del producto se deberían identificar sistemáticamente. Un método para identificar riesgos es crear una lista de comprobación de elementos de riesgo, que se enfoque en un subconjunto de riesgos conocidos y predecibles en las siguientes subcategorías genéricas:

1. Tamaño del productoRiesgos asociados con el tamaño general del software a construir o a modificar. En general, el riesgo del proyecto es directamente proporcional al tamaño del producto.

2. Impacto en el negocioRiesgos  asociados  con   las   limitaciones   impuestas  por   la  gestión  o  por  el  mercado.  Por ejemplo, cuando la fechas límites del proyecto las establece el departamento de marketing, que está guiado por las consideraciones del negocio.

3. Características del clienteRiesgos   asociados   con   la   sofisticación   del   cliente   y   la   habilidad   del   desarrollador   para comunicarse con el cliente en los momentos oportunos.

No todos los clientes fueron creados igual:

Verónica Botto – Legajo 46068 40/52

Page 41: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

◦ Tienen diferentes necesidades: algunos saben lo que quieren, y otros lo que no quieren.

◦ Los   clientes   tienen   diferentes   personalidades:   Algunos   disfrutan   siendo   clientes   (la tensión, la negociación), otros preferirían no ser clientes en absoluto.

◦ Los   clientes   también   tienen   varios   tipos   de   asociaciones   con   sus   suministradores: Algunos conocen bien a sus proveedores y sus productos, otros sólo se comunican por teléfono.

◦ Los clientes se contradicen a menudo. Quieren todo para ayer y gratis. A menudo, el producto se ve cogido entre las propias contraindicaciones del cliente.

Un “mal” cliente puede tener un profundo impacto en la habilidad del equipo de software para completar  el  proyecto  a   tiempo y dentro  del  presupuesto.  Un mal  cliente   representa una amenaza significativa al plan del proyecto y un sustancial riesgo para el jefe del proyecto.  

4. Definición del procesoRiesgos asociados con el grado de definición del proceso del software y su seguimiento por la organización de desarrollo.

Si el proceso de software no está bien definido; si el análisis, diseño y pruebas se realizan sobre la marcha; si la calidad es un concepto que todo el mundo estima importante pero por  la que nadie actúa de manera tangible para alcanzarla, entonces el proyecto está en peligro. 

5. Entorno de desarrolloRiesgos asociados con la disponibilidad y calidad de las herramientas que se van a emplear en la construcción del producto.

Las herramientas  inapropiadas o  ineficaces pueden estropear  los esfuerzos de incluso un experimentado   profesional.   El   entorno   de   ingeniería   de   software   soporta   al   equipo   del proyecto, al proceso y al  producto.  Pero si  el  entorno es malo, puede ser una fuente de  riesgos significativa.

6. Tecnología a construirRiesgos asociados con   la  complejidad  del  sistema a construir  y   la   tecnología punta que contiene el sistema.

Alcanzar  los  límites de  la  tecnología es un  reto excitante.  Es el  sueño de casi   todos  los técnicos, porque fuerza al profesional a emplear su talento al máximo. Pero también es muy arriesgado.

7. Tamaño y experiencia de la plantillaRiesgos asociados con la experiencia técnica y de proyectos de los ingenieros del software que van a realizar el trabajo.

Componentes y controladores del riesgo

Las Fuerzas Aéreas de Estados Unidos han redactado un documento con directrices para identificar riesgos de software y evitarlos. Según este enfoque, el gestor del proyecto debe identificar los controladores de riesgo que afectan a los componentes de riesgo de software (rendimiento, coste, soporte y planificación temporal). En el contexto de este estudio, los componentes de riesgo se definen de la siguiente manera:

• Riesgo de rendimiento:  el grado de incertidumbre con el que el producto encontrará sus requisitos y se adecue para su empleo pretendido.

• Riesgo de coste: el grado de incertidumbre que mantendrá el presupuesto del proyecto.

• Riesgo de soporte: el grado de incertidumbre de la facilidad del software para corregirse, adaptarse y ser mejorado.

• Riesgo de planificación temporal: el grado de incertidumbre con que se podrá mantener la planificación temporal y de que el producto se entregue a tiempo.

Verónica Botto – Legajo 46068 41/52

Page 42: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

El impacto de cada controlador de riesgo en el componente de riesgo se divide en cuatro categorías de impacto ­despreciable, marginal, crítico y catastrófico.

La tabla siguiente indica las consecuencias potenciales de errores (filas etiquetadas con 1) o la imposibilidad de conseguir el producto deseado (filas etiquetadas con 2). La categoría de impacto es elegida basándose en la caracterización que mejor encaja con la descripción de la tabla.

Tabla: Evaluación del Impacto

Componentes

Categoría 

Rendimiento Soporte Coste Planificación Temporal

Catastrófico 1 Dejar de cumplir los requisitos provocaría el fracaso de la misión

Malos resultados en un aumento de costes y retrasos de la planificación temporal con cifras que superan los $500K.

2 Degradación significativa para no alcanzar el rendimiento técnico.

El software no responde o no admite soporte.

Recortes financieros significativos, presupuestos excedidos

Fecha de entrega inalcanzable

Crítica 1 Dejar de cumplir los requisitos degradaría el rendimiento del sistema hasta un punto donde el éxito de la misión es cuestionable.

Malos resultados en retrasos operativos y/o aumento de coste con valor esperado de $100K a $500K.

2 Alguna reducción en el rendimiento técnico

Pequeños retrasos en modificaciones de software

Algunos recortes de  recursos financieros, posibles excesos del presupuesto

Posibles retrasos de la fecha de entrega

Marginal 1 Dejar  de  cumplir   los   requisitos  provocaría   la degradación de la misión secundaria

Los costes, impactos y/o retrasos recuperables de la planificación temporal con un valor estimado de $1K a $100K

2 De mínima a pequeña reducción en el rendimiento técnico

El soporte del software responde

Recursos financieros suficientes

Planificacióntemporal realista, alcanzable

Despreciable 1 Dejar de cumplir los requisitos provocaría inconvenientes o impactos no operativos

Los errores provocan impactos mínimos en el coste y/o planificación temporal con un valor esperado de menos de $1K

2 No hay reducción en el rendimiento técnico

Software fácil de dar soporte

Posible superávit de presupuesto

Fecha de entrega fácilmente alcanzable

Etapas del Proceso de identificación del riesgo

1. Identificación: ¿qué está bajo riesgo?¿que puede ir mal?¿cual es su probabilidad?

2. Evaluación: cuantificación de efectos y prioridad de los riesgos.

3. Selección de estrategias

1. Acciones Financieras: asumir (recuperar la capacidad operativa) y transferir (delegar la responsabilidad).

2. Acciones Físicas: prevenir (tomar medidas preventivas) y proteger.

4. Implementación: implementación de las estrategias.

5. Seguimiento: evaluación e identificación de peligros continuos.

Proyección del riesgoLa proyección del  riesgo,  también denominada  estimación del  riesgo,  intenta medir cada riesgo de dos maneras: la probabilidad de que el riesgo sea real y las consecuencias de los problemas asociados con el  

Verónica Botto – Legajo 46068 42/52

Page 43: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

riesgo,   si   ocurriera.   El   jefe   del   proyecto,   junto   con   otros   gestores   y   personal   técnico,   realiza   cuatro actividades de proyección del riesgo:

1. Establecer una escala que refleje la probabilidad percibida del riesgo2. Definir las consecuencias del riesgo3. Estimar el impacto del riesgo en el proyecto y en el producto4. Apuntar la exactitud general de la proyección del riesgo de manera que no haya confusiones

Desarrollo de una Tabla del riesgo1. Se empieza por listar todos los riesgos en la primera columna de la tabla.2. Se categoriza cada riesgo.3. Se calcula la probabilidad de aparición de cada riesgo. 4. Se valora el impacto de cada riesgo 

Luego,  la  tabla es ordenada por probabilidad y por  impacto.  Los riesgos de alta probabilidad y de alto impacto pasan a lo alto de la tabla, y los riesgos de baja probabilidad caen a la parte de abajo. 

Riesgos Categoría  Probabilidad  Impacto  RSGR 

La estimación del tamaño puede ser significativamente baja 

PS  60%  2 

Los usuarios finales se resisten al sistema 

BU  40%  3 

Personal sin experiencia  ST  60%  2 

Valores de impacto: 

1. Catastrófico2. Critica3. Marginal4. Despreciable

Categorías:

PS= implica un riesgo del tamaño del proyectoBU= Implica un riesgo de negocioST= implica un riesgo Técnico         (referido al personal)

RSGR:

Plan de reducción, supervisión y gestión del riesgo

Evaluación del impacto del riesgo

Tres factores afectan a las consecuencias probables de un riesgo, si ocurre: su naturaleza, su alcance y cuando ocurre. 

• La  naturaleza  del   riesgo   indica   los  problemas  probables   que  aparecerán  si   ocurre.  Por ejemplo, una interfaz externa mal definida para el hardware del cliente (un riesgo técnico) impedirá un diseño y pruebas tempranas y probablemente lleve a problemas de integración más adelante en el proyecto.

• El  alcance  de un riesgo combina la severidad (¿cómo de serio es un problema?) con su distribución general  (¿qué  proporción del proyecto se verá  afectado y cuántos clientes se verán perjudicados?). 

• Finalmente, la temporización de un riesgo considera cuándo y por cuánto tiempo se dejará sentir el impacto. En la mayoría de los casos, un jefe de proyecto prefiere las “malas noticias” cuanto antes, pero en algunos casos, cuanto más tarden, mejor.

Se recomiendan los siguientes pasos para determinar las consecuencias generales del riesgo:

1. Determinar la probabilidad media de que ocurra un valor para cada componente de riesgo.

2. Determinar el impacto de cada componente basándose en los criterios mostrados en la tabla “Evaluación del impacto”.

Verónica Botto – Legajo 46068 43/52

Page 44: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

3. Completar  la tabla de riesgo y analizar  los resultados como se describe en las secciones precedentes.

Reducción, Supervisión y Gestión del Riesgo (RSGR) 

Todas las actividades de análisis de riesgo presentadas hasta ahora  tienen un solo objetivo: ayudar al equipo   del   proyecto   a   desarrollar   una   estrategia   para   tratar   los   riesgos.   Una   estrategia   eficaz   debe considerar tres aspectos:

1. Evitar el riesgo.2. Supervisar el riesgo.3. Gestión del riesgo y planes de contingencia.

Si un equipo de software adopta un enfoque proactivo frente al riesgo, evitarlo (1) es siempre la mejor estrategia.  Esto se consigue desarrollando un plan de  reducción del  riesgo. A medida que progresa el proyecto, comienzan las actividades de supervisión del riesgo (2). El jefe de proyecto supervisa factores que pueden proporcionar una indicación de si el riesgo se está  haciendo más o menos probable, y además debería supervisar la efectividad de los pasos de reducción del riesgo.

La gestión del riesgo y los planes de contingencia (3) asumen que los esfuerzos de reducción han fracasado y que el riesgo se ha convertido en una realidad.

Es importante advertir que los pasos RSGR provocan aumentos del coste del proyecto. Parte de la gestión de riesgos es evaluar cuando los beneficios obtenidos superan los costes asociados con su implementación. En esencia, quien planifique el proyecto realiza el clásico análisis de coste/beneficio. 

En general, para un proyecto grande se pueden identificar 30 o 40 riesgos, con lo cual la gestión del riesgo se transforma en un proyecto en sí misma. Para evitar esto, se aplica la regla de Pareto 80­20 al riesgo del  software: la experiencia dice que el 80% del riesgo total de un proyecto se debe solamente al 20% de los riesgos identificados. El trabajo realizado durante procesos de análisis de riesgo anteriores ayudará al jefe de proyecto a determinar qué riesgos pertenecen a ese 20%.

Esquema del plan RSGR

I. Introducción 1. Alcance y propósito del documento

2. Visión general de los riesgos principales

3. Responsabilidades a. Gestión

b. Personal técnico

II. Tabla del riesgo del proyecto 1. Descripción de todos los riesgos

2. Factores que influyen en la probabilidad e impacto

III. Reducción, supervisión y gestión del riesgo

a. Reducción 1. Estrategia general2. Pasos específicos

b. Supervisión 1. Factores a supervisar2. Enfoque de la supervisión

c. Gestión 1. Plan de contingencias2. Consideraciones especiales

IV. Planificación temporal de revisión del Plan RSGR

V.  Resumen

Conclusiones

El tiempo invertido identificando, analizando y gestionando el riesgo merece la pena por muchas razones, es decir,  menos trastornos durante el proyecto, una mayor habilidad de seguir y controlar el proyecto y  la  confianza que da planificar los problemas antes de que ocurran.

Verónica Botto – Legajo 46068 44/52

Page 45: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Unidad 7: Seguimiento y control del proyecto Seguimiento y control de proyectos

La   planificación   temporal   del   proyecto   le   proporciona   al   gestor   un   “mapa   de   carreteras”.   Si   se   ha desarrollado apropiadamente, define  las tareas e hitos que deben seguirse y controlarse a medida que progresa el proyecto. El seguimiento se puede hacer de diferentes maneras:

• Realizando reuniones periódicas del estado del proyecto en las que todos los miembros del equipo informan del progreso y de los problemas.

• Evaluando   los   resultados   de   todas   las   revisiones   realizadas   a   lo   largo   del   proceso   de ingeniería del software.

• Determinando si se han conseguido los hitos formales del proyecto en la fecha programada.

• Comparando la fecha real de inicio con las previstas para cada tarea del proyecto listada en  la tabla del proyecto.

• Reuniéndose   informalmente   con   los   profesionales   del   software   para   obtener   sus valoraciones subjetivas del progreso hasta la fecha y los problemas que se avecinan.

En realidad, todas estas técnicas de seguimiento las utilizan los gestores de proyecto experimentados. El control  lo usa el gestor para administrar los recursos del proyecto, enfrentarse a los problemas y dirigir al  personal del proyecto. Si las cosas van bien, el control es liviano. Pero cuando aparecen los problemas, el gestor debe ejercer el control para solucionarlos tan pronto como sea posible. 

El seguimiento alerta al jefe del proyecto de dificultades potenciales, para que se pueda tomar la adecuada acción correctiva. El control depende de la información provista por los miembros del equipo, si es incorrecta el sistema no funcionara. 

Componentes de un sistema de control.

• Acción: actividad asignada a un recurso determinado según diagrama de red.

• Información: los resultados de la acción generan información sobre efectividad.

• Feedback:  proceso por el cual  los miembros del equipo informan al  jefe del proyecto del  estado de sus actividades.

• Acción correctiva: según la información recibida, el jefe del proyecto puede tomar acciones correctivas.

• Rediseño:   cuando   existe   un   cambio   en   el   producto   final   o   cambian   las   actividades necesarias. Exige una nueva iteración del diagrama de red.

• Re programación: significa colocar nuevas fechas para las actividades y posiblemente para el proyecto.

• Re localización:  colocar nuevos recursos en una actividad.

Garantía (Aseguramiento) de la Calidad del software

Se han propuesto muchas definiciones de calidad del software. Según Pressman, la calidad del software se define como:

Concordancia con los requisitos  funcionales y de rendimiento explícitamente establecidos, con   los  estándares  de  desarrollo  explícitamente  documentados,  y  con   las  características implícitas que se espera de todo software desarrollado profesionalmente.

No hay duda de que la definición propuesta puede ser modificada o ampliada. De hecho, una discusión sobre una definición formal de calidad del software sería interminable. De todas formas, esta definición sirve para hacer hincapié en tres puntos importantes:

Verónica Botto – Legajo 46068 45/52

Page 46: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

1. Los requisitos del software son la base de las medidas de la calidad. La falta de concordancia con los requisitos es una falta de calidad.

2. Los estándares especificados definen un conjunto de criterios de desarrollo que guían  la forma en que se aplica la ingeniería del software. Si no se siguen esos criterios,casi siempre habrá falta de calidad.

3. Existe un conjunto de requisitos implícitos que a menudo no se mencionan (por ejemplo, el deseo de un buen mantenimiento). Si el software se ajusta a sus requisitos explícitos pero falla en alcanzar los requisitos implícitos, la calidad del software queda en entredicho.

Revisiones del software

Las revisiones del software son un “filtro” para el proceso de ingeniería de software. Se aplican en varios momentos del desarrollo del software y sirven para detectar defectos que puedan así ser eliminados, sirven para “purificar” las actividades de ingeniería del software que suceden como resultado del análisis, el diseño y la codificación. 

Una revisión ­cualquier revisión­ es una forma de aprovechar la diversidad de un grupo de personas para:

1. señalar la necesidad de mejoras en el producto de una sola persona o equipo;

2. confirmar las partes de un producto en las que no es necesario o no es deseable una mejora;

3. conseguir un trabajo técnico de una calidad mas uniforme, o al menos mas predecible que la que  puede ser  conseguida  sin   revisiones,   con  el   fin  de hacer  más  manejable  el   trabajo técnico.

Existen muchos tipos diferentes de revisiones que se pueden llevar adelante como parte de la ingeniería del software. Cada una tiene su lugar. 

• Una reunión informal alrededor de la máquina de café es una forma de revisión, si se discuten problemas técnicos. 

• Una presentación formal de un diseño de software a una audiencia de clientes, ejecutivos y personal técnico es una forma de revisión. 

• La revisión técnica formal (RTF), a veces denominada inspección, es el filtro mas  efectivo desde el punto de vista de garantía de la calidad. 

Revisiones Técnicas Formales

Una Revisión Técnica Formal (RTF) es una actividad de garantía de calidad del software que es llevada a cabo por ingenieros del software. Los objetivos de la RTF son:

1. Descubrir errores en la función, la lógica o la implementación de cualquier representación del software.

2. Verificar que el software bajo revisión alcanza sus requisitos.3. Garantizar que el software ha sido representado de acuerdo con ciertos estándares predefinidos.4. Conseguir un software desarrollado de forma uniforme.5. Hacer que los proyectos sean más manejables.

Además, la RTF sirve como campo de entrenamiento, permitiendo que los ingenieros más jóvenes puedan observar  los diferentes enfoques de análisis, diseño e implementación del software. También sirve para promover la seguridad y la continuidad, ya que varias personas se familiarizarán con partes del software que, de otro modo, no hubieran visto nunca.

La RTF es realmente una clase de revisión que incluye recorridos, inspecciones, torneos de revisiones y otras tareas de revisión técnica del software. Cada RTF se lleva a cabo mediante una reunión y sólo tendrá éxito si es bien planificada, controlada y atendida.

Verónica Botto – Legajo 46068 46/52

Page 47: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

La reunión de revisión 

Independientemente   del   formato   que   se   elija   para   la   RTF,   cualquier   reunión   de   revisión   debe acogerse a las siguientes restricciones:

• Deben convocarse, normalmente, entre tres y cinco personas

• Se debe preparar por adelantado, pero sin que requiera más de dos horas de trabajo a cada persona, y

• La duración de la reunión de revisión debe ser menor de dos horas.

Cada RTF se centra  en una  parte  específica  (y  pequeña)  del  software  total,  de esta  manera  la probabilidad de encontrar errores es mayor. 

La reunión es llevada a cabo por el  jefe de revisión,   los  revisores  y el  productor,  la persona que desarrolló el producto. Uno de los revisores toma el papel de registrador, es decir el que registra todo lo  que   pasa   en   la   reunión.  La   RTF  comienza   con   una   explicación   de   la   agenda,   y   una   breve introducción   por   parte   del   productor.   Entonces,   éste   explica   el   material,   mientras   los   revisores exponen sus problemas basándose en su preparación previa;  cuando se descubren problemas o errores válidos, el registrador los va anotando.

Al final de la revisión, todos los participantes en la RTF deben decidir si:

1. Aceptan el producto sin posteriores modificaciones

2. Rechazan el producto debido a  los serios errores encontrados (una vez corregidos, debe hacerse otra revisión.

3. Aceptan el producto provisionalmente (se han encontrado errores menores que deben ser corregidos, pero sin necesidad de otra posterior revisión.

Una  vez   tomada   la   decisión,   todos   los   participantes   terminan   firmando,   indicando   así   que   han participado en la revisión y que están de acuerdo con las conclusiones del equipo de revisión.

Registro e informe de la revisión

Al final de la reunión de revisión, se resumen todos los problemas y errores y se genera una lista de sucesos de revisión. Además, el registrador prepara un informe sumario de revisión, en el cual se responden tres preguntas:

1. ¿Qué fue revisado?2. ¿Quien lo reviso?3. ¿Qué se descubrió y cuales son las conclusiones?

El informe sumario de revisión es una página simple que se adjunta al registro histórico del proyecto y puede ser enviada al jefe del proyecto y partes interesadas.

La lista de sucesos de revisión sirve para identificar áreas problemáticas dentro del producto y servir como lista de comprobación de puntos de acción que guíe al productor para hacer las correcciones. Normalmente se adjunta una lista de conclusiones al informe sumario.

Directrices para la revisión

Se deben establecer de antemano las directrices para conducir las RTF, consensuarlas y seguirlas, porque una revisión  incontrolada puede ser  peor que no hacer ninguna. Un conjunto mínimo de directrices para las revisiones técnicas formales:

1. Revisar al producto y no al productor: debe evitarse que tome un aura de inquisición.

2. Fijar una agenda y mantenerla: debe seguirse un plan de trabajo concreto, y no divagar.

3. Limitar el debate y las impugnaciones.

4. Enunciar áreas de problemas, pero no intentar resolver cualquier problema que se ponga de manifiesto. La resolución de los problemas debe ser pospuesta para después de la revisión.

Verónica Botto – Legajo 46068 47/52

Page 48: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

5. Tomar notas escritas.

6. Limitar el numero de participantes e insistir en la preparación anticipada. Se ha de mantener el   número   de   participantes   en   el   mínimo   necesario,   y   el   jefe   de   revisión   debe   solicitar comentarios que muestren que cada revisor ha revisado el material.

7. Desarrollar una lista de comprobación para cada producto que haya de ser revisado.

8. Disponer recursos y una agenda para las RTF. Deben planificarse para que sean efectivas, y se debe trazar un plan para las modificaciones que surjan como resultado de ellas.

9. Llevar a acabo un buen entrenamiento de todos los revisores.

10. Repasar las revisiones anteriores.

Gestión de configuración del software

Cuando se construye software, los cambios son inevitables. Y es inevitable que aumenten la confusión entre los desarrolladores, principalmente cuando no se han analizado antes de realizarlos, no se han registrado antes de implementarlos, no se les han comunicado a los que necesitan saberlo, o no se han controlado de manera que mejoren la calidad y reduzcan los errores. Según Babich,

El arte de coordinar el desarrollo de software para minimizar...  la confusión, se denomina gestión de configuración. La gestión de configuración es el ate de  identificar, organizar y controlar las modificaciones que sufre el software que construye un equipo de programación. La meta es maximizar la productividad minimizando los errores.

La Gestión de Configuración del Software (GCS) es una actividad de autoprotección que se aplica a lo largo de todo el proceso de ingeniería de software. Como el cambio se puede producir en cualquier momento, las actividades de GCS sirven para (1) identificar el cambio, (2) controlar el cambio, (3) garantizar que el cambio se implementa adecuadamente y (4) informar el cambio a todos aquellos a los que les interese. 

La GCS identifica, controla, audita e informa de las modificaciones que invariablemente se dan al desarrollar  el software una vez que ha sido distribuido a los clientes. Cualquier información producida como parte del proceso de ingeniería de software se convierte en parte de una configuración del software. La configuración se organiza de tal forma que sea posible un control organizado de los cambios.

Es importante distinguir claramente entre el mantenimiento del software y la gestión de configuración del software.  El  mantenimiento  es un conjunto  de actividades de  ingeniería del  software  que se  producen después  de   que   el   software   se   haya   entregado   al   cliente   y   esté   en   funcionamiento.   La   gestión   de configuración del software es un conjunto de actividades de seguimiento y control que comienzan cuando se inicia el proyecto y termina sólo una vez que el software queda fuera de circulación.

Una vez que se ha desarrollado y revisado un objeto de configuración se convierte en una línea base. Los cambios sobre un objeto de línea base llevan a la creación de una nueva versión del objeto. El control de versiones es un conjunto de procedimientos y herramientas que se usan para gestionar el  uso de  los  objetos. 

El control de cambios es una actividad procedimental que asegura la calidad y la consistencia a medida que se realizan cambios en los objetos de la configuración.

Verónica Botto – Legajo 46068 48/52

Page 49: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

GlosarioActividad: Una actividad es una tarea o evento que contribuye al logro de las metas de un proyecto; es su “ladrillo más pequeño”. Una actividad normalmente es un tipo de acción aplicada a una fase o porción del proyecto, que involucra aproximadamente los mismos recursos a lo largo de la misma. 

Tarea: Ver Actividad. 

Tarea no­crítica: Una tarea que no está en el camino crítico. 

Fecha temprana de comienzo (Ftc): La fecha más temprana en que puede comenzar una tarea, de acuerdo a  las dependencias de sus predecesoras y  sucesoras y cualquier  otra restricción. 

Fecha  temprana  de   fin   (Ftf):  La   fecha  posible  más   temprana en  que  una   tarea  puede terminar si empieza en su fecha temprana de comienzo. Estas se calculan por el Método del Camino Crítico. 

Camino crítico: La sucesión de tareas interrelacionadas en un proyecto que toma el tiempo más largo para completarlo. El camino crítico define la duración del proyecto y su fecha de finalización. 

Dependencia: La relación entre una tarea y sus predecesoras y sucesoras. 

Sucesora: Tarea que depende directamente de la tarea actual. 

Predecesora: Una tarea de la que depende directamente la tarea actual. 

Relación: Determina el orden y la secuencia de las tareas del proyecto. 

Márgenes:  La  cantidad  de   tiempo  en  el   cronograma que una   tarea  puede demorarse  o extenderse sin afectar tareas subsecuentes o la fecha de finalización del proyecto. Todas las tareas no­críticas tienen márgenes. 

ALAP (As later as possible): “Tan tarde como sea posible” es un método de planificación en que se fijan las tareas hacia  atrás de  la  fecha del   fin,  para que cada  tarea empiece  la   fecha más  tarde posible en el cronograma del proyecto. 

ASAP  (As soon as possible): “Lo más pronto posible” es un método de planificación en que se fijan las tareas de la fecha de comienzo para que cada tarea empiece en la fecha posible más temprana en el cronograma del proyecto. 

CORBA  (Common   Object   Request   Broker   Architecture):   Arquitectura   de   software   de   componentes propuesta por el OMG (Object Management Group)

Costo: Indica cuánto costará terminar el proyecto. 

Costo de instalación: Incluye hardware, espacio, mobiliario, teléfonos, módems, calefacción y   aire   acondicionado,   cables,   discos,   papeles,   lápices,   fotocopiadoras   y   todos   los   otros elementos que forman parte del ambiente físico en el cual los desarrolladores trabajarán. 

Estimación de costos: Estimación del costo de los recursos necesarios para cumplimentar las actividades del proyecto. 

Presupuestación de costos: Asignar estimaciones de costo a componentes individuales de un proyecto. 

Esfuerzo: La cantidad de trabajo que un recurso realizará cuando es asignado a una tarea; por ejemplo:  8h/d. 

Verónica Botto – Legajo 46068 49/52

Page 50: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Estructura de descomposición del trabajo: Una descomposición multi­nivel del esfuerzo del proyecto en agrupaciones   lógicas   y   manejables.   El   nivel   más   alto   se   refiere   al   proyecto   entero,   el   segundo   nivel descompone el proyecto en sus mayores subproyectos, y el tercer nivel define los entregables para cada subproyecto, usando una estructura orientada al producto que se identifica con el documento de alcance.  Los niveles más bajos identifican las actividades y tareas que se requieren para producir cada entregable, basado en la metodología apropiada. El nivel más bajo de un proyecto WBS identifica unidades de trabajo que se asignan a los miembros del equipo del proyecto. 

Medición: Permite que gestores y profesionales mejoren el proceso del proyecto; ayuda en la planificación seguimiento,  y  control  de  un  proyecto  de software  y  evalúa  la  calidad  del  producto   (software)  que se produce.

Punto de función: Proviene de las medidas del dominio de información y de una evaluación subjetiva de la complejidad del problema.  

Métrica: Herramienta para la predicción para la planificación. Estimación del tamaño y costo del proyecto. 

Métricas   del   proceso:  Permiten   que   una   organización   tome   una   visión   estratégica, proporcionando mayor profundidad de la efectividad de un proceso de software. 

Métricas del proyecto:  Son tácticas que permiten que un gestor de proyectos adapte el enfoque a los flujos de trabajo del proyecto y a proyectos técnicos en tiempo real. 

Métricas orientadas a la función: Utilizan una medida de la funcionalidad entregada por la aplicación como valor de normalización. 

Métricas orientadas al tamaño: Provienen de la normalización de las medidas de calidad y/o productividad considerando el “tamaño” del software que se haya producido. Hacen uso de la línea   de   código   como   factor   estandarizador   de   otras   medidas,   como   persona   ­   mes   o defectos. 

Modelo de Objeto de Componentes (COM), ActiveX:  La arquitectura de software de componente de Microsoft  que  permite  a   los  componentes  de  software  proporcionados por   las  compañías del  software diferentes interactuar de una manera confiable. El COM es una colección de servicios que permiten que los componentes del software actúen recíprocamente en un ambiente de redes. El COM abarca ActiveX®, y otras tecnologías. Los comandos de ActiveX son una manera de empaquetar los componentes del COM para el uso en las aplicaciones y navegadores de Web que usan el COM. 

Personas

Clientes: Especifican los requerimientos para la ingeniería de software. 

Gestores  (técnicos) del  proyecto:  Deben planificar,  motivar,  organizar  y  controlar  a  los profesionales que realizan el trabaja de software. 

Gestores superiores: Definen los aspectos de negocios que a menudo tienen una significativa influencia en el proyecto. 

Profesionales: Proporcionan las capacidades técnicas necesarias para la ingeniería de un proyecto o aplicación. 

Usuarios finales: Los que interaccionan con el software una vez que se ha entregado para la producción. 

Equipo de trabajo: Gente que se reporta directa o indirectamente al Director de Proyectos. 

Personas   extrovertidas   intuitivas:  Son   aquellas   que   basan   muchas   decisiones   en reacciones emocionales y tienden a querer comentar a los demás sobre éstas, más que a pedir opiniones. Usan su intuición para ser creativas y a menudo sugieren aproximaciones no usuales para solucionar un problema. 

Verónica Botto – Legajo 46068 50/52

Page 51: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Personas extrovertidas racionales:  Tienden a mantener sus ideas y no permitir que una intuición  afecte   las  decisiones  a   tomar.  Cuando   razonan,   confían  en   la   lógica,  no  en   la emoción. 

Personas introvertidas intuitivas: Son creativas, pero aplican la creatividad sólo después de haber reunido suficiente información sobre la cual se basa una decisión. 

Personas   introvertidas   racionales:  También  evitan  decisiones   emocionales,  pero  están dispuestas   a   tomarse   tiempo   para   considerar   todos   los   posibles   cursos   de   acción.   Son acopiadoras de información: no se sienten seguras de tomar una decisión a menos que estén convencidas de tener todos los hechos a la mano. 

Proyecto: Trabajo singular con fechas definidas de inicio y finalización, una especificación clara del objetivo o  alcance de  la   tarea,  un presupuesto preestablecido y  una organización  temporal  que se desmantela cuando termina el proyecto. 

Proyecto informático: Conjunto de tareas interdependientes, cuyo propósito es la realización de un producto de software que automatice un conjunto bien definido de requerimientos de unos usuarios, atendiendo a uno o más procesos de negocio. 

Plan   de   proyecto:   Documento   para   comunicar   a   los   clientes   el   análisis   del   riesgo,   el cronograma y la organización. 

Ciclo de vida del proyecto:  Conjunto de  fases del  proyecto generalmente secuenciales, cuyo   nombre   y   cantidad   se   determinan   de   acuerdo   a   las   necesidades   de   control   de   la  organización u organizaciones involucradas en el proyecto. 

Fases  del  proyecto:  Un  conjunto  de  actividades  del  proyecto   relacionadas  lógicamente; usualmente finalizan con la terminación de los mayores entregables. 

Tiempo: Indica cuánto tiempo se requerirá para terminar el proyecto. 

Calendario: Mediante este se especifican las fechas de trabajo, las horas extraordinarias y de no­trabajo y tiempos que se aplican al proyecto, tareas, recursos y asignaciones de recurso. 

Cronograma del proyecto:  Las  fechas planeadas para  la realización de actividades y el cumplimiento de hitos. 

Método del Camino Crítico (CPM): Método de programación de proyectos basado en definir y manejar el camino crítico. 

Alcance: Es el trabajo implicado en la ejecución del proyecto. 

Diagrama de Gantt:  Diagrama que  representa  el  avance   respecto  al   tiempo,  a  menudo usado en la planificación y control del proyecto. 

PERT: Una sigla para la Técnica de Evaluación y Revisión del Programa. La planificación PERT se usa normalmente para la evaluación de la performance, no para el progreso diario e informes de estado. 

Hito: Un identificador que marca alguna fecha importante, como el principio o fin del proyecto,  o los puntos de la revisión mayores. 

Línea base:  Una  instantánea de  datos  del  proyecto  que  se  puede guardar  en  cualquier momento;   típicamente   se   realiza   en   forma   coincidente   con   el   cumplimiento   de   hitos específicos a lo largo de la vida del cronograma del proyecto. 

Nivelación de recursos: Adaptación de un recurso cuya disponibilidad se puede modificar para adecuarlo a los requerimientos de todas las tareas y proyectos en que el recurso ha sido asignado. 

Verónica Botto – Legajo 46068 51/52

Page 52: PCP - Resumen

PCP – Planificación y Control de Proyectos – Resumen Final

Riesgo: Un evento no deseado que tiene consecuencias negativas. 

Riesgos específicos: Son amenazas que resultan de las vulnerabilidades particulares de un proyecto dado. Por ejemplo: un vendedor puede prometer un software de red para una fecha  particular, pero hay algún riesgo de que ese software no esté listo a tiempo. 

Riesgos genéricos: Son aquellos comunes a todos los proyectos de software, tales como entender mal los requerimientos, perder personal clave o dejar tiempo insuficiente para las pruebas. 

Probabilidad de   riesgo:  La probabilidad  del   riesgo  medida desde 0  (imposible)  hasta  1 (certeza). Cuando la probabilidad de riesgo es 1, entonces el riesgo se denomina problema, dado que hay certeza de que suceda. 

Impacto del riesgo: Pérdida asociada a un riesgo. 

Control de riesgo:  Involucra un conjunto de acciones tomadas para reducir o eliminar un riesgo. 

Verónica Botto – Legajo 46068 52/52