¿Cómo se compone un proyecto en Agile?
Por Francisco Fernández, Project & Account Manager of etermax AI Labs
Trabajando con metodología agile
etermax AI Labs se caracteriza por ser una compañía que impulsa la metodología agile como enfoque de trabajo. Implementada mayormente en el desarrollo de software, la metodología agile permite la toma de decisiones rápida, con el objetivo de crear un producto de forma iterativa e incremental, donde los requisitos y soluciones evolucionan con el tiempo según la necesidad del proyecto.
En la metodología agile, cada proyecto se ‘trocea’ en pequeñas partes que tienen que completarse y entregarse en pocas semanas. Esta serie de iteraciones llamadas sprints, divide proyectos grandes y complejos en porciones minúsculas donde se planifica, se crea, se comprueba el resultado y se mejora el desarrollo. Usualmente los sprints duran dos semanas, aunque esta medida puede ser de una semana o un mes, dependiendo del alcance del proyecto.
¿Cómo se componen los sprints?
Los sprints entonces son periodos de tiempo compuestos de una cantidad limitada de Historias de Usuario (HU). Las HU consisten en una explicación general e informal de una función de software escrita desde la perspectiva del usuario final. Su propósito es articular cómo esta proporcionará valor al cliente, por ejemplo, el desarrollo de una aplicación. Como las HU se escriben desde la perspectiva del usuario final y pueden exceder un sprint, se subdividen en épicas, donde detallamos cuál es el resultado que esperamos obtener cuando termine, como por ejemplo, todo un código desarrollado en un ambiente de producción. Finalmente estas épicas pueden ser subdivididas una vez más en tarjetas con HU.
Algunos conceptos claves para la construcción de las HU son por ejemplo el Definition of ready, todos aquellos requisitos que se definen junto al usuario antes de iniciar el sprint. Y el Definition of done, que es la aprobación del usuario sobre lo entregado. Si está aprobación no sucede, el requerimiento vuelve al backlog, es decir a la cola de trabajo que se somete a priorización antes de cada sprint.
Los roles y las estimaciones de esfuerzo
Dependiendo el tamaño del equipo, en agile, se puede encontrar uno o más de estos roles:
Product Owner, se encarga de maximizar el valor de trabajo entregado y del retorno de inversión. Representante del cliente dentro del equipo, su voz.
Scrum Master, responsable de entrenar y facilitar equipos Scrum. Ayuda al equipo a mantenerse enfocado en los objetivos del proyecto y elimina los impedimentos que van apareciendo durante el camino. Es el rol encargado de liderar la planning, convocar a las dailies, resolver issues operativos del scrum team.
El Equipo de Desarrollo, que se encarga de analizar, diseñar, desarrollar soluciones, testearlas y ponerlas en producción. Suele estar formado por entre 3 a 9 profesionales que se encargan de desarrollar el producto, autoorganizándose y autogestionándose para conseguir entregar un incremento de software al final del ciclo de desarrollo, pero su composición es una de las características más particulares de cada cliente.
Finalmente, el usuario final, o dueño de negocio, es quien aprueba y da feedback al equipo sobre el trabajo realizado.
Todos estos roles trabajando en equipo son los encargados de realizar la Estimación de esfuerzo. Uno de los conceptos más difíciles de asimilar en distintos equipos es que en Scrum los esfuerzos no se estiman con horas, sino en función de la complejidad o tiempo que las historias demandan hasta su finalización. Una de las formas más utilizadas para realizar esta estimación es la escala Fibonacci, que representa los valores 0, ½, 1, 2, 3, 5, 8, 13 y 21 para ayudar a comprender la complejidad de cada tarea.
El trabajo con metodología agile garantiza una total transparencia y coordinación sobre el proceso de trabajo entre los equipos de desarrollo, el cliente y el usuario final, una ventaja inestimable que permite a los equipos de etermax AI Labs entregar valor al cliente de manera permanente.
Y tu equipo, ¿ya trabaja Agile?