Un método ágil es una manera de entregar valor a los clientes de manera continua. Gracias a esto se pueden mitigar los riesgos asociados a no entregar un producto final que no termine de entregar valor a los clientes. Con un método ágil se busca el acercamiento continuo entre los desarrolladores y los clientes mediante la retroalimentación y la entrega de productos viables de manera iterativa lo cual permite que el producto se vaya construyendo por pasos.
SCRUM es un marco de trabajo que permite el desarrollo ágil.
SCRUM
El marco ágil SCRUM ofrece el mayor valor de negocio en el menor tiempo al ofrecer productos de manera iterativa e incremental. Cada iteración se llama Sprint o ciclo corto de desarrollo. Cada Sprint dura unas pocas semanas e incluye definición de requisitos, diseño de producto, programación y fase de pruebas. El resultado de cada Sprint es un producto terminado, listo para usarse y potencialmente listo para el mercado. Cada Sprint solo mejora el producto ya acabado.
¿Como se decide el objetivo de cada Sprint?
Antes del primer Sprint el encargado del desarrollo (Product Owner) del producto se reúne con el cliente para averiguar los requerimientos que tiene este último para el producto. En otras palabras averiguar los problemas que necesita resolver. Es importante que estos requerimientos se anoten centrándose en el usuario (User Stories), esto es de la forma: «el usuario X quiere realizar la tarea Y sujeto a las condiciones Z». Todos estos requerimientos se anotan en una bitácora de producto (Product Backlog).
Con la lista de requerimientos terminada, llega el turno del equipo de desarrolladores. Este equipo se divide en un Maestro del SCRUM (SCRUM Master) y el resto del equipo (SCRUM Team). El encargado o maestro se encarga de realizar juntas de discusión periódicas (Sprint Planning) donde se discuten los periodos de Sprint y de remover cualquier obstáculo que evite que algún miembro del equipo no pueda llevar a cabo su parte del trabajo.
El encargado del desarrollo establece el objetivo del primer SPRINT que es básicamente entregar un producto funcional básico que permita al cliente obtener valor lo antes posible.
Al inicio de cada Sprint, las historias del usuario (sus requerimientos) se clasifican por orden de importancia y se mueven de la bitácora de producto a la bitácora de Sprint (Sprint Backlog). Ahora, todos los días que dura un Sprint, el maestro realiza una breve junta donde todos los miembros del equipo responden a las siguientes preguntas.
- ¿Que hiciste ayer?
- ¿Que harás hoy?
- ¿Que obstáculos encontraste en tu camino?
El maestro va anotando la fecha en la cual se van completando las historias y grafica el número de historias terminadas contra el tiempo para estimar la fecha en la cuál el producto del Sprint quedará terminado.
Retroalimentación al finalizar el Sprint (Sprint Review)
Los productos terminados se entregan al cliente quien luego de revisarlos junto el equipo de desarrollo decide lanzar el producto. Ahora los usuario pueden ocupar el producto y el equipo puede obtener retroalimentación de ellos y del cliente. Por último, existe una etapa de retrospección (Retrospective) donde se analiza lo que salió bien durante el Sprint y lo que necesita mejorar. Esto concluye un Sprint.
Ahora, los Sprint se realizan hasta que el cliente termina totalmente satisfecho. Aquí te presentamos un ejemplo (en inglés) de cómo aplicar este marco en el desarrollo de una tienda online.