Caso Práctico: Expandiendo los límites de Project 2007 con ... · PDF...
Transcript of Caso Práctico: Expandiendo los límites de Project 2007 con ... · PDF...
Caso Práctico: Expandiendo los Caso Práctico: Expandiendo los
límites de Project 2007 con VBA límites de Project 2007 con VBA
MacrosMacros
Rafael Ruiz Velasco, PMP, MCITPRafael Ruiz Velasco, PMP, MCITP
• Qué son y para qué sirven las macros en MS
Project
• Cómo se generan las macros
• Demostración: Macros en una solución real.
AgendaAgenda
• Demostración: Macros en una solución real.
• Conclusiones y recomendaciones
“Mejores Prácticas y Tecnologías de Vanguardia para la Dirección de Proyectos”. 2
• Las macros en MS Project son programas que se
generan y ejecutan ‘dentro’ del MS Project
Professional o Standard.
• Utilizan el lenguaje Visual Basic for Application
(VBA).
¿Qué son las macros en MS Project?¿Qué son las macros en MS Project?
(VBA).
• Las macros representan una de las varias
tecnologías de desarrollo disponibles en el Project:
– PSI (Project Server Interface)
– VBA macros
– VSTO (Visual Studio Tools for Office)
“Mejores Prácticas y Tecnologías de Vanguardia para la Dirección de Proyectos”. 3
• Modelo de Objetos de MS Project 2007 (vista
parcial). Fuente: Microsoft Technet.
¿Qué son las macros en MS Project?¿Qué son las macros en MS Project?
“Mejores Prácticas y Tecnologías de Vanguardia para la Dirección de Proyectos”. 4
Modelo de objetos Project 2007: http://msdn.microsoft.com/en-us/library/bb244278.aspx
• VBA macros permiten integración estrecha de
Project con otras aplicaciones como Excel,
Power Point, Word y todas las aplicaciones
que exponen un Modelo de Objetos de VBA.
¿Qué son las macros en MS Project?¿Qué son las macros en MS Project?
que exponen un Modelo de Objetos de VBA.
“Mejores Prácticas y Tecnologías de Vanguardia para la Dirección de Proyectos”. 5
1.- Complementan las funciones predefinidas
para el usuario final
¿Para que sirven las macros?¿Para que sirven las macros?
Funcionalidad ampliada con VBA macros
“Mejores Prácticas y Tecnologías de Vanguardia para la Dirección de Proyectos”. 6
VBA macros
Funcionalidad ‘out of the box’
2.- Facilitan la vida al usuario final.
¿Para que sirven las macros?¿Para que sirven las macros?
“Mejores Prácticas y Tecnologías de Vanguardia para la Dirección de Proyectos”. 7
Macros
¿Cómo se generan las macros?¿Cómo se generan las macros?
Grabación de
macros
Programación Genera Genera
“Mejores Prácticas y Tecnologías de Vanguardia para la Dirección de Proyectos”. 8
Código Fuente
Programación
Mixta
Genera
automáticamente
• Las macros se almacenan en Módulos
– Accesibles desde el Editor de Visual Basic (Alt-F11)
– En cualquier archivo de Project
– En la plantilla global local (global.mpt)
– En la plantilla global de empresa
¿Cómo se generan las macros?¿Cómo se generan las macros?
– En la plantilla global de empresa
“Mejores Prácticas y Tecnologías de Vanguardia para la Dirección de Proyectos”. 9
• Macros simples
– Unas pocas líneas de código
• Macros complejas
¿Cómo se generan las macros?¿Cómo se generan las macros?
• Macros complejas
– Programas completos
– Con formularios, validaciones, procedimientos y
funciones, accesos a bases de datos, etcétera
“Mejores Prácticas y Tecnologías de Vanguardia para la Dirección de Proyectos”. 10
• El modelo a mostrar:
– Modelo de Proyectos de la Subdirección de Ingeniería y
Desarrollo de Obras Estratégicas (SIDOE) en Petróleos
Mexicanos (Con datos ficticios)
– El modelo conjunta las obras que lleva a cabo la SIDOE
es usado para la planeación, programación y
DemostraciónDemostración
es usado para la planeación, programación y
seguimiento físico a nivel gerencial.
– Las obras son típicamente:
• Construcción e instalación de Plataformas Marinas
• Construcción y tendido de Ductos Marinos y Terrestres
• Construcción de infraestructura terrestre
“Mejores Prácticas y Tecnologías de Vanguardia para la Dirección de Proyectos”. 11
Caso 1: Para avances planeados y reales, se
requiere ponderar las tareas y las obras.
• Problemática: El mecanismo de ponderación
requerido no lo ofrecen las opciones
predefinidas del Project.
DemostraciónDemostración
predefinidas del Project.
• Solución:
– Campos personalizados y una macro que genera
ponderadores absolutos para cada tarea y obra.
“Mejores Prácticas y Tecnologías de Vanguardia para la Dirección de Proyectos”. 12
Trabajar con Project ProfessionalTrabajar con Project Professional
• Genera ponderadores absolutos
Para cada ponderador relativo
capturado por cada nivel de la EDT,
la macro calcula los ponderadores
absolutos con respecto a la cartera
de obras.de obras.
Es necesario ejecutar esta rutina,
para poder calcular el avance físico
de las obras y de los indicadores de
desempeño.
Caso 2: distribuciones del trabajo físico en el
tiempo para planeación y línea base.
• Problemática: Las distribuciones que Project
ofrece no se apegan a las necesidades.
• Solución:
DemostraciónDemostración
• Solución:
– Una macro distribuye la asignación del trabajo en
el tiempo de acuerdo a la curva de distribución
seleccionada.
– Calcula el % de avance por día y lo registra en los
datos time-phased de la asignación.
“Mejores Prácticas y Tecnologías de Vanguardia para la Dirección de Proyectos”. 14
Trabajar con Project ProfessionalTrabajar con Project Professional
• Calcular distribuciones de
recursos
Permite distribuir los avances físicos
a través del tiempo, para cada una
de las actividades en base a una
distribución particular:distribución particular:
• Uniforme
• Triangular
• Creciente
• Decreciente
• Pico Temprano
• Pico Tardío
• Personalizada
Caso 3: Captura de los avances reales.
• Problemática: La captura de los avances
reales, a nivel de cada asignación en la escala
de tiempo, es compleja.
DemostraciónDemostración
de tiempo, es compleja.
• Solución:
– Una macro que permite la captura del avance real
en un periodo de tiempo y distribuye dicho
avance en el campo trabajo time phased de la
asignación.
“Mejores Prácticas y Tecnologías de Vanguardia para la Dirección de Proyectos”. 16
Trabajar con Project ProfessionalTrabajar con Project Professional
• Actualizar avances
– Se selecciona el periodo para el
cual se capturará el avance.
– Se captura el total acumulado y la
macro calcula el avance del
periodo.periodo.
– El registro del avance se hace en
el campo ‘trabajo’ de la asignación
del recurso AvanceFisico.
(timephased)
– La macro calcula también el
avance planeado hasta la fecha de
estado, conforme a la línea base
de la tarea.
Caso 4: Pasar datos avance planeado y real a
Excel
• Problemática: Las opciones predefinidas en
Project para exportar a Excel no cubren los
requerimientos del modelo.
DemostraciónDemostración
requerimientos del modelo.
• Solución:
– Una macro que pasa a Excel los datos del time-
phased de avances planeados y reales,
considerando las obras y tareas seleccionadas y
estableciendo una ponderación apropiada.
“Mejores Prácticas y Tecnologías de Vanguardia para la Dirección de Proyectos”. 18
Trabajar con Project ProfessionalTrabajar con Project Professional
• Opciones generales
Se elije la información que se quiere exportar, es decir, los avances físicos de
manera parcial o acumulada, así como avance real/pronóstico o planeado.
En la parte inferior se permite personalizar el nombre del reporte.
Trabajar con Project ProfessionalTrabajar con Project Professional
• Pasa a Excel
Como resultado de la generación de la Macro, se obtienen los
reportes en Excel.
Caso 5: Verificar la calidad del modelo
• Problemática: El modelo tiene muchas
variables y no es simple revisar que todas ellas
estén utilizadas correctamente.
• Solución:
DemostraciónDemostración
• Solución:
– Una macro que valida múltiples características del
modelo.
– Genera un archivo Log indicando los aspectos a
revisar y/o corregir.
– Algunos aspectos los corrige directamente la
macro.“Mejores Prácticas y Tecnologías de Vanguardia para la Dirección de Proyectos”. 21
DemostraciónDemostración
• Macro de
validación del
modelo
“Mejores Prácticas y Tecnologías de Vanguardia para la Dirección de Proyectos”. 22
DemostraciónDemostración
• Resultado de la
Validación
– Archivo texto con
los problemas y
aspectos a revisar
del modelo.
“Mejores Prácticas y Tecnologías de Vanguardia para la Dirección de Proyectos”. 23
• Si su proyecto EPM es interno o para un cliente
en particular, vale la pena considerar el uso de
VBA macros desde la conceptualización.
• Conviene desarrollar habilidades para el
desarrollo de VBA macros.
Conclusiones y RecomendacionesConclusiones y Recomendaciones
desarrollo de VBA macros.
• Las macros de Project ayudan a generar
modelos exitosos!
“Mejores Prácticas y Tecnologías de Vanguardia para la Dirección de Proyectos”. 24
• Project 2007 sdk
• Project VB Editor Help
• Project Programmability Blog
• Microsoft News Groups on Project development
ReferenciasReferencias
• Microsoft News Groups on Project development
• Dynamic Scheduling with MS Office Project 2007
– Rodolfo Ambriz, International Institute for Learning
“Mejores Prácticas y Tecnologías de Vanguardia para la Dirección de Proyectos”. 25