El Proceso de gestión para la creación de un sistema o software se basa principalmente en la estimación y asignación de recursos con cierto grado de incertidumbre. Los factores que determinan - principalmente - la planeación de un proyecto son: alcance, recursos y tiempo. Adicional a estos factores, el tamaño del proyecto y la complejidad del mismo influyen de manera directa en el proceso de desarrollo. Adyacente al desarrollo de cada proyecto, la disponibilidad de información histórica es otro elemento que influye en la estimación de recursos con base en el análisis de los factores antes mencionados. Si se determina inicialmente la complejidad de los proyectos de desarrollo de software a partir de una función objetivo, entonces se podrán asignar o reasignar, de manera óptima, los recursos disponibles para los proyectos con base en el comportamiento o capacidades de los participantes, las actividades y el presupuesto disponible de cada proyecto.