Tarea: Planificar fases e iteraciones
En esta tarea se describe cómo planificar las fases e iteraciones del proyecto: cuáles son los objetivos, cuál es la duración, cuántas iteraciones se realizan, etc.
Disciplinas: Gestión de proyectos
Objetivo

El objetivo de esta tarea es:

  • Calcular el ámbito, el esfuerzo y el coste total del proyecto.
  • Desarrollar un plan sin detallar para el proyecto, centrado en los objetivos principales y los entregables clave del ciclo vital del producto.
  • Definir un conjunto de iteraciones dentro de las fases del proyecto e identificar los objetivos de cada una de estas iteraciones.
  • Desarrollar la planificación y el presupuesto del proyecto.
  • Desarrollar un plan de recursos para el proyecto.
  • Definir las tareas para la terminación ordenada del proyecto.
Relaciones
Pasos
Calcular el proyecto
Objetivo Calcular la magnitud del trabajo necesario para entregar el proyecto.
Seleccionar la planificación óptima que cumpla las restricciones del proyecto. 

Durante la Fase inicial, debe preparar los cálculos del trabajo propuesto en el proyecto (para ver una descripción general del cálculo del proyecto de software, consulte [BOE81], [PUT92], y [MCO96]). El cálculo del proyecto de software se basa en un modelo matemático complejo, por lo que la información técnica no se describe en este documento. El cálculo sigue un proceso de cuatro pasos:

  1. Calcular el tamaño del producto
  2. Calcular el coste y el esfuerzo total del proyecto
  3. Aplicar restricciones y prioridades (por ejemplo, el número de personal, la fecha de entrega, el presupuesto)
  4. Seleccionar un cálculo óptimo de coste, esfuerzo y planificación

Calcular el tamaño del producto

Esta es la entrada clave del proceso de cálculo. Si no puede calcular la magnitud del trabajo a realizar, la planificación del proyecto creada no se adaptará a la realidad. Existen dos enfoques para calcular el tamaño del producto de software que se puede utilizar al principio del proyecto: Tamaño por analogía y Tamaño por análisis. Desde luego, más adelante en el proyecto (durante la fase de elaboración), podrá preparar unos cálculos más rigurosos de abajo a arriba basándose en una estructura detallada de trabajo del proyecto.

Tamaño por analogía

Cuando se calcula el ámbito del proyecto utilizando el enfoque de Tamaño por analogía, se compara el nuevo producto que va a desarrollar con los productos desarrollados en proyectos anteriores (de tamaño conocido). Debe comparar varias características de los productos que se están contrastando como, por ejemplo, el número de guiones de uso, el número de actores, la complejidad/el tamaño de la base de datos, así como el número probable de programas por lotes y en línea.

Al comparar estas características, puede calcular el tamaño relativo del nuevo producto respecto a los antiguos, y utilizar el tamaño conocido del producto antiguo para calcular el tamaño estimado del nuevo. Tenga en cuenta que es importante comparar productos de complejidad parecida, desarrollados utilizando enfoques similares, ya que las variaciones en elementos como el nivel de detalle en las descripciones de los guiones de uso pueden invalidar las comparaciones.

Tamaño por análisis

Más adelante en la Fase inicial, es probable que haya recopilado información suficiente sobre el nuevo producto para utilizar técnicas analíticas para calcular el tamaño del producto. Estas técnicas se basan en una descripción funcional del producto de software que está disponible (por ejemplo, la Especificación de requisitos de software, el Documento de arquitectura de software) y aplican reglas de recuento estándar para determinar una medida de tamaño a partir de estas descripciones. Probablemente, la más conocida de estas técnicas es el Recuento de puntos de función, aunque se han desarrollado otras medidas, por ejemplo, los Puntos de característica (una modificación de los puntos de función para la aplicación en sistemas en tiempo real) y los Puntos de objetos predictivos (una medida para los sistemas orientados a los objetos que se basa en el análisis de complejidades y jerarquías de clases). 

También puede encontrar documentación disponible en el sitio web de IBM, donde se describen métodos para el cálculo de tamaño basado en guiones de uso. Cuando utilice esta documentación, tenga en cuenta que para realizar cálculos de tamaños iniciales basados en guiones de uso, debe calibrarlos para que se adapten al estilo de los guiones de uso de su organización, ya que los guiones de uso puede variar significativamente en el nivel de abstracción y la forma de expresión entre varias organizaciones, e incluso dentro de la misma organización. Una vez calibrados, es importante mantener el estilo estándar seleccionado al escribir guiones de uso ya que, de lo contrario, los cálculos de tamaño pueden incluir muchos errores.

Calcular el coste y el esfuerzo total del proyecto

El esfuerzo de personal total y la planificación total de un proyecto se pueden calcular a partir del cálculo de tamaño del producto utilizando modelos científicos establecidos. Los dos modelos principales que se utilizan hoy día son COCOMO (Constructive Cost Model), desarrollado por Barry Boehm, y la Metodología Putnam de Larry Putnam. Ambos modelos se han validado con datos del sector. Para obtener más información sobre la versión más reciente de COCOMO, consulte el sitio web de COCOMOII.

Aparte de la entrada de tamaño, la otra entrada clave es una medida de la productividad del equipo. Este valor determina el esfuerzo general del proyecto. La planificación total del proyecto está relacionada de forma no lineal con el esfuerzo total. No obstante, los modelos son matemáticamente complejos, por lo que se recomienda utilizar las herramientas de software como ayuda en los cálculos.

Aplicar restricciones y prioridades

Prácticamente todo proyecto está sujeto a algunas restricciones (por ejemplo, la entrega se debe realizar en una determinada fecha o el coste no puede superar los $850,000) o prioridades (por ejemplo, el producto se necesita lo antes posible). Dado un tamaño fijo del producto, las restricciones y prioridades se ven afectadas por los ajustes del tamaño del equipo. La relación entre el tamaño del equipo y la planificación no es lineal, por lo que deberá utilizar modelos científicos para generar varios casos de ejemplo basándose en tamaños del equipo variables. El software de cálculo automatizado es muy útil en este ejercicio.

Seleccionar un cálculo óptimo de coste, esfuerzo y planificación

Ahora que tiene varios casos de ejemplo para el proyecto, revise y seleccione el que se adapte mejor a las necesidades de su proyecto. Esto proporciona una imagen inicial de la duración general del proyecto propuesto e indica el tamaño del equipo y el presupuesto necesarios.

Definir objetivos de las fases del proyecto
Objetivo Definir los puntos en los que el progreso del proyecto se valora formalmente.
Asignar el esfuerzo calculado y los costes a cada fase.  

El plan de desarrollo de software define primero las fechas y la naturaleza de los objetivos principales (consulte Fases). Esta parte del plan de desarrollo de software sirve como "mapa" general del proyecto y se crea al principio del mismo (fase inicial).

Para planificar las fases de un proyecto en el ciclo de desarrollo inicial, deberá realizar algunas suposiciones formales sobre los objetivos, basándose en:

  • La experiencia con proyectos de naturaleza y dominio parecidos.
  • El grado de novedad.
  • Las restricciones específicas del entorno como, por ejemplo, el tiempo de respuesta, la distribución y la seguridad.
  • La madurez de la organización.

Utilizando cálculos basados en su propia experiencia con otros proyectos de naturaleza similar, cree el presupuesto del proyecto inicial asignando las partes correspondientes del esfuerzo total calculado y los costes a cada fase del proyecto.

Para obtener más información sobre cómo definir la longitud y el número de iteraciones, consulte Directriz: Plan de desarrollo de software.

Definir el propósito de los objetivos
Objetivo Definir los criterios con los que se valoran las fases.  

Cada objetivo se centra en un entregable específico y proporciona un punto de transición bien definido a la siguiente fase.

Fase 
Objetivo 
Propósito 
Inicial  Objetivos del ciclo vital Comprometer recursos en el proyecto 
Elaboración  Arquitectura del ciclo vital Estabilizar la arquitectura del producto 
Construcción  Objetivo de capacidad operativa inicial Completar el desarrollo del producto 
Objetivo del release del producto Desplegar satisfactoriamente el producto 

Cada objetivo representa un obstáculo crítico que el proyecto debe superar; en cada objetivo, el proyecto se enfrenta a una decisión de continuar/no continuar.

Definir el número, la longitud y los objetivos de las iteraciones dentro de las fases
Objetivo Determinar cuántas iteraciones se planificarán para cada fase del proyecto.
Determinar la asignación relativa del trabajo entre las iteraciones.
Determinar los objetivos de cada iteración. 

Una vez determinada la longitud de las fases del proyecto, se debe determinar el número de iteraciones y su longitud. Para obtener más información sobre cómo definir la longitud y el número de iteraciones, consulte  Directriz: Plan de desarrollo de software. Existen varios patrones de iteración que se pueden aplicar, dependiendo del tipo de proyecto, el dominio del problema y la novedad del dominio del problema (consulte también Concepto: Iteración).

Cada iteración produce un entregable, un release que es un producto ejecutable que se utiliza para valorar el progreso y la calidad. Como cada iteración se centra en un objetivo diferente, la funcionalidad y la completitud del entregable de la iteración variará. Los objetivos de la iteración deben ser lo suficientemente específicos para valorar, al final de la iteración, si se han alcanzado los objetivos de la iteración. En las primeras iteraciones, los objetivos se expresan normalmente en términos de riesgos mitigados; en las iteraciones posteriores, los objetivos se expresan en medidas de calidad y completitud funcional.

Perfeccionar el ámbito y las fechas de los objetivos
Objetivo Perfeccionar los cálculos a partir de la información disponible al final de la fase inicial 

Al final de la fase inicial, las fases se pueden planificar con más precisión teniendo en cuenta lo siguiente:

  • El número de guiones de uso identificados.
  • La complejidad de los guiones de uso que ya se han estudiado.
  • Los riesgos identificados, técnicos y de empresa.
  • Las medidas de los guiones de uso o los puntos de función.
  • El resultado de los prototipos.

Este plan aproximado se actualiza durante la fase de elaboración. Sirve como base para crear el resto del plan del proyecto.

Determinar los requisitos de recursos del proyecto
Objetivo Definir el número y los tipos de recursos necesarios para este proyecto, asignados para cada fase/iteración. 

A partir de los cálculos de esfuerzo y la planificación del proyecto que se deriva de ellos, puede definir los recursos necesarios para llevar a cabo el proyecto. Para cada fase/iteración, identifique qué roles tienen que estar implicados y cuántos de cada uno.

Desarrollar el plan de cierre del proyecto
Objetivo Desarrollar un plan para realizar una terminación ordenada del proyecto.  

El plan de cierre del proyecto se documenta en el Apartado 5.6 Plan de cierre del Plan de desarrollo de software. El cierre del proyecto es la serie de tareas que se llevan a cabo para realizar una conclusión ordenada del proyecto, garantizando que todas las medidas y lecciones aprendidas se capturen para futuras consultas.

El proceso de cierre empieza cuando se cumplen las siguientes condiciones:

  • Se han completado todos los entregables del proyecto y se han almacenado en un control de configuración
  • Se han completado las pruebas de aceptación y el cliente ha aceptado formalmente el producto
  • El producto se ha entregado formalmente al cliente

Definir las tareas de cierre

En primer lugar, enumere en el plan las tareas que se ejecutarán durante el cierre del proyecto. Normalmente, son las tareas siguientes:

  • Una reunión posmortem del proyecto
  • El desarrollo de un informe posmortem del proyecto
  • El final de las revisiones de personal del proyecto
  • El archivado de los productos de trabajo del proyecto
  • La reasignación del personal del proyecto
  • La adición de las medidas del proyecto a la base de datos de medidas históricas de la organización para próximos cálculos del proyecto.

Identificar los participantes de las tareas de cierre

A continuación, identifique en el plan qué personas estarán implicadas en cada una de las tareas de cierre.

Definir la planificación de las tareas de cierre

Por último, defina la planificación de las tareas de cierre. Normalmente, esta información se añade al Plan de desarrollo de software al final del proyecto.



Factores clave

La planificación de proyectos es donde el gestor de proyectos crea una instancia (y posteriormente gestiona la ejecución) de un proceso de entrega específico (consulte Producto de trabajo: Proceso de desarrollo) para el proyecto. A menudo se denomina actuación logística.

Un proceso del que se ha "creado una instancia" es un plan de proyecto/iteración/actividad que se puede aplicar (incluye actividades reales y productos de trabajo para un proyecto real).  Para crear una instancia de un proceso de entrega, se importa un Proceso de entrega desde Rational Method Composer a Rational Portfolio Manager (RPM) y, a continuación, se realiza el trabajo de creación de la instancia duplicando las actividades y las tareas que están establecidas en isRepeatable o hasMultipleOccurences, creando productos de trabajo reales, asignando recursos reales a los roles, etc. 

Más información