Medir el éxito o fracaso de un proyecto de desarrollo de software es un tema complejo que depende de las expectativas de los involucrados (stakeholders). Además de considerar la perspectiva de cada uno de ellos, también se consideran múltiples criterios de éxito del proyecto. Una forma común de abordar el éxito del proyecto es considerar las variables del desarrollo de software que se tratan de controlar por las prácticas de ingeniería del software: costo, tiempo y calidad. Desde un punto de gestión de proyectos, se refieren a estas tres variables como el triángulo de hierro o restricción triple. En este contexto, se usa la variable ámbito en lugar de calidad porque su aplicación es más general (Figura 1). Las restricciones significan:
Costo. El costo se refiere al presupuesto estimado para llevar a cabo el proyecto. Incluye todos los gastos asociados al proyecto, asociados al consumo de recursos, equipos, software y materiales, así como el pago que deben hacerse a las personas que trabajaron en el proyecto, incluyendo tanto al gestor del proyecto como al equipo de desarrollo de software.
Tiempo. La restricción de tiempo se refiere a la duración estimada para completar el proyecto. En proyectos de desarrollo de software se deben considerar, al menos, las etapas del ciclo de vida del producto de software y el nivel de formalidad con el cual se presentarán los entregables del proyecto. Además, se calcula el esfuerzo requerido del proyecto para, a partir de los recursos humanos asignados al proyecto, determinar las fechas de entrega.
Ámbito. En el contexto de proyectos de software, se refiere a las funciones que deberán proveer el software y el nivel de calidad esperado. En otros contextos de gestión de proyectos, ámbito sólo se refiere al trabajo que deberá hacerse, a su complejidad, o inclusive, la calidad.
En el modelo de la triple restricción, la calidad del trabajo está restringida por el presupuesto asignado al proyecto, la fecha de entrega del producto o servicio, y las características esperadas del producto. El modelo permite hacer algunos análisis del proyecto, durante su concepción y en durante su ejecución. Además, el modelo permite valorar el impacto que podría tener el ajuste en alguna de sus variables. Por ejemplo, si se desea adelantar la fecha de entrega del producto, se podrían recortar el ámbito y aumentar el presupuesto para, por ejemplo, contratar más personal.
Sin embargo, el modelo de la triple restricción no considera otras dimensiones que podrían estar relacionados con el éxito del proyecto, como lo es la satisfacción del cliente con el producto, el impacto en los stakeholders del proyecto o el aprendizaje alcanzado por los involucrados en el proyecto. Para entender el éxito o fracaso de los proyectos, se podrían considerar los siguientes elementos críticos (Mantilaa et al., 2017):
Por tanto, en un proyecto de desarrollo de software, se sugiere negociar con los stakeholders del proyecto los criterios de éxito que serán considerados, su prioridad, así como sus umbrales. La definición de estas variables permitirá determinar el nivel de riesgo del proyecto y su factibilidad para tomar decisiones respecto de continuar el proyecto o cancelarlo.