jueves, 19 de mayo de 2016

Desarrollo Agil: Presentaciones ágiles


¿Cómo dictar una presentación ágil?



Podemos hacer que nuestras presentaciones orales, demostraciones de productos o resultados, sprint review, show cases, exposiciones educativas, informes de noticias, capacitaciones, etc., sean ágiles. Para lograrlo tenemos que tener en cuenta los valores ágiles en su desarrollo.
Pueden haber muchas maneras de hacer una presentación en el marco de la agilidad. Aquí se muestra una forma basada principalmente en tres valores ágiles y un principio.

A continuación ofrezco 6 aspectos a tener en cuenta dentro de este marco de agilidad:
  1. Tiempo: la atención ronda entre 5 y 18 minutos. Es recomendable no superar los 20 minutos de una presentación (principalmente si las personas están de pié) y en actividades largas fraccionar en tramos de 20 min. [1] [2]. No superar los siete segundos de silencio [6]. Y por último, respetar un time-box.
  2. Útil: Dar valor al público espectador con lo que se presenta [2] [7]. Debes poder presentar tu premisa en una o dos oraciones y hacerla interesante [2].
  3. Emoción:  Motivar con emociones, sensaciones o dinámica ágil por medio del lenguaje textual y corporal [6] [7]. Conoce a las personas a las que les hablarás [2] [3]. El ponente también puede ponerse en un rol de amigo o de igual [6].
  4. Interacción: Hacer preguntas y hacer pensar interactuando con los demás. Romper la barrera con el público y capturarlo [2] [6]. Puedes solicitar feedback para poder mejorar.
  5. Simple: Buscar ser claro, conciso y concreto presentando poca información y siendo visual y minimalista, “Keep it simple” [2] [4].
  6. Cambio: Orientarse a inspirar y/o generar un cambio en el oyente. Para ello ser desafiante, innovador, buscar impactar o generar nuevas ideas o reflexiones. Tu conclusión debe ser algo que deje a tu público con una sensación positiva sobre tu idea y cómo les afectará si la deciden implementar, que los motive al cambio [2] [3]. El ponente también debe estar abierto al cambio y a salir de su zona de confort [6].



Referencias:


[1] ¿Cuánto debe durar una presentación? por Roger Prat, febrero 25, 2013

[2] TED Speaker Guide by TED.com.
[3] Manifesto for Agile Software Development by Agilemanifesto.org
[4] Principles behind the Agile Manifesto by Agilemanifesto.org
[5] Cómo dictar una charla TED
[6] Presentaciones efectivas: Técnicas para la exposición oral de trabajos y proyectos académicos. Por Iñaki Bustínduy. Editorial UOC, 11-03-2014.
[7] Neuro Presentaciones efectivas, Miguel Figueroa, Youtube, Published on Dec 3, 2015
URL: https://www.youtube.com/watch?v=GD1QosoeRtY


domingo, 15 de mayo de 2016

Scrum: Scrum es ágil


¿Por qué Scrum es ágil?


Ser ágil es, en un sentido, ser ágiles tomando decisiones mientras nos adaptamos constantemente en la acción sin paralizarnos en la duda, pues:
"Dudar es mortal. Observa, oriéntate, decide y actúa. Determina donde estás, evalúa tus opciones, toma una decisión ¡y actúa!" Jeff Sutherland [1].
Para ello Jeff Sutherland creó un sistema como marco de trabajo que llamó Scrum.

Desde esta perspectiva, Scrum es un marco ágil porque fue creado para practicar los valores ágiles.

"Personas antes que procesos, productos que funcionen antes que documentar lo que se supone que debe hacer, colaborar con los clientes antes que negociar con ellos y responder al cambio antes que seguir un plan. Scrum es el marco que yo creé para poner en práctica esos valores." Jeff Sutherland [1].


Referencias:
[1] Scrum: The Art of Doing Twice the Work in Half the Time. Jeff Sutherland.

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.)