5. Estimación de Proyectos

Introducción
El trabajo a través de proyectos es la forma frecuente de actuación en el desarrollo de software. Diversas han sido las conceptualizaciones que se han hecho de un proyecto, manteniéndose como factor común en todas la presencia de un conjunto de etapas compuestas por actividades para alcanzar un objetivo en un tiempo determinado.



Los proyectos de desarrollo de software, al igual que el resto, deben iniciarse con un buen plan, pero lamentablemente, la planificación no es una tarea trivial. Uno de los aspectos que dificulta la labor de administradores y jefes de proyecto en torno a la planificación radica en la complejidad de realizar una estimación de costos y plazos realista. El proceso para crear una planificación de desarrollo exacta consta de tres pasos: 

  • Estimar el tamaño del producto.
  • Estimar el esfuerzo necesario para su desarrollo y 
  • Estimar la duración.

La estimación en proyectos de software es una tarea extremadamente compleja, que requiere, entre otras cosas, disponer de información detallada del proyecto o de los proyectos a estimar, realizar una primera planificación del proyecto y conocer los recursos disponibles. Aun disponiendo de todos los medios y de la información necesaria, las estimaciones de los proyectos de software suelen errar, normalmente, pronosticando resultados menores de los que finalmente se producen.


La figura siguiente muestra algunas de las predicciones que pueden ser útiles a lo largo del ciclo de vida.





5 Grandes Actividades de la Estimación de Proyectos



La noción de programa de trabajo tiene diversos usos. Por lo general se aplica para nombrar a la planificación que se desarrolla en torno a un proyecto o a una iniciativa. El programa de trabajo, de este modo, detalla qué acciones se llevarán a cabo y cuáles son los pasos a seguir.

Lo que hace el programa de trabajo, en este sentido, es sistematizar las actividades que se planean realizar. Supongamos que un club adquiere un terreno para construir un nuevo gimnasio. Con ese fin, los directivos elaboran un programa de trabajo y fijan una fecha como plazo para completar las obras. El programa de trabajo contempla preparar el terreno, levantar los cimientos, desarrollar la estructura, decorar el gimnasio, etc.

La finalidad de un programa de trabajo es la planificación y la coordinación de las acciones. Esto resulta esencial cuando se contempla la participación de diversas instituciones en un mismo proyecto. Un programa de trabajo para el saneamiento de un río, por citar una posibilidad, puede repartir las tareas entre el gobierno municipal, el gobierno nacional y una organización no gubernamental que trabaja para la protección del medio ambiente.



Análisis de Riego

El análisis de riesgo, también conocido como evaluación de riesgos o PHA por sus siglas en inglésProcess Hazards Analysis, es el estudio de las causas de las posibles amenazas y probables eventos no deseados y los daños y consecuencias que éstas puedan producir.
Este tipo de análisis es ampliamente utilizado como herramienta de gestión en estudios financieros y de seguridad para identificar riesgos (métodos cualitativos) y otras para evaluar riesgos (generalmente de naturaleza cuantitativa).
El primer paso del análisis es identificar los activos a proteger o evaluar. La evaluación de riesgos involucra comparar el nivel de riesgo detectado durante el proceso de análisis con criterios de riesgo establecidos previamente.
La función de la evaluación consiste en ayudar a alcanzar un nivel razonable de consenso en torno a los objetivos en cuestión, y asegurar un nivel mínimo que permita desarrollar indicadores operacionales a partir de los cuales medir y evaluar.
Los resultados obtenidos del análisis, van a permitir aplicar alguno de los métodos para el tratamiento de los riesgos, que involucra identificar el conjunto de opciones que existen para tratar los riesgos, evaluarlas, preparar planes para este tratamiento y ejecutarlos.





Planificación de la Gestión de Calidad


Gestión de la Calidad del Proyecto. La Gestión de la Calidad del Proyecto incluye los procesos y actividades de la organización ejecutante que determinan responsabilidades, objetivos y políticas de calidad a fin de que el proyecto satisfaga las necesidades por la cuales fue emprendido.




La Estimación de Proyectos de Software

Tenemos que saber que las estimaciones que hagamos nunca serán exactas debido a la gran cantidad de variables que intervienen en su cálculo. Pero evidentemente, cuanto mejor sea la estimación que realicemos, mejor podremos maniobrar para conseguir los objetivos o mejorar la rentabilidad del proyecto.
Estimar es difícil, ya que:
  • Los requisitos iniciales no están totalmente delimitados.
  • Puede que necesitemos utilizar tecnologías nuevas.
  • Las personas involucradas en el proyecto pueden tener distintos grados de experiencia.
Pero es muy importante partir de una estimación inicial.
Una de las actividades en la gestión de proyectos software es la estimación de costes y tiempos.
La estimación de un proyecto software requiere:

  • Experiencia.
  • Buena información histórica.
  • Confianza en las métricas y la experiencia.

Técnicas de Estimación

Se han desarrollado varias técnicas de estimación para el desarrollo de software, las cuales todas tienen en común los siguientes atributos:
Se han de establecer de antemano el ámbito del proyecto.
Como bases para la realización de estimaciones se usan datos de software de proyectos pasados.
El proyecto se descompone en partes más pequeñas que se estiman individualmente.

Estimación de Esfuerzo y Tamaño

La estimación de tiempo y esfuerzo es útil para la asignación de recursos, apoya la evaluación del impacto de los cambios, y la re-programación de un proyecto, permite asignar recursos a los proyectos, facilita su gestión y apoya planificaciones realistas permitiendo que los resultados sean más consistentes con lo planificado. Para que la estimación sirva a estos fines debe ser lo suficientemente temprana y precisa. 

La actividad de estimar en proyectos de software es altamente complicada, en ocasiones se estima teniendo un conocimiento mínimo del proyecto, no se cuenta con información histórica que pueda apoyar el proceso de estimación actual, pocas veces se obtienen especificaciones confiables y completas.

Estimación LDC (Datos de Líneas de Código) y Puntos de Función (PF)
Estos dos tipos de estimaciones son técnicas diferentes por ejemplo el LDC es orientada al tamaño y PF orientadas a función, ambas tienen una finalidad en común durante la estimación  del  proyecto de software. Como variable y métricas de linea base.

Técnica LDC

Linea de código: Es una medida propuesta inicialmente cuando los programas se escribían en tarjetas, con una línea por tarjeta. Actualmente los lenguajes permiten escribir varias sentencias en una línea, o una misma sentencia en varias líneas.


¿En que consiste esta técnica?


Las LDC miden en forma directa el tamaño del producto de software. Se calculan contando las instrucciones de código fuente de cada  elemento del producto de software excluyendo, generalmente, los comentarios. 
Antes de adoptar esta métrica,la organización debe definirla en forma exhaustiva. Esta definición debe respetarse, ya que podría atentar a la integridad de los datos del proyecto. Cuando se utiliza LDC como variable de estimación, la descomposición funcional es absolutamente esencial, a menudo se lleva hasta considerables niveles de detalle. 
Usando PF es la variable de estimación es menos detallado. También, debe de tenerse en cuenta que mientras que LDC se estima directamente, PF se determina indirectamente mediante la estimación del número de entradas, salidas, archivos de datos y peticiones externas, entre otras. Entonces, se calcula el valor esperado de LDC. El valor esperado para la variable de estimación, E, se obtiene como una medida ponderada de las estimaciones LDC óptima (a), más probable (m) y pesimista (b). Esta técnica trata de definir el tiempo y el costo del proyecto en base a la cantidad de líneas de código se tienen que escribir, cual es el costo por línea y cuantas líneas de código desarrollamos en un mes.

Con este cuadro se calculan los LDC:


Pasos para el calculo LDC:

  • Descomponer el problema
  • Estimar valores para columnas de lineas de código  a escribir
  • Calcular columna esperada

Proceso de Estimación




Ventajas y desventajas  LDC





PF (Orientada a la Función)

Punto función es un método utilizado en ingeniería del software para medir el tamaño del software. Fue definida por Allan Albrecht, de IBM, en 1979 y pretende medir la funcionalidad entregada al usuario independientemente de la tecnología utilizada para la construcción y explotación del software, y también ser útil en cualquiera de las fases de vida del software, desde el diseño inicial hasta la implementación y mantenimiento.


Proceso estimación mediante PF



Calculo PF sin ajuste



El Modelo COCOMO

El Modelo Constructivo de Costes (Constructive Cost Model) fue desarrollado por B. W. Boehm a inales de los 70 y comienzos de los 80, exponiéndolo detalladamente en su libro "Software Engineering economics" (Prentice-Hall, 1981). COCOMO es una jerarquía de modelos de estimación de costes software que incluye submodelos básico, intermedio y detallado.



Los modelos de COCOMO están definidos para tres tipos de proyectos software: 

  •  Modo orgánico: Proyectos de software sencillos y pequeños,sobre los que trabajan  equipos pequeños con buena experiencia sobre un conjunto poco rígido de requisitos. 
  •  Modo semiacoplado: Proyectos de software de tamaño y complejidad intermedia, en los que equipos con variados niveles de experiencia deben satisfacer requisitos poco o medio rígidos.
  • Modo empotrado: Deben ser desarrollados en un conjunto de hardware y software y restricciones operativas muy restringido.

Problemática de la Estimación de Proyectos

Antecedentes
Lo que se entiende por ProyectoCualquier esfuerzo planeado que tiene productos a ser generados, compromisos de entrega preestablecidos y limitaciones de recursos y presupuesto.
Lo que se piensa del Proyecto
  • No termina a tiempo

  • Ni dentro del presupuesto
  • Comprometiendo el contenido
Mitos
  • Los Gerentes deben ser cínicos
  • A los proyectos siempre se les agota el tiempo y no las excusas.
  • También se gradúan de usar cualquier cambio solicitado por el cliente para cubrirse en caso de pasarse del tiempo y costos.

Incertidumbre

La incertidumbre provoca a la organización a controlar todo con cierta exactitud. Este miedo al fracaso puede alejar a los proyectos de éxito.


Ruta Crítica

Se denomina ruta crítica a un método que se emplea para calcular los tiempos en la planificación de un proyecto. Se trata de un algoritmo que busca optimizar los costos a partir de la programación de las acciones.

Para desarrollar una ruta crítica, primero es imprescindible identificar la totalidad de las acciones que forman parte del proyecto y establecer vínculos de precedencia. A partir de esta identificación, se puede establecer el tiempo de cada actividad. Luego se debe desarrollar una red que incluya todas estas actividades. Tras analizar la información con distintos cálculos, finalmente se puede identificar la ruta crítica, que será un camino hacia la concreción del proyecto.


Diagrama Gantt



Diagrama bi-dimensional , en el que en el eje vertical se representan las actividades y en el horizontal el tiempo. Las actividades se representan como una barra horizontal, cuyo extremo izquierdo representa la flecha de comienzo de dicha actividad, viniendo la duración indicada por su longitud. 

Gantt no proporciona información sobre la secuencia más óptima de actividades(pues debe escogerse  manualmente), ni sobre el plazo mínimo de ejecución de un determinado proyecto. Tampoco permite identificar cuál es el efecto de un retraso en la finalización de alguna actividad sobre la fecha de finalización del proyecto completo. 

PERT



Es básicamente un método para analizar las tareas involucradas en completar un proyecto dado, especialmente el tiempo para completar cada tarea, e identificar el tiempo mínimo necesario para completar el proyecto total. Este modelo de proyecto fue el primero de su tipo, un reanimo para la administración científica. 

No es muy común el modelo de proyectos, todos se basan en PERT de algún modo. Sólo el método de la ruta crítica (CPM) de la Corporación DuPont fue inventado en casi el mismo momento que PERT. La parte más famosa de PERT son las Redes PERT, diagramas de líneas de tiempo que se interconectan. 


Métodos para la Estimación de Proyectos

No hay comentarios:

Publicar un comentario