Gestión de proyectos informáticos: ¿tradicional o ágil?
Los modelos de planificación empleados en la gestión de proyectos informáticos tradicional, también conocidos como SDLCs (Software Development Lifecycles: ciclos de vida de desarrollo software) descomponen los proyectos en fases. Un ejemplo típico podría ser:
- Iniciación.
- Planificación.
- Ejecución.
- Monitorización y control.
- Cierre de proyecto.
Este tipo de metodologías basadas en una rígida planificación funcionan bien para la gestión de proyectos informáticos pequeños y bien definidos, donde existen pocas variables, los acontecimientos son bastante previsibles y el trabajo tiene un alcance limitado. Entre las más conocidas se encuentran las siguientes:
- Cascada: consta de 8 fases (concepción, iniciación, análisis, diseño, construcción, pruebas, producción / implementación y mantenimiento) que se llevan a cabo de manera sucesiva y a modo de cascada hasta su finalización.
- Certificación PRINCE2 (Segunda versión el método de gestión de proyectos en ambientes controlados): proporciona directrices generales, no sólo aplicables al desarrollo software, basadas en un conjunto específico de fases (iniciación, direccionamiento, control, gestión de limitaciones, gestión de entrega de producto y cierre). Su punto débil es la falta de definición de las prácticas tácticas reales aplicables a cada una de ellas.
- Proceso Racional Unificado (RUP): se estructura en torno a fases que se aplican de forma iterativa, pudiendo incluso solaparse y repetirse cíclicamente. A diferencia de la certificación PRINCE2, RUP describe un conjunto detallado de las prácticas, incluso para los elementos menos relevantes de un proyecto. Esta ampliación, lejos de aportar simplicidad, complica su aplicación práctica, al excederse en detalles.
- Desarrollo rápido de aplicaciones (RAD): este método destaca la participación del usuario y la construcción de prototipos para probar las técnicas y perfeccionar los requisitos. Después de definir el alcance del proyecto en la fase de planificación de necesidades, los usuarios interactúan con los analistas de sistemas para desarrollar prototipos en la fase de diseño del usuario. Después, son los propios usuarios quienes proporcionan información directa durante la fase de construcción. Por último, en la fase de cierre, los usuarios finales están entrenados para usar el producto a medida que se lleva a cabo el despliegue
Sin embargo, debido al rápido crecimiento y la progresión de la industria de IT, las metodologías han tenido que evolucionar para conseguir que también los grandes proyectos terminen a tiempo y sin exceder el presupuesto designado. Es la agilización de la gestión de proyectos informáticos.
Gestión de proyectos informáticos: la alternativa ágil
Durante el boom tecnológico de mediados de 1990, los críticos de los métodos tradicionales surgieron con fuerza dentro de la comunidad de desarrollo de software. Sus pruebas hicieron evidente que las metodologías tradicionales aplicadas a la gestión de proyectos informáticos no funcionaban debido, principalmente, a su rigidez. Algo diametralmente opuesto a la naturaleza de un proyecto de este tipo. Retrasos, ampliaciones del presupuesto, productos de baja calidad, malentendidos e insatisfacción del cliente ratificaban la necesidad de un cambio de enfoque. En 2001, un equipo de 17 desarrolladores de software publicó el Manifiesto Ágil que, como indican sus principios rectores, buscaba:
- Flexibilidad.
- Agilidad.
- Capacidad de adaptación.
El partir de un planteamiento de desarrollo iterativo permite la entrega gradual de las capacidades a los clientes, proporcionándoles mayor valor y ajustándose mejor a sus necesidades en todo momento. Inspiradas por la metodología ágil han surgido posteriormente una serie de marcos de procesos específicos, para la gestión de proyectos informáticos que incluyen:
- Scrum.
- Métodos Crystal (Crystal Methods).
- Extreme Programming (XP).