miércoles, 19 de abril de 2017

Design Thinking, Lean Startup y Métodos Ágiles

Design Thinking es un proceso para la generación de ideas innovadoras de productos/servicios, se basa en la comprensión de necesidades de los usuarios potenciales y en una estrecha validación con ellos. El proceso consta de 5 actividades: Empatizar (ponerse en la piel del usuario y comprender sus necesidades), Definir (establecer el problema que se quiere resolver), Idear (determinar posibles soluciones), Prototipar (construir un prototipo, una solución tangible) y Probar (validar el prototipo con el usuario). Estas actividades se realizan una tras de otra pero volviendo a cualquiera de las actividades previas cuantas veces sea necesario. El proceso de Design Thinking se potencia con la participación de equipos multidisciplinares.

Lean Startup es un proceso iterativo para desarrollar una idea de negocio hasta convertirla en un producto con garantías de éxito. El método asume un contexto de emprendimiento caracterizado por una alta incertidumbre y limitaciones de recursos y/o tiempo para validar dicha idea de negocio (contexto natural de una empresa Startup). La validación se basa en la experimentación con versiones preliminares del producto con early adopters (clientes dispuestos a usar el producto aunque no está del todo terminado, y antes de un lanzamiento masivo).  Lean Startup se basa en un ciclo Built-Measure-Learn que se repite en cada iteración. Con "Built" se obtiene un MVP (Minimun Viable Product), con "Measure" se realizan experimentos con early adopters para recolectar datos y con "Learn" se aprende de dichos datos para reforzar la idea original o para pivotar sobre ella re-definiéndola para que ofrezca mejores expectativas de éxito. El MVP es una versión del producto que nos permite llevar a cabo dichos experimentos de validación con early adopters.

Los Métodos Ágiles, representados por Scrum, Kanban, Lean Development y Extreme Programming entre otros, ofrecen un conjunto de prácticas que ayudan a la gestión de proyectos y equipos de trabajo, favoreciendo la satisfacción del cliente, la productividad, la calidad, y la motivación y compromiso del equipo de trabajo. Los Métodos Ágiles promueven un proceso incremental e iterativo (esto último solo en el caso de Scrum y Extreme Programming). Los Métodos Ágiles han demostrado ser especialmente más eficaces (que los Métodos Tradicionales) en contextos donde se esperan cambios durante el desarrollo del producto/servicio.

Una razonable integración de estos tres enfoques sería aplicarlos de forma secuencial de acuerdo con la fase en la cual se encuentra el producto/servicio. Es decir, usar Design Thinking durante la generación de la idea de producto/servicio, usar Lean Startup para validar el producto/servicio construyendo un MVP, y usar Métodos Ágiles para desarrollar el producto/servicio en su versión comercial. Esto se ilustra en la siguiente figura.
Lean Product Management for Enterprises The Art of Known Unknowns, Natalie Hollier


Puede que en productos manufacturados o servicios donde el software no sea protagonista tenga sentido una marcada diferenciación entre la generación de la idea, validación con MVPs y su desarrollo ágil. Pero esta integración no es la más adecuada cuando el software es lo principal del producto/servicio.

En un ámbito de producto software los tres enfoques: Design Thinking, Lean Development y Métodos Ágiles podrían aplicarse de forma conjunta y solapados. Si bien Design Thinking podría ser aplicado de forma más anticipada que los otros dos, incluso podría ser prescindible en caso que la idea de producto esté clara, pues el principal aporte de Design Thinking está en el descubrimiento de ideas.

Design Thinking y Lean Startup coinciden en la construcción de un producto tangible (prototipo en Design Thinking y MVP en Lean Startup) para poder hacer experimentos de validación con early adopters, sin embargo, Lean Startup conlleva ya un camino hacia la construcción del producto comercial, es decir, no se trata de prototipo no operacional o con la intención que sea desechable.

Los Métodos Ágiles no incluyen prácticas asociadas al descubrimiento de ideas de producto, con lo cual Design Thinking puede ofrecer este complemento. Lean Startup y los Métodos Ágiles (particularmente Scrum y Extreme Programming) coinciden en usar un proceso iterativo e incremental. En el caso de Lean Startup el concepto de incremento es el MVP y en los Métodos Ágiles este concepto puede corresponder con la versión resultante de un Sprint, o la versión que se pasa a producción (Entrega o Release). En cualquier caso se trata de una versión del producto, pero una diferencia importante es que el MVP no responde a la regularidad de un Sprint. Los Sprint tienen una duración no mayor de un mes y conllevan una periodicidad, los MVPs no tiene esa regularidad. Con lo cual un MVP se acerca más a lo que representa una primera Entrega (conseguida después de un cierto número de Sprints), lo cual marca un hito en cuanto a incrementos del producto. Sin embargo, el MVP tiene una orientación más experimental y su validación podría dar un giro al posterior desarrollo del producto, pivotando el producto hacia otra dirección. Si bien los Métodos Ágiles asumen esa posibilidad de cambios, Lean Startup va más allá considerando que que los cambios podrían ser más radicales. El aprendizaje ("Learn") de MVP en un ciclo Lean Startup puede producir un pivote radical de la idea de producto/servicio. Por otro lado, los Métodos Ágiles hacen énfasis en la arquitectura y pruebas del producto desde el inicio del desarrollo, en Lean Startup mientras estemos validando con early adopters el foco está en la validación del producto, sin prestar especial atención a la arquitectura y pruebas del producto.

En mi opinión, lo fundamental que hay que tener presente al mezclar Lean Startup y Métodos Ágiles es el contexto de negocio, es decir si se trata de un producto que tiene asegurado su mercado o si se trata de un producto innovador que deberá crearse/ganarse su mercado. Ese último caso se presenta claramente en un marco de emprendimiento (por ejemplo en una empresa Startup). En esta situación pueden aplicarse casi todas las prácticas ágiles, tales como: desarrollo incremental (el MVP ya lo conlleva), priorización del trabajo, tener un tablero kanban para visualizar el trabajo pendiente, todas las asociadas a dinámica de equipo (auto-organización, equipo cross-functional, reuniones y roles de Scrum), minimalismo en la especificación, etc. Probablemente unas pocas prácticas no serían tan recomendables, tales como: desarrollo iterativo, planificación mediante estimación del esfuerzo y contrastada con la capacidad del equipo, refactoring, pruebas automatizadas o uso de estándares. En el otro caso, cuando el producto tiene en cierto grado asegurado su mercado (puede ser un producto interno para una empresa o encargado a medida por una empresa cliente), podríamos pensar que bastaría con aplicar solo Métodos Ágiles pues nos facilitan la gestión de los posibles cambios, siendo estos no tan radicales como se esperaría en un marco de emprendimiento. Sin embargo, pienso que la estratégica del concepto de MVP debería siempre estar presente y alineado con los hitos que representan las Entregas. Es decir, el MVP ayuda a exigirnos una estrategia que busque siempre acotar el alcance de las entregas del producto para así poder en relativamente poco tiempo validar con la parte cliente, poniendo en producción (o pre-producción) una versión parcial del producto. Así pues, el concepto de MVP debe estar asimilado por el Product Owner como mecanismo para reducir la ambición de las entregas del producto/servicio, en favor de hacer evaluaciones tempranas de lo más esencial del producto/servicio, aunque esto postergue la incorporación de otras características menos esenciales.      


Patricio Letelier


twitter.com/yopolt
linkedin.com/in/letelier
agilismoatwork.blogspot.com
www.tuneupprocess.com

1 comentario: