martes, 7 de agosto de 2012

Análisis de Disponibilidad y Uso de Recursos en Project Server 2007

Introducción

El análisis de uso de recursos en Project Server 2007 debería poder permitir saber cuál es la asignación (y sobre asignación) de los recursos a lo largo de los diferentes proyectos de la organización.

Dentro de este análisis, se podrían buscar cubrir los siguientes requerimientos:

  • Analizar la disponibilidad de los recursos
  • Analizar el trabajo planificado de los recursos
  • Analizar el trabajo real de los recursos
  • Analizar esta variables a través de distintos proyectos
  • Analizar esta variables a través de tareas (menos común)
  • Analizar estas variables a través del tiempo
  • Agrupar estas variables a través de campos personalizados de los proyectos
  • Agrupar estas variables a través de campos personalizados de los recursos
  • Utilizar herramientas que permitan un análisis dinámico: tablas dinámicas de Excel por citar un ejemplo

En este documento se presentarán algunas alternativas para poder realizar este análisis.

 

Los datos de Project que se pueden analizar

En la siguiente lista, se enumeran los campos típicos a utilizar como dimensiones de proyectos, dimensiones de recursos y medidas:

Dimensiones de Proyectos:

  • Nombre del Proyecto
  • Owner
  • Campo personalizado de Proyecto (pueden ser muchos)

Dimensiones de Recursos:

  • Nombre del Recurso
  • Activo (Si / No)
  • Genérico (Si / No)
  • Equipo (Si / No)
  • Tipo de reserva (confirmada / propuesta)
  • Campo personalizado de Recursos (pueden ser muchos)

Medidas

  • Trabajo
  • Trabajo Real
  • Trabajo previsto
  • Capacidad
  • Disponibilidad de trabajo
  • Disponibilidad restante
  • Costos

En el siguiente ejemplo simple de Project Pro vamos a revisar el uso de estos campos. Comenzamos con una vista sencilla de 2 tareas con recursos asignados. Luego de estimar la duración de las tareas, vemos como queda completado el campo Trabajo:

clip_image002

En la vista Gráfico de Recursos se puede observar la disponibilidad del recurso y el trabajo asignado, identificando claramente una sobre asignación en los dos primeros días:

clip_image004

En un siguiente paso, vamos a establecer una línea base y luego vamos a agregar porcentaje de avance en una tarea. De esta forma vemos como se completan los campos de trabajo real y trabajo previsto. Adicionalmente agregamos una tarea nueva y la opción de mostrar la tarea resumen del proyecto. El resultado es el siguiente:

clip_image006

En la vista de Hoja de Recursos podemos ver el detalle día a día por Recurso:

clip_image008

Finalmente, como alternativa adicional dentro de Projec Pro, podemos utilizar los informes visuales, pero recordemos que seguiremos haciendo los análisis dentro del contexto de un único proyecto:

clip_image010

clip_image012

 

La opción fuera de la caja de PWA

Sin activar el uso de OLAP, fuera de la casa tenemos algunas opciones para realizar análisis dentro del Centro de Recursos. La más lógica es la del botón “Ver Disponibilidad” que nos genera un gráfico como el siguiente:

Recordar que es necesario tener instalado los Office Web Components para ver la parte gráfica de esta consulta.

clip_image014

clip_image016

Uno de los problemas de esta vista, es que no permite realizar un análisis tipo tabla dinámica. Además posee la limitación de un máximo de 100 recursos

 

La opción fuera de la caja de PWA – Alternativa OLAP

Una opción que podemos utilizar y que implica realmente poco esfuerzo es a través de las opciones OLAP de Project Server. Existen tres cubos que podemos utilizar:

  • Assignment Timephased
  • Resource Timephased
  • MSP_Portfolio_Analizer (una combinación de los dos cubos anteriores)

Esta opción escapa al alcance de este artículo, pero verán que es una alternativa válida, con la única contra de que no se encuentra actualizada en tiempo real.

 

La opción de la BD de Reporting de Project Server

Otra opción es crear un reporte utilizando la base de datos de Project Server para Reporting.

A continuación mostramos un ejemplo que consta de dos partes:

  • Una vista SQL que retorna los datos que necesitamos
    • A nivel de día
    • Con detalle de proyectos
    • Con detalle de recursos
    • Sin detalle de tareas (para optimizar rendimiento)
  • El acceso a dicha vista desde Excel 2010 para mostrar los datos en forma de tabla dinámica

También podríamos haber elegido SSRS, pero para este tipo de análisis, requeríamos una herramienta más apropiada como un Tabla Dinámica.

La instrucción de la vista pueden verla en el siguiente script: 

USE ProjectServer_Reporting

DROP VIEW DISPONIBILIDAD_RECURSOS

GO

CREATE VIEW DISPONIBILIDAD_RECURSOS AS

SELECT

MSP_EpmProject_UserView.ProjectName Proyecto,

MSP_EpmResource_UserView.ResourceName Recurso,

YEAR (MSP_EpmAssignmentByDay_UserView.TimeByDay) AS [Fecha Año],

MONTH (MSP_EpmAssignmentByDay_UserView.TimeByDay) AS [Fecha Mes],

Day (MSP_EpmAssignmentByDay_UserView.TimeByDay) AS [Fecha Día],

SUM (MSP_EpmAssignmentByDay_UserView.AssignmentWork) Trabajo,

SUM (MSP_EpmAssignmentByDay_UserView.AssignmentActualWork) [Trabajo Real],

SUM (MSP_EpmResourceByDay_UserView.Capacity) Capacidad

FROM

MSP_EpmAssignmentByDay_UserView

INNER JOIN MSP_EpmProject_UserView ON MSP_EpmAssignmentByDay_UserView.ProjectUID = MSP_EpmProject_UserView.ProjectUID

INNER JOIN MSP_EpmTask_UserView ON MSP_EpmAssignmentByDay_UserView.ProjectUID = MSP_EpmTask_UserView.ProjectUID AND

MSP_EpmAssignmentByDay_UserView.TaskUID = MSP_EpmTask_UserView.TaskUID

INNER JOIN MSP_EpmAssignment ON MSP_EpmAssignmentByDay_UserView.AssignmentUID = MSP_EpmAssignment.AssignmentUID AND

MSP_EpmAssignmentByDay_UserView.ProjectUID = MSP_EpmAssignment.ProjectUID AND MSP_EpmAssignmentByDay_UserView.TaskUID = MSP_EpmAssignment.TaskUID

INNER JOIN MSP_EpmResource_UserView ON MSP_EpmAssignment.ResourceUID = MSP_EpmResource_UserView.ResourceUID

INNER JOIN MSP_EpmResourceByDay_UserView ON MSP_EpmResourceByDay_UserView.ResourceUID = MSP_EpmResource_UserView.ResourceUID AND

MSP_EpmResourceByDay_UserView.TimeByDay = MSP_EpmAssignmentByDay_UserView.TimeByDay

WHERE

(MSP_EpmResource_UserView.ResourceName IS NOT NULL)

AND MSP_EpmAssignmentByDay_UserView.TimeByDay >= GETDATE()

GROUP BY

ProjectName,

ResourceName,

MSP_EpmAssignmentByDay_UserView.TimeByDay

GO

En la siguiente imagen pueden ver cómo se pueden analizar los datos de esta vista desde Excel 2010:

clip_image018


 


Conclusión


Existen muchas formas de analizar el uso y la disponibilidad de recursos en Project Server. Es conveniente conocerlas todas y ver cuál es la opción apropiada en cada caso. En este artículo hemos visto cómo hacerlo accediendo directamente a la BD de SQL Server con una tabla dinámica. Esta opción es bastante flexible, pero podría presentar algunos problemas de rendimiento en caso que tengamos grandes volúmenes de información.

Espero les haya resultado útil. Nos vemos!

 

Enlaces interesantes


0 comentarios:

Publicar un comentario en la entrada