En el principio el costo del Software constituía un pequeño porcentaje del costo total de los sistemas basados en Computadoras. Hoy en día el Software es el elemento mas caro de la mayoría de los sistemas informáticos.
Un gran error en la estimación del costo puede ser lo que marque la diferencia entre beneficios y perdidas, la estimación del costo y del esfuerzo del software nunca será una ciencia exacta, son demasiadas las variables: humanas, técnicas, de entorno, políticas, que pueden afectar el costo final del software y el esfuerzo aplicado para desarrollarlo.
COSTOS TANGIBLES:
Son aquellos que el analista de sistemas y el personal contable de la empresa pueden pronosticar con precisión. Entre estos se incluye el costo del equipo como las computadoras y terminales, el costo de los recursos, el costo del tiempo del analista de sistemas, el costo del tiempo de los programadores y los salarios de los demás empleados relacionados. Por lo general, estos costos están bien establecidos o se pueden descubrir con mucha facilidad, y son los que requerirán un desembolso de efectivo por parte de la empresa.
COSTOS INTANGIBLES:
Son difíciles de estimar y tal vez no se conozcan. Entre éstos se incluyen perder la ventaja competitiva, perder la reputación de ser el primero con una innovación o el líder en un campo, reducir la imagen de la empresa debido al aumento en la inconformidad de los clientes, y un proceso inefectivo de toma de decisiones debido a que la información pertinente se recibe después de tiempo o no se tiene acceso a ella.
Estimación basada en el Proceso
El proceso se descompone en un conjunto relativamente pequeño de actividades o tareas, y en el esfuerzo requerido para llevar a cabo la estimación de cada tarea.
Se mezclan las funciones del problema y las actividades del proceso. Como ultimo paso se calculan los costos y el esfuerzo de cada función y la actividad del proceso de software.
El Modelo COCOMO
Barry Boehm, en su libro clásico sobre economía de la Ingeniería del Software, introduce una jerarquía de modelos de estimación de Software con el nombre de modelo constructivo de costos COCOMO (Constructive, Cost, Model). La jerarquía de modelos de Boehm esta constituida por los siguientes:
♦ Modelo I: calcula el esfuerzo (horas-persona) y el costo del desarrollo de Software en función del tamaño del programa, expresado en las líneas de código estimadas.
♦ Modelo II: calcula el esfuerzo del desarrollo de software en función del tamaño del programa y de un conjunto de conductores de costos que incluyen la evaluación subjetiva del producto, del hardware, del personal y de los atributos del proyecto.
♦ Modelo III: incorpora todas las características de la versión intermedia y lleva a cabo una evaluación del impacto de los conductores de costos en cada caso (análisis, diseño, etc.) del proceso de ingeniería de Software.
El planificador del Proyecto de Software tiene que estimar tres cosas antes de que comience el proyecto: cuanto durara, cuanto esfuerzo requerirá y cuanta gente estará implicada. Además el planificador debe predecir los recursos de hardware y software que va a requerir y el riesgo implicado.
Para obtener estimaciones exactas para un proyecto, generalmente se utilizan al menos dos de las tres técnicas referidas anteriormente. Mediante la comparación y la conciliación de las estimaciones obtenidas con las diferentes técnicas, el planificador puede obtener una estimación más exacta. La estimación del proyecto de software nunca será una ciencia exacta, pero la combinación de buenos datos históricos y técnicas puede mejorar la precisión de la estimación.