lunes, 9 de mayo de 2016

Desarrollo Agil: Desarrollo mediante MVP


Bajo un marco de trabajo ágil, como SCRUM, el desarrollo de software se hará de forma evolutiva con entregas frecuentes de valor para el usuario. Una técnica complementaria es el uso de MVP para entregar valor que sirva de hipótesis de prueba de nuestro producto.

¿Qué es un MVP? 


El MVP (Minimum Viable Product) es la "Versión Mínima de un Producto"[1], características mínimas y necesarias para hacer foco y que el producto salga al mercado, de tal manera que nos permite obtener feedback rápido del comportamiento con el mercado y clientes [1]. El MVP tiene solamente las funcionalidades que permiten que el producto sea lanzado sólo a un segmento de clientes, tales como a los "early adopters" [1] o es un release dirigido a entusiastas "early adopters" [5]. Con el MVP lo que buscamos es testear nuestras hipótesis sobre nuestra visión del producto, es decir, tratamos de comprobar que hemos encontrado un problema que los early adopters están dispuestos a probar para determinar que nuestro producto es una solución adecuada [3].


MVP es una estrategia para el aprendizaje de forma iterativa sobre sus clientes para poner a prueba las hipótesis fundamentales del negocio. [11][4]

El o los MVPs son resultados del desarrollo iterativo en ciclos cortos con entrega o release de funcionalidad mínima, usable por el cliente. Un release o entregable no necesariamente es un MVP, sin embargo, un MVP es un entregable del producto mínimo tan pequeño como lo mínimo para probar la viabilidad de nuestro producto final [3], commodity o "end game". 

Como muestra la figura, cualquier entregable no es un MVP. Por ejemplo, un paso 1 de una aplicación dividida en pasos no es un MVP de un desarrollo evolutivo. Sí lo es un entregable que representa conceptualmente al producto completo (todos los pasos), aunque no lo sea. En el dibujo, la rueda es un entregable de valor, pero no es un MVP.


En concepto proviene de "Lean Startup" y en esta metodología el conocimiento se obtene de forma empírica a través del lanzamiento de diversas iteraciones del MVP [3].


Un MVP incluye entregables de valor y puede incluir al o los MMF (Minimum Marketable Features)[10] (este concepto se originó en Kanban y Lean). El MMF es un entregable con "el conjunto más pequeño posible de funcionalidades o features que, por sí mismas, tienen valor en el mercado"[1] [9]. Esta es una característica mínima, ya que cualquiera más pequeña no sería comercializable [10].


¿Cuántos MVPs?


Aquí surge una pregunta… ¿Hay solo un MVP o varios? La respuesta depende del autor y del criterio del equipo que decida conceptualizar sus entregables. Algunos prefieren tener muchos entregables de valor que prueban hipótesis hasta alcanzar un MVP que prueba las hipótesis principales de producto en forma iterativa. En Scrum parece que se maneja más esta idea: 


El verdadero objetivo de scrum es conseguir un MVP en manos de los futuros clientes cuan rápido sea posible y obtener sus comentarios. [12]



Aunque es común referirse a que pueden haber varios MVPs [8], en forma evolutiva, hasta alcanzar un mínimo producto que se lanza al mercado como tal. A este producto se lo puede identificar de otra manera, como MMP [6].


¿Qué es un MMP?


El MMP (Minimal Marketable Product) es el producto con el más pequeño posible conjunto de features y que crea la experiencia del usuario deseada, y por lo tanto puede ser comercializado y vendido, tempranamente, con éxito [6][11][13]. La clave para crear una exitoso MMP es desarrollar el producto para unos pocos usuarios [6].


Evolución iterativa e incremental de un producto


Resumidamente, un producto puede evolucionar mediante una secuencia de releases, de los cuales algunos pueden ser MMFs sin alcanzar a ser MVPs. Después de una etapa de creatividad y prototipado (si e producto es nuevo y/o novedoso), tendremos uno o una secuencia de MVPs hasta llegar a un MMP, que será el mínimo producto que se lanza al mercado como tal. De allí en adelante comienza el crecimiento en escalamiento (Growth) e incremento de funcionalidad hasta alcanzar una madurez (maturity), para finalmente constituir un producto final estable o commodity (ver siguiente figura [5]).

Finalmente, hay que tener en cuenta que sobre esto no hay nada tallado en piedra. La demarcación de estos conceptos dependen de cada autor y de la interpretación que haga quien los use. No hay ningún diccionario único y referencia única. Por lo tanto, cómo se los use será subjetivo al equipo y contexto particular. Lo importante es que el equipo se ponga de acuerdo en una manera y todos estén en la misma página.


Referencias:


[1] Book: Proyectos Ágiles con Scrum: flexibilidad, aprendizaje, innovación y colaboración en contextos complejos, Martín Alaimo, 2014.

[2] Wikipedia 2016https://es.wikipedia.org/wiki/Producto_viable_m%C3%ADnimo

[3] Artículo: ¿QUÉ ES EL PRODUCTO MÍNIMO VIABLE? Por Xavi Sanchez sobre Creación de empresas, Metodologías Lean  http://www.emprenderalia.com/que-es-el-mvp-producto-viable-minimo/

[4] Book: The Lean Startup by Eric Ries.

[5] Book: Build It Like A Startup: Lean Product Innovation By Greg Gehrich.

[6] Article: The Minimal Marketable Product by Written by Roman Pichler on Wednesday 31st August 2011.

[7] Book: “El Equilibrio Dinámico entre Costo, Cronograma, Características y Calidad en el desarrollo de Software” Willian Junk, 2000 (Willian, S. Junk. (2000) The Dynamic Balance Between Cost, Schedule, Features, and Quality in Software Development Projects, Computer Science Dept., University of Idaho, SEPM-001).

[8] Book: Directo al Punto, Una guía para la creación de productos Lean. Paulo Caroli, María Fernanda Escudero and Freddy Coronel, 2016.

[9] Article: The Agile Alphabet, Scrum Alliance, Koti Reddy Bhavanam, 31 August 2012. URL: https://www.scrumalliance.org/community/articles/2012/august/the-agile-alphabet#sthash.WtiurBp3.dpuf

[10] Article: Agile Methods The various implementations of Agile, Scrum Alliance, Shri Naveen Kumar, 2 March 2015. URL: https://www.scrumalliance.org/community/articles/2015/march/agile-methodologies#sthash.uawtNykK.dpuf

[11] Article: What is an MVP? By David Lowe | April 15, 2014 URL: http://scrumandkanban.co.uk/what-is-an-mvp

[12] Book: Summary: Scrum - Jeff Sutherland: The Art of Doing Twice the Work in Half the time, by BusinessNews Publishing.

[13] Book: The art of agile development by James Shore. (Tools and techniques - value based priorization.)



No hay comentarios:

Publicar un comentario