Metodologías Ágiles: Agile, Lean UX, Scrum y Kanban
Clase 5 de 19 • Curso de Glosario en Product Design
En la clase anterior comenzamos a conocer las metodologías de trabajo que se pueden utilizar en el diseño y desarrollo de la creación de productos. Ahora vamos a conocer las metodologías ágiles, que son modos de trabajar de forma iterativa donde la mejora incremental es la pieza clave.
Para comenzar vamos a conocer la metodología de trabajo Agile, que nace dentro del proceso de trabajo del desarrollo de software dentro de grupos de programación.
Metodología Agile
Es una metodología de diseño fue ideada por un grupo de desarrolladores a finales de los 90. Para plantearlo se creó un manifiesto en el que se explican los fundamentos y principios de la metodología. Agile es un conjunto de herramientas metodológicas entre las que se incluye Scrum.
Esta metodología se basa en realizar un proceso de diseño de producto a través de sprints, o ciclos de trabajo cortos, en los que se va a realizar una mejora continua del producto a través de las iteraciones. Es un proceso de funciones cruzadas que se caracteriza por rutinas/rituales que predisponen a los equipos a obtener resultados de alta calidad en la Experiencia de Usuario de forma eficiente utilizando el tiempo inteligentemente.
El proceso de trabajo funciona por Sprints, de manera iterativa. Las etapas son muy parecidas a Waterfall pero en Agile se aplica de manera iterativa. En cada Sprint se realizará:
- Planeación
- Diseño
- Desarrollo
- Testeo
- Despliegue
- Revisión
- Lanzamiento
Fuente: K&C
El manifiesto refleja algunos valores en los que basar la toma de decisiones cuando se trabaja con metodologías ágiles y explica los aspectos que hay que primar por encima del resto:
- La mayor prioridad es satisfacer al cliente mediante la entrega temprana y continua de software con valor. Se entrega software funcional frecuentemente, con periodos de tiempo lo más cortos posible. El software funcionando es la medida principal de progreso.
- Se acepta que los requisitos cambien, incluso en etapas tardías del desarrollo. El cambio se aprovecha para proporcionar ventaja competitiva al cliente.
- Los responsables de negocio y los desarrolladores trabajan juntos de forma cotidiana durante todo el proyecto.
- El método más eficiente y efectivo de comunicar información es la conversación cara a cara.
- Los procesos Ágiles promueven el desarrollo sostenible, es decir ser capaces de mantener un ritmo constante de trabajo de forma indefinida.
- La mejora de la agilidad se consigue poniendo atención continua a la excelencia técnica y al buen diseño.
- Las mejores arquitecturas, requisitos y diseños emergen de equipos autoorganizados.
Teniendo en cuenta estos valores, los equipos deben trabajar para conseguir un producto mínimo viable que irán testeando e iterando para conseguir el mejor producto en la menor cantidad de tiempo.
¿Qué es el MVP o producto mínimo viable?
El MVP podemos definirlo como el conjunto de funciones básicas más simples de cualquier producto que permita implementarlo y que puede ofrecer valor para el cliente. Es el estado ideal para el lanzamiento de un producto que trata de minimizar los riesgos para los inversores y, al mismo tiempo, ofrece un producto que tendrá éxito en el mercado abierto.
El objetivo es que los primeros usuarios puedan ver la visión o la promesa del producto final y proporcionar los valiosos comentarios necesarios para guiar a los desarrolladores hacia adelante.
El MVP debe cumplir las siguientes características clave:
- Tiene el valor suficiente para que las personas estén dispuestas a usarlo o comprarlo inicialmente.
- Demuestra suficiente beneficio futuro para retener a los primeros usuarios.
- Proporciona un ciclo de retroalimentación para guiar el desarrollo futuro.
Un ejemplo de un MVP podría ser, cuando se quiere desarrollar un vehículo de transporte de personas, se podría comenzar por un patinete, que sería un MVP, hacer una iteración en la que el producto pasase a ser una bicicleta que permita a los usuarios transladarse de forma más rápida y en la última iteración conseguir diseñar una moto, que garantizase a las personas cambiar de ubicación de forma rápida y segura.
Estas iteraciones serían procesos de trabajo costosos, generalmente en las iteraciones solo se implementan algunas funcionalidades, pero en el proceso podemos ver cómo el equipo consigue desde un primer momento ofrecer un producto terminado con valor y que con el ciclo de retroalimentación conseguirán desarrollar un producto mucho más complejo.
Una vez visto este marco de trabajo o conjunto de herramientas, vamos a conocer una de las metodologías más utilizadas en entornos ágiles, Lean UX.
Metodología Lean UX
Es un marco ágil que se aplica al UX. En 2013, Gothelf y Seiden publicaron el libro Lean UX en el que se explica cómo aplicar los principios de las metodologías ágiles para desarrollar los principios de Experiencia de Usuario.
Esta metodología se basa en crear un MVP (mínimo producto viable) con las características básicas para que pueda empezar a ser utilizado por los usuarios. Este producto se lanzará al mercado para poder recoger el feedback de los usuarios y conocer cómo mejorar un producto hasta que se convierta en el producto final que queremos diseñar.
De esta manera se conseguirá crear un producto que proporcione una experiencia positiva a los usuarios a través de la medición de todas las ideas y funcionalidades del producto.
Los equipos de trabajo de Lean UX son equipos multifuncionales, pequeños y autosuficientes, centrados en el problema que se busca resolver. La cultura de la organización que utiliza esta metodología debe estar basada en el entendimiento compartido y la eliminación de residuos para buscar resultados. Además, las personas del equipo deben comprender que el proceso de trabajo conlleva fallos y rehacer los análisis todas las veces que sea necesario.
Con estos principios, se consigue una estructura para un proceso de descubrimiento y diseño más ágil, que a su vez aumenta la productividad y el éxito.
Por otro lado, dentro de las metodologías ágiles hay un marco de trabajo llamado Scrum que se utiliza para implementar los diseños. Esta metodología incluye un conjunto de reuniones periódicas, herramientas y funciones que, de forma coordinada, ayudan a los equipos a estructurar y gestionar el trabajo.
SCRUM
Scrum es un marco ágil que se utiliza para implementar las ideas detrás del desarrollo de software. Fué creado por Jeff Sutherland y Ken Schwaber (quienes también formaron parte de las 13 personas que cimentaron el Manifiesto Ágil). Su objetivo es desarrollar, entregar y mantener productos complejos a través de la colaboración, la responsabilidad y el progreso iterativo. Esta metodología tiene cinco valores que la conforman:
- Compromiso
- Coraje
- Enfoque
- Apertura
- Respeto
Lo que distingue a Scrum de otras metodologías ágiles son los roles, eventos y artefactos que lo componen y que se utilizan para operar.
El rol fundamental en este framework es el Scrum Master, que es la persona encargada de eliminar los impedimentos o problemas que puedan afectar al equipo.
Los pasos por los que pasa un proceso de Scrum son los siguientes:
- El Scrum Master crea una lista priorizada de las actividades pendientes.
- Durante la planeación, los equipos toman las tareas prioritarias de la lista y deciden cómo implementarlas.
- El equipo tiene un determinado tiempo (un sprint) para completar el trabajo y hay reuniones diarias para evaluar el progreso (Daily scrum).
- Durante el sprint, el Scrum Master mantiene el equipo enfocado en el objetivo.
- Al final del sprint, el trabajo debe estar listo para entregarlo al cliente, ponerlo en venta o mostrarlo a un inversionista.
- El sprint termina con una revisión y retrospectiva del sprint.
- Mientras el próximo sprint comienza, el equipo escoge otra tarea de la lista y comienza a trabajar de nuevo.
Por otro lado, dentro de este marco de trabajo en la metodología Scrum, existe un sistema de organización o método de visualización del proceso de trabajo, que es conocido como Kanban.
Kanban
Kanban es un método altamente visual que se usa popularmente dentro de la gestión de proyectos Agile y concretamente en la metodología SCRUM. En él se crea una imagen del proceso de flujo de trabajo, con el objetivo de identificar cualquier cuello de botella al principio del proceso, para que se entregue un producto o servicio de mayor calidad.
Kanban logra la eficiencia a través de señales visuales para señalar ciertas etapas del proceso de desarrollo. El tablero que se suele utilizar para visualizar el trabajo pendiente y en progreso buscando maximizar la eficiencia.
CONCLUSIÓN:
Tras haber realizado una primera aproximación a los procesos de trabajo en diseño, en esta clase hemos conocido las metodologías ágiles. Dentro de las metodologías hemos profundizado en Lean UX, que se aplica a los procesos de diseño de Experiencia de Usuario y Scrum que está orientada a proyectos de desarrollo de software.
Además, en esta clase también hemos podido conocer el método de organización de tareas Kanban y el concepto de MVP o producto mínimo viable que son conceptos que se vinculan estrechamente con estas metodologías.
RETO:
Piensa en un ejemplo de producto mínimo viable y cómo se podrían implementar las iteraciones para que este producto terminase ajustándose a las necesidades de los usuarios. Puedes tomar como referencia el ejemplo del vehículo que hemos visto en la clase. No olvides compartir tu ejemplo con la comunidad.