El triángulo de hierro

El desarrollo los proyectos IT esta enmarcado dentro de un 'triángulo de hierro' inamovible que determina el resultado, las posibilidades éxito y el grado de calidad final. Los vértices de este triángulo son: tiempo, presupuesto y alcance. En el centro de este triángulo estaría la calidad del resultado final. Este triángulo expresa de una forma gráfica una regla de la metodología de desarrollo ágil: es posible fijar dos de los vértices, pero ello implica que debemos dejar libre el otro.
El tiempo previsto para el desarrollo de un proyecto IT es un aspecto muy importante. En muchos casos se hace previsiones poco realistas y se trazan agendas difícilmente de cumplir.
En la metodología de desarrollo ágil, es muy común dividir el desarrollo de un proyecto en diferentes etapas y realizar entregas regulares del software atendiendo primero a los objetivos principales. Estirando este lado del triángulo aumentan las posibilidades de conseguir un sistema que funciona, manteniendo el coste dentro de un margen razonable al mismo tiempo que se reducen los riesgos del desarrollo.
El presupuesto es el segundo vértice del triángulo. Normalmente es uno de los aspectos donde se imponen más restricciones desde un principio. En muchas ocasiones en manejo del presupuesto de hace de forma ineficiente y se se hace una distribución de los fondos de una forma muy rígida.
Desde el punto de vista de la metodolía ágil es mas importante una gestión inteligente de los fondos asignados a un proyecto. El enfoque es pensar en los fondos como algo que procede de un grifo más que una serie de cantidades preasignadas de una forma rígida. Primero se asigna una cantidad determinada para la consecución de una etapa del desarrollo y a partir de aquí, en función de los resultados obtenidos, se decide la próxima partida a asignar a la fase siguiente. La desventaja de esto es que muchas veces no es posible fijar con exactitud matemática la cantidad total, pero la realidad demuestra que en la mayoría de los proyectos IT manejados de una manera rígida este presupuesto inicial se ve superado, en muchos casos por factores de hasta 500 veces la cantidad prevista. Por lo tanto la contrapartida a un control del gasto inteligente, es no saber cuando vamos a obtener y qué vamos a obtener exactamente.
El alcance de un proyecto define cual es el conjunto de características que deseamos obtener finalmente. Tradicionalmente se estas características se fiajaban en el inicio del desarrollo en base a un conocimiento profundo y exacto de los objetivos. En la practica esto no resulta adecuado debido a que el desarrollo de un proyecto tiene una naturaleza evolutiva debido al entorno cambiante. La realidad es que no fácil fijar de una forma precisa el alcance o lista de características de un proyecto, porque durante el proceso de desarrollo, a medida que vamos recibiendo información de los usuarios, se descubren necesidades que no estaban claras en el inicio. Por otra parte es muy importante fijar en cada etapa la lista de prioridades, porque normalmente el 50% de las características de menos prioridad se usan mucho menos que las de más prioridad. Por eso el proceso de desarrollo ágil dedica regularmente algo de tiempo a la investigación de los requerimientos de mayor prioridad, concediendo concentrandose en estos y realizando entregas de software funcional en cada ciclo de interacción. Los nuevos requerimientos son clasificados según su importancia y prioridad y se colocan en la pila de trabajo para considerarlos en el próximo ciclo de interacción, permitiendo así el manejo de los cambios en los requerimientos iniciales.