COCOMO (Constructive Cost Model) es un modelo matemático de base empírica utilizado para la estimación de costes, esfuerzo y tiempo en proyectos de software. Fue creado por Barry Boehm en 1981 y es, con diferencia, la técnica de estimación más preguntada en los exámenes de oposición por su rigor y estructura.
1. Funcionamiento Básico
A diferencia de otros métodos, COCOMO estima el esfuerzo basándose principalmente en el tamaño del software, medido en líneas de código fuente (habitualmente expresadas en miles de líneas o KLOC – Kilo Lines of Code).
La fórmula general que debes recordar (aunque sea conceptualmente) es: E = a * (KLOC)^b Donde E es el esfuerzo en personas-mes, y a y b son constantes que dependen del tipo de proyecto.
2. Los Tres Niveles de COCOMO
El modelo se divide en tres niveles de complejidad creciente:
- Básico: Realiza una estimación rápida y aproximada. Es útil para una primera visión del proyecto pero tiene poco margen de precisión.
- Intermedio: Es el más equilibrado para el estudio. Aplica «conductores de costes» (cost drivers) que son factores multiplicadores basados en atributos del producto, del hardware, del personal y del proyecto.
- Detallado: Incorpora la influencia de los conductores de costes en cada fase individual del ciclo de vida (análisis, diseño, etc.).
3. Modos de Desarrollo (Clasificación de Proyectos)
COCOMO clasifica los proyectos en tres categorías según su entorno y rigidez, algo que suele ser objeto de preguntas tipo test:
- Modo Orgánico: Proyectos pequeños, con equipos experimentados y requisitos flexibles. El desarrollo es fluido.
- Modo Semiacoplado: Proyectos de tamaño y complejidad media, con una mezcla de personal experimentado y no experimentado.
- Modo Encajado (Embedded): Proyectos desarrollados bajo restricciones muy estrictas (software de control aéreo, sistemas bancarios críticos, etc.). Aquí el esfuerzo es mucho mayor por la rigidez de los requisitos.
4. COCOMO II
Es la evolución del modelo original para adaptarse a las nuevas formas de desarrollo (como el desarrollo basado en componentes o el uso de herramientas CASE). Mientras que el COCOMO original se centraba solo en líneas de código, COCOMO II permite estimar también mediante Puntos Objeto o Puntos Función en etapas tempranas donde aún no se sabe cuántas líneas de código tendrá el programa.
Importancia para la Oposición
En un examen, COCOMO suele aparecer asociado a la fase de planificación y análisis, como una herramienta de gestión para determinar la viabilidad económica y la asignación de recursos humanos. Es el contrapunto técnico a los «Puntos Función», que es la otra gran métrica de estimación.
