El proceso de creación de software puede
llegar a ser muy complejo, dependiendo
de su porte, características y
criticidad del mismo. Por ejemplo la
creación de un sistema operativo es una
tarea que requiere proyecto, gestión,
numerosos recursos y todo un equipo
disciplinado de trabajo. En el otro
extremo, si se trata de un sencillo
programa (por ejemplo, la resolución de
una ecuación de segundo orden), éste
puede ser realizado por un solo
programador (incluso aficionado)
fácilmente. Es así que normalmente se
dividen en tres categorías según su
tamaño (líneas de
código) y/o costo: de Pequeño,
Mediano y Gran porte. Existen varias
metodologías para estimarlo, una
de las más populares es el sistema
COCOMO que
provee métodos y un software (programa)
que calcula y provee una estimación de
todos los costos de producción en un
"proyecto software" (relación
horas/hombre, costo monetario, cantidad
de líneas fuente de acuerdo a lenguaje
usado, etc.).