Técnicas de programación

1.   Objetivo
4  Identificar las técnicas más usadas para facilitarla programación y seguimiento de proyectos.
4  Proveer una guía para seleccionar el software de programación y control de proyectos.

2.   Alcance
4  a.       Técnicas de programación y control de proyectos.
4  b.      Recomendaciones para la selección de software.

3.   Desarrollo
      a.   Técnicas de programación y control de proyecto
Las técnicas de programación más utilizadas son: PERT (Técnica para evaluación y seguimiento de programas), CPM (Programación por camino crítico) y GANTT (Técnica de programación de barras).
Se recomienda el uso de técnicas de programación y control de proyectos porque:
-  Permite la visualización del proyecto en forma completa y rápida, facilitando la comunicación entre los miembros del equipo de trabajo.
-  Identifica la interdependencia de las actividades y eventos[1].
-  Identifica las tareas, cuya terminación en las fechas previstas son críticas para que el proyecto finalice en término.
-  Facilita el cálculo de alternativas.
-  Provee información rápida para tomar decisiones.
-  Provee estructuras estándares de reportes.
-  Permite medir los progresos.
Aunque con las herramientas de software disponibles los proyectos se pueden representar con diferentes técnicas, es recomendable que los aquellos que son extensos se programen y expongan utilizando los diagramas de redes del PERT/CPM
Si bien los diagramas GANTT son fáciles de graficar tienen la dificultad de no mostrar en forma rápida y sencilla interdependencia entre las tareas.
Las técnicas PERT/CPM se utilizarán en forma indistinta aunque sus diferencias más importantes son:
-  PERT utiliza tres estimaciones (optimista, más probable y pesimista[2]) de la que se deriva el tiempo a utilizar. CPM uso sólo el tiempo normal, que es el que se calcula con en base a experiencia o registros históricos, tiene en general más precisión.
-  PERT es probabilístico por naturaleza, se basa en tiempos de difícil cálculo e incluye el factor riesgo de un proyecto completo. CPM está basa do en tiempos simples y es por naturaleza determinístico.
-  PERT es utilizado en proyectos con alta variabilidad e incertidumbre. CPM es utilizado en proyectos con certeza en las estimaciones.
-  PERT se utiliza en proyectos en que es difícil de determinar el porcentaje de avance de una actividad hasta tanto se llega a completar un evento. CPM es utilizado en proyectos en que es fácil medir el progreso de una actividad.

      b.   Recomendaciones para la selección del software
Existen tres categorías básicas de software de administración de proyectos:
-  Nivel 1: software para  proyectos simples de fácil uso y con salidas sencillas. Provee limitado análisis de datos. No proveen recálculo automático ante determinados cambios, que impiden guardar la imagen original del proyecto y compararlo con posteriores versiones producto de ajustes.
-  Nivel 2: software para proyectos simples con ayuda para planificar, supervisar y reportar los proyectos. Provee un análisis comprensivo del proyecto, reportes de progresos y planes de revisión basados en la performance actual. Este tipo de software está diseñado para brindar soporte más allá del estadio de planificación y provee herramientas de control semiautomáticas.
-  Nivel 3: software para planificación, monitoreo y control de multiproyectos, mediante la utilización de bases de datos comunes y sofisticados monitoreos inter-proyectos y reportes autodefinibles por el usuario.
El software a seleccionar deben encontrarse preferiblemente en la categoría tres y satisfacer los siguientes requisitos [3]:
-  Capacidad: soporte de multiproyectos. Verificar la cantidad máxima de actividades, subredes y subproyectos que puede administrar.
-  Esquemas de redes: manejo de diagramas de actividad y relaciones de precedencia. Debe permitir agrupar actividades en grupos jerárquicos (WBS-Work Breakdown Structure) y manejo de redes PERT.  Es recomendable que puede relacionar las actividades en árboles de decisión y matrices de correlación de estructura organizativa/actividades
-  Versatilidad: que el ingreso y visualización del proyecto se pueda realizar según diagramas GANTT, PERT, Calendario u Hoja de trabajo.
-  Recursos: asignación de recursos a todo el proyecto o a una actividad en particular. La asignación podrá ser en forma manual o automática, a cuyo efecto el software utilizará alguna de los algoritmos heurísticos disponibles. Debe incluir la facilidad de proponer nivelación de los recursos y resolución de sobreasignaciones.
-  Reportes: sugerencia de reportes pre-formateados y disponibilidad de generador de reportes. Que acepte impresión en plotters. Los reportes mínimos preformateados son: diagramas GANTT, diagramas PERT, calendario, distribución de recursos, carga de trabajo, costos presupuestados vs. ejecutados, cash-flow  y desviaciones.
-  Clasificación: posibilidad de clasificar las actividades por distintos criterios.
-  Selección: posibilidad de seleccionar actividades y recursos según distintos criterios.
-  Restricciones: aceptación de restricciones en calendario y recursos, con producción de sugerencias cuando la información ingresada las supera.
-  Desvíos: advertencia de desvíos en calendario, recursos y presupuestos.
-  Actualización: que acepte revisiones de estimaciones y recálculos.
-  Control de costos: que acepte presupuestos de mano de obra, materiales y otros insumos por actividad, por grupo de actividades o para todo el proyecto. Debe contabilizar los costos presupuestados y sumarizar los costos reales, permitiendo su comparación y seguimiento mediante la emisión de reportes.
-  Calendario: manejo de calendario por todo el proyecto, por recurso o por grupo de actividades. Las actividades podrán ingresarse y exponerse en distintas unidades de medida de tiempo.
-  Requerimientos de máquina: cantidad de recurso que afecta en hardware (memoria y discos).
-  Facilidad de aprendizaje y de uso.