Este es el primero de varios artículos en los que hablare de los 4 valores y los 12 principios del manifiesto Ágil, base fundamental de esta versátil metodología de trabajo en la cual nos apoyamos en ASD para lograr grandes resultados.
El origen de estos valores y principios se encuentra en los años noventa y surge a consecuencia de la frustración que se vivía en la industria y la cual era principalmente generada por la enorme diferencia que existía entre los requerimientos y solicitudes que generaban las empresas y el producto final que les era entregado después de largos periodos de tiempo, grandes cantidades de dinero y esfuerzo invertido. Este escenario que resultaba insostenible en muchos de los casos generaba la cancelación de proyectos y perdidas millonarias para las compañías.
¿Quién de nosotros no ha participado en proyectos que se inician con gran entusiasmo y después de múltiples dificultades, malentendidos e intentos de cambiar el rumbo terminan en contratos cancelados, puestos de trabajo perdidos y gran molestia entre todos los participantes? Por lo tanto, no es coincidencia que el primero de los doce principios agiles sea: “Satisfacción del cliente a través de la temprana y continua entrega de software”.
Pero, ¿porque este principio es fundamental para crear proyectos mucho más exitosos? La respuesta se encuentra en la forma en cómo se lleva a cabo el seguimiento de forma tradicional y los resultados que frecuentemente se obtienen del mismos.
Cuando se tienen requerimientos para desarrollo de software, las empresas suelen seguir múltiples pasos que pretenden garantizar un adecuado control y seguimiento de los mismos, se integran enormes documentos con requerimientos funcionales, se crean diagramas de Gantt que suelen tener formidable nivel de detalle, se asignan tiempos para todas las actividades, responsables para realizarlas y se programan juntas periódicas para revisar el cumplimiento de las mismas.
La triste realidad es que dichos proyectos rara vez cumplen lo plasmado en los diagramas y los involucrados suelen preocuparse más en que el mismo diera la apariencia de estar siendo cumplido o en su defecto en buscar el culpable de la falta de cumplimiento, que al llevar a cabo lo plasmado en el mismo (frecuentemente porque lo que se ha escrito ahí hace mucho tiempo ya ni siquiera tiene sentido o está alineado con la estrategia actual del negocio), los tiempos y actividades son frecuentemente ignorados y para cuando se tiene una versión funcional del software el resultado suele ser sumamente distinto a lo que el usuario final espera.
En este último punto es donde el concepto de la entrega temprana y frecuente que en scrum se denominan “sprints” son valiosos, SCRUM (una de las tantas metodologías agiles) privilegia crear cortos intervalos de tiempo (entre dos y seis semanas idealmente) en los que se desarrolla un producto que debe ser totalmente funcional e incluso implementable, que el usuario final puede ver, probar y evaluar sobre el cual puede dar su retroalimentación y con el que se puede planear la estrategia de la siguiente entrega.
En lugar de esperar seis meses por un producto “final” y corregir aquello que no se entendió o transmitió correctamente en el requerimiento funcional y correr el riesgo de que una parte importante del proyecto este mal, se pueden realizar al menos seis entregas parciales que le darán la oportunidad al usuario final entre otras cosas de:
- Comenzar a utilizar algunas funcionalidades del sistema.
- Evaluar si lo que se está realizando cumple o no con sus expectativas y necesidades.
- Elegir cuales funcionalidades requiere para la siguiente liberación y tomar decisiones sobre el futuro del proyecto.
Estas entregas parciales ayudaran a tener una mayor comunicación con el cliente, permitirán que la retroalimentación genere de una manera más natural y que incluso el proyecto incluya muchas funcionalidades que cuando se visualizó originalmente eran difíciles de descubrir, en otras palabras, permite crear una armonía entre las necesidades del negocio y el software que se está desarrollando para cumplir dicho objetivo.
En las siguientes entregas hablaremos de como otros de los principios ayudan a llevar a cabo proyectos con mucho mayor nivel de éxito y satisfacción.