Buscar en Gazafatonario IT

Mostrando las entradas con la etiqueta Transformación. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Transformación. Mostrar todas las entradas

jueves, febrero 01, 2018

Diferencias en el tratamiento de los requisitos entre los enfoques Cascada y Ágil


¡Una pregunta de un viejo amigo me llevó una vez más por este sendero!
Es un hecho. Muchos profesionales trabajan actualmente en circunstancias desafortunadas y, sin embargo, no toman la iniciativa de cambiar su situación porque están condicionados a un formato de seguridad, conformidad y conservación, donde todo puede parecer tranquilo pero, en realidad, nada es más perjudicial para el espíritu innovador y de transformación que requerimos hoy quienes vivimos en los tiempos del VUCA*.
En particular, durante la transición de un enfoque en cascada a uno Ágil tenemos que lidiar con la búsqueda de medios y maneras para acortar el tiempo de salida al mercado y entregar productos de alta calidad y de más valor, más temprano y más frecuente y, si es posible, a un costo menor. Sin embargo, el camino hacia la Agilidad puede ser escabroso, con baches riesgosos y con personas deambulando por allí erráticamente y hasta en dirección opuesta, incluso con temor a o sin saber cómo avanzar.
Y uno de los aspectos que empiezan a diferenciar en profundidad el uso de uno u otro enfoque es este de los requisitos. Abordamos este asunto con Carlos Gil, Johnny Ordoñez, Carlos Quiroga, Luis Mulato y el grandioso equipo de coaches del Scrum Coaching Retreat Cartagena y, como siempre, llegamos a algunas conclusiones que se mueven en el terreno de los principios y, más en el fondo, de los valores Ágiles, la cultura ágil, el Ágil es algo que eres:

  • En Ágil no hablamos de requisitos, más bien de respuestas a necesidades y, en otros casos, de hipótesis de cosas que queremos aprender. Cambiar el enfoque de “requisito” a “necesidad” o respuesta a necesidad, genera un sentido profundo de empatía entre todos los interesados, es decir, equipo de desarrollo de producto y usuarios o clientes finales.
  • A propósito de clientes finales, en Ágil, el cliente siempre es el centro de atención. Esto habilita a los equipos a buscar las mejores formas de suplir esa necesidad o de comprobar las hipótesis. Estas en últimas son necesidades de aprendizaje.
  • Creemos que esta es la distinción más grande entre las dos propuestas: el requisito te lleva a algo preestablecido, definitivo o definible claramente. Hablar de necesidades o de hipótesis abre la puerta al cambio.
  • En el enfoque Cascada se definen experiencias orientadas al proceso, con momentos de interacción preconcebidos por los formularios y procesos definidos en los requisitos, y aun hablamos de interacciones y no de conversaciones con las soluciones tecnológicas. En Ágil, aspectos como la experiencia de usuario, momentos de verdad, conversaciones, son esenciales para la definición de la historia de usuario que guía el desarrollo de producto.
Vamos con las disparidades entre uno y otro enfoque cuando de requisitos se trata
Son muchas las diferencias que existen en la forma de abordar los requisitos de un producto cuando usamos (o usábamos) la forma Cascada y lo que hacemos ahora, motivados por el pensamiento Ágil. Estas que describo a continuación son apenas algunas de ellas, algunas más relevantes que otras pero significativas todas al fin y al cabo.
Al principio del proyecto o del esfuerzo de desarrollo

En Cascada se toman o "levantan" (casi) la totalidad de los requisitos al principio del proyecto, y de muchos de ellos se hace con gran detalle. En Ágil no. Se establece un alcance, sí, una visión, pero de muy alto nivel, muy horizontal, es decir, no se llega a ningún detalle excepto quizás para esas necesidades de los dos primeros Sprints (a lo sumo), la porción de producto que se va a construir durante las primeras de cambio. El llamado Mínimo (o Minimísimo) Producto Viable.
En Cascada nos tardamos semanas y hasta meses haciendo esta primera actividad. En Ágil nos tardamos unas pocas horas, a lo sumo unos pocos días, se establece un bloque de tiempo (time-box) y cuando este se acaba, se acaba.
En Cascada participa una persona del lado del equipo de desarrollo o un "subequipo", el o los analistas funcionales o de requisitos. Quizás en algún momento entra uno que otro rol, como el Arquitecto de Software. En cualquier caso, no participa todo el equipo. En Ágil participa todo el equipo de desarrollo desde el inicio, escuchando a los usuarios e interesados en el producto.
Más adelante, cuando el proyecto está en marcha
En Cascada se refinan los requisitos, hay ajustes, controles de cambios. El sobrevaluado CCC (léase Comité de Control de Cambios) que se reúne el último jueves de cada mes, mientras el cliente ve impaciente cómo su competencia se adelanta y le quita parte del mercado. Mientras tanto, en Ágil se van refinando los requisitos iteración tras iteración. Siempre nos concentramos en lo que se va a construir en los siguientes 2 sprints o iteraciones, a lo sumo. Más tiempo no, porque las cosas pueden cambiar. Los equipos Ágiles aprovechamos los cambios para brindar ventaja competitiva a nuestros clientes.
En Cascada los requisitos siempre los "administra" una persona o un subequipo (analistas), con los usuarios. En Ágil hay un Dueño de Producto (representante de los usuarios), pero la responsabilidad es de todo el equipo.
En Cascada los requisitos se construyen, como sabemos, siguiendo un proceso secuencial donde ellos se tratan aparte y son una entrada al resto de ese proceso; además, el producto se entrega como un todo. En Ágil se construye un incremento del producto en cada iteración (de muy pocos días), esto es, producto probado y funcionando con valor, potencialmente desplegable y que genera retorno de la inversión (ROI) o, al menos, permite recibir retroalimentación, con lo que podemos aprender muchísimo del comportamiento y de la reacción de los usuarios al uso del producto.
En Cascada normalmente el orden de construcción lo decide el equipo de desarrollo (quizás en cabeza de un arquitecto o un subequipo). En Ágil el orden de construcción lo decide el usuario (dueño de producto), es él quien tiene la última palabra sobre esto.
En Cascada, el énfasis en cuanto a requisitos está en la especificación (documentación) de los mismos, en otras palabras, en escribir y escribir requisitos. En Ágil, el énfasis está en la conversación que tienen los usuarios o su representante (dueño de producto) con el equipo de desarrollo. Esta conversación es cara a cara y continua, durante todo el proyecto o esfuerzo de desarrollo.
Esta última característica es lo que nos empieza a volver ágiles, cuando lo logramos nos damos cuenta que estamos usando el pensamiento Ágil y estamos dejando atrás la cascada y otras formas tradicionales de trabajo.
En Cascada se espera que prácticas de aseguramiento de calidad permitan que se entregue un producto que cumpla con casos de prueba previamente definidos y aprobados con el área de negocio. En Ágil damos espacios a prácticas como TDD y BDD para guiar la definición de los criterios de aceptación, identificando de manera temprana la respuesta real que espera el usuario final, la prueba es guiada por la retroalimentación continua, lo cual mejora el uso y por lo tanto la aceptación del usuario.
Y sobre medios o herramientas para “recolectar” y administrar requisitos
Una diferencia en cuanto a los medios o mecanismos para "recolectar" requisitos:
En Cascada se usan medios como los documentos escritos tradicionales llenos de expresiones tipo "el sistema debe hacer esto" o "el sistema debe hacer aquello", o se usan mecanismos como casos de uso, entre otros. En cualquier caso, como mencioné antes, la fuerza está en elaborar grandes cantidades de documentación de requisitos. Escribí mucho sobre esto aquí en el Gazafatonario durante la década pasada y publiqué un libro al respecto. Lo pueden encontrar en Amazon.
En Ágil, por su parte, usamos medios o mecanismos que promuevan la conversación entre los interesados (usuarios y equipo de desarrollo). Las Historias de Usuario se han constituido en el medio esencial para esto. Pueden encontrar una especie de índice de mis artículos y propuestas y las de mi gran amigo Jorge Abad sobre este tema en bit.ly/lashistoriasdelucho.
Ahora sí, cuéntame en el foro de otras diferencias a la hora de recolectar y administrar requisitos o necesidades que consideres importantes.



*VUCA: siglas en inglés de Vulnerabilidad, Incertidumbre, Complejidad, Ambigüedad

lunes, septiembre 11, 2017

Gestión Lean del Cambio

O de cómo puedes empezar a convertirte en un Agente de Cambio extraordinario


“Si realmente quieres entender algo, trata de cambiarlo” - Kurt Lewin -
Hace poco tuve el privilegio de asistir al curso de Lean Change Management con mi buen amigo Luis Mulato de AgileSpin, con quien además he tenido la grandiosa oportunidad de liderar varias de las iniciativas más importantes que hemos emprendido en la Comunidad Ágiles Colombia, a manera de experimentos de los que precisamente hemos obtenido un aprendizaje fantástico.
Si estás involucrado en procesos de transformación quiero invitarte a tomar el curso con Lucho, con quien espero facilitarlo algún día. Además de tener un excelente sentido del manejo del tiempo y foco en los temas principales de la materia, Lucho es poseedor de un sentido de recursividad y creatividad y de una perspectiva abierta que, combinados con su amplia experiencia – conocedor  de una extensa gama de prácticas, marcos de trabajo y herramientas ágiles – logra despertar en los participantes, nuevos Agentes de Cambio, un interés inusitado durante los dos días del taller.
Pues bien, Lucho abre la discusión diciéndonos que los modelos de gestión y de cambio actuales no son suficientes para lograr una transformación exitosa en las organizaciones del siglo XXI o de los tiempos del VUCA* como él las llama. Lean Change Management o LCM nos muestra cómo descubrir una cultura y cómo alterar la dinámica del trabajo por objetivos. En la práctica, LCM se basa en la retroalimentación y nos provee de herramientas para validar el aprendizaje. ¿Cómo hacerlo? ¡Si hubo un cambio de comportamiento, el experimento tuvo éxito!
Acto seguido, Lucho nos presenta una suerte de Manifiesto por el Cambio – o Manifiesto Ágil para la gestión del cambio – a la usanza Lean, donde valoramos:
Halar sobre empujar
Contacto sobre tecnología
Orgánico sobre prescriptivo
Crecimiento sobre perfección
En este enfoque propuesto por Jason Little, las personas involucradas en el cambio participan sí o sí en el experimento, en su cocreación; además, intervienen en la toma de decisiones y son parte integral del equipo de cambio. En los términos que lo caracterizan, Lucho nos dice que Lean Change Managment  es People-Driven.
Como con otros elementos de la mentalidad Ágil, LCM promulga por la generación de una cultura de mejora continua para el cambio. Bien sabemos que entre más individuos haya, más caótico es el cambio. En la práctica, no podemos hacer que una persona cambie; pero podemos generar las condiciones necesarias para que cambie. Para mí, esta fue una de las grandes conclusiones del curso.
Es un hecho: el cambio comienza con uno mismo. Primero el mindset, tu mentalidad, y entonces empiezas a cambiar como individuo. Si no triunfas en este apartado, no sigas adelante. Si lo logras, a tu ritmo, con disciplina, entonces estás preparado para hacer parte del cambio de tu grupo o equipo interno: tu grupo familiar, tu equipo de trabajo. A partir de allí, las posibilidades son infinitas: puedes cooperar en o, mejor aún, liderar el cambio de la organización para la que trabajas y hacer parte del cambio del ecosistema, es decir, de la comunidad que habitas, de un pueblo o de toda una sociedad.
Ya he dicho insistentemente en los últimos años que la agilidad no es un estado final. Y también que la Agilidad no es sobre Ágil, es sobre Cambio. Y LCM nos señala el camino a seguir en ese sentido. El cambio no se hace y no ocurre a puerta cerrada y no lo logra un grupo de individuos cual conciliábulo, sin involucrar al resto de la organización.
Ahora bien, no todos los cambios son iguales. El cambio en las grandes organizaciones causa más disrupción y esto aumenta la incertidumbre y la complejidad. Cuando se implementan múltiples cambios, hacemos un trazado de la incertidumbre y complejidad relativas entre cambios.
Finalmente hemos entendido que la “mejor práctica” es la que tú mismo creas basado en los experimentos que realizas en tu organización. Y con el tiempo, tú mismo aprenderás lo que funciona y lo que no, dados los atributos específicos de tu organización. ¡Eso es lo hermosamente simple de la Agilidad!

Sobre el Ciclo de Gestión Lean del Cambio

Un modelo no lineal, basado en la retroalimentación, para gestionar el cambio
No puedo finalizar esta primera crónica sobre LCM, de la que espero sea una jugosa serie de historias, sin explicar brevemente de qué se trata lo que su autor denomina el Ciclo de Gestión Lean del Cambio.
El mismo Jason Little se pregunta en este apartado si debería llamar a esto un modelo, un marco de trabajo, un método o un proceso, entre otros. Al final decide que no le preocupa la etiqueta, a mí tampoco, así que te dejo en libertad de formar tu propia opinión.
  • Hallazgos: antes de planear cualquier cambio, necesitas entender el estado actual de la organización. Para hacerlo hay muchas herramientas, evaluaciones y modelos que puedes aplicar para obtener esos Hallazgos. Por ejemplo, la evaluación ADKAR® o reuniones informales tipo Café Lean.
  • Opciones: una vez que consigas suficientes Hallazgos para comenzar a planear, vas a necesitar Opciones. Estas tienen un costo, un valor y un impacto y usualmente incluyen una o más hipótesis y beneficios esperados. Más adelante, cuando estés listo para introducir un cambio, convertirás estas Opciones en Experimentos.
  • Experimentos: en este punto ya has aprendido bastante del estado actual de las cosas y has considerado diversas Opciones. Ahora es tiempo de introducir un cambio y ver si funciona como pensaste que lo haría.
Los Experimentos, a su vez, tienen un su propio ciclo:
  • Preparar: es la etapa de planificación del Experimento. La clave acerca de esta etapa es que en ella solo tienes supuestos sobre el cambio, tus supuestos. Aquí es donde validarás tu enfoque con las personas que se verán impactadas por el cambio antes de implementarlo.
  • Introducir: aquí comienzas a trabajar con las personas afectadas  por el cambio. Si llegaste a este punto, el cambio está en proceso. Como con todo trabajo en progreso, debes buscar el límite apropiado de cambios que quieras introducir en simultáneo.
  • Revisar: compruebas los resultados del Experimento. En este punto ya habrá pasado el tiempo que proyectaste como necesario para que el cambio se consolide.
Como siempre, si el experimento no arrojó el resultado que querías o si lo produjo a medias, no desfallezcas. ¡Estas cosas suelen suceder! Simplemente te levantas al día siguiente y comienza el ciclo nuevamente. Las posibilidades son infinitas.

¿Quieres saber más?

Para saber más sobre Lean Change Management, leer el libro de Jason Little y descargar material valioso para iniciar tus experimentos de cambio, ve a leanchange.org. Pero mi humilde recomendación es que tomes el curso con Luis Mulato. ¡Es el primer gran paso que puedes dar para convertirte en un Agente de Cambio extraordinario! Además puedes conseguir un gran grupo de amigos y colegas que te ayudarán en la travesía.
Y este es mi llamado a la acción muy especial. Piensa en tu Mínimo Cambio Viable o Mínimo Cambio Deseable. ¿Qué vas a hacer para conseguirlo? Déjamelo saber en el foro.

*VUCA, por las siglas en inglés de Volátil, Incierto, Complejo, Ambiguo

viernes, agosto 18, 2017

Una guía de supervivencia a la adopción y transformación ágil: trabajando con cultura organizacional

Prólogo de los traductores a la edición en español

Muchas cosas han pasado desde que Michael publicó el libro en 2012.
Un número de modelos de enfoques para escalar Ágil han surgido en estos últimos años, especialmente para procesos de Scrum y Kanban a escala. Hay muchos modelos, como SAFe, LeSS, Nexus, DAD, Agile Portfolio Management, Lean Management e incluso algunos creados internamente en distintas organizaciones. Y, aunque hay un riesgo de que esos modelos se usen de manera dogmática, están brindando apoyo a las empresas que los consumen en sus iniciativas Ágiles.
La transformación digital, es decir, el efecto social total y global de la digitalización, se empezó a consolidar y está dando lugar a mayores oportunidades para transformar y cambiar los modelos de negocio existentes, las estructuras socioeconómicas, las medidas legales y políticas, los patrones organizacionales y las barreras culturales, entre otros aspectos de la vida moderna digital. Y muchas industrias están apalancando su transformación digital en el pensamiento Ágil, logrando con ello generar un impacto positivo en el modus vivendi de más personas en cualquier lugar del mundo.
Durante estos años hemos usado muchas de las ideas del libro de Michael, algunas de ellas con mucho éxito. Otras están en progreso en estos momentos en distintas organizaciones a las que asistimos como coaches y facilitadores Ágiles en Colombia y en otros países de Latinoamérica.
Durante este tiempo hemos comprobado que toda transformación es un proceso. Y como la vida misma, tiene sus altibajos. Es un viaje de descubrimiento. Hay un momentos en que nos encontramos cerca a la luz fulgurante de las estrellas, y hay otros donde simplemente acabamos en insondables valles de desesperación. Este libro, como las finas fragancias, es pequeño, pero encierra grandes enseñanzas, esas feromonas que necesitamos quienes lideramos estos procesos difíciles para conquistar a esa vasta mayoría de personas, equipos y áreas organizacionales que normalmente se oponen al cambio.
También hemos notado que las empresas latinoamericanas proporcionan a sus empleados muy poca educación Ágil. No se trata solo de entrenamiento, que de por sí es exiguo. Esta es apenas una de las formas para diseminar conocimiento. También se trata de coaching, mentoría, lectura, experimentación y reflexión, además de la promoción de ciclos de aprendizaje tipo sensei-senpai-kohai que habiliten a la organización para que su transformación sea sostenible en el tiempo y para crear una cultura de aprendizaje necesaria en toda transformación exitosa.
El esfuerzo ha sido monumental. Hemos visto con cierto desgano cómo al final de uno o más intentos de transformación, muchas empresas se resignan: los valores y principios no cambian ni cambiarán, aunque quizás los procesos y las herramientas sí.
Muchas cosas han cambiado estos cinco años, sin embargo, los distintos modelos presentados en el libro se mantienen vigentes, lo que reafirma la sospecha que teníamos los traductores cuando lo leímos por primera vez: ¡es una gran herramienta! Y por eso decidimos traducirlo con la venia del autor.
Nuestra responsabilidad como agentes de cambio Ágiles es mayúscula y estamos conscientes de la distancia y el tiempo que nos separa a los Agilistas latinoamericanos de los colegas de otras partes del planeta.
Pero esperamos que  el libro de Michael y nuestra traducción sirvan de base para cerrar esta brecha.
–    Medellín, julio de 2017. Jorge, Leo, Lucho, Sebastián

“Cuando se transformó en una mariposa, las orugas no hablaron de su belleza, sino de su rareza. Querían que ella volviera a ser lo que siempre había sido. Pero tenía alas”.
- Dean Jackson

Durante el lanzamiento del libro en Ágiles Colombia 2017, Michael nos envió un saludo que puedes ver aquí.


Puedes descargar el libro aquí y nos cuentas cómo te pareció en el foro.


Esta es la presentación de acompañamiento al Lanzamiento de la edición en español del libro, preparada por los traductores. 
Fecha de actualización: 25/09/2017.



Esta es la presentación actualizada para el evento de lanzamiento de la Comunidad en Tuya Colombia el 13 de noviembre de 2020. 

miércoles, junio 14, 2017

De las Reuniones de Requisitos - 1 -


Empiezas a construir una solución errónea y a nadie le importa...
¡Solicitas una reunión de requisitos y todo el mundo pierde la cabeza!

martes, abril 26, 2016

Del triángulo de hierro al triángulo ágil extendido


Las empresas en período de transformación organizacional se enfrentan a la dicotomía de seguir paradas sobre el triángulo de hierro en lo que se refiere a planificación y gestión de proyectos de software o moverse a una zona que en principio se les parece más al Triángulo de las Bermudas que al área de confort por donde han transitado durante las últimas décadas.

De lo más valioso que hemos aprendido en el desarrollo de software es que muchas de las prácticas y técnicas usadas desde aquella histórica reunión del Comité Científico de la OTAN en 1968 en la ciudad de Garmisch, Alemania y que diera inicio a la Ingeniería de Software como profesión, fueron tomadas a manera de préstamo de otras áreas de la ingeniería y de otras ciencias aplicadas.

Algunas de esas prácticas influyeron directamente en la forma de realizar estimaciones y de planificar proyectos de software. Específicamente, hemos aprendido que no podemos estimar ni planificar proyectos de software como lo hacen en proyectos de la industria de la construcción… ¡a no ser que vayamos  a usar piezas de Lego® para construir ciudades!


Afortunadamente ya sabemos con certeza que la ingeniería de software tiene su propia personalidad. Se trata de un sello que la hace única y que hace que sus practicantes se distingan del resto de profesionales de la ingeniería y de otros cuerpos de conocimiento. Por ejemplo, en su libro Agile Project Management, Jim Highsmith[1] sugirió que si aplicamos el enfoque Ágil al Triángulo de hierro encontraríamos los siguientes vértices:
  • Valor, para el usuario en términos de un producto que se pueda distribuir y cuyo uso genere beneficios para la organización.
  • Calidad, para entregar continuamente valor al usuario en términos de un producto confiable y adaptativo.
  • Restricciones, los ya tradicionales alcance, tiempo y costo, en donde, si movemos uno, usualmente el primero, se mueven los otros dos.
Como dice el mismo Highsmith [2], las restricciones siguen siendo parámetros importantes de un proyecto pero no constituyen el objetivo del mismo. En cambio, el Valor y la Calidad establecen la meta del proyecto y las restricciones mencionadas se ajustan a medida que el proyecto incrementa el valor para el usuario. En particular, El tiempo podría seguir siendo una restricción fija pero entonces el alcance debería ajustarse para entregar el valor más alto posible dadas las restricciones impuestas.


Como nos gusta lo visual, esta otra versión del triángulo ágil de Highsmith nos llega más:


Más allá de este enfoque de planificación y de gestión de proyectos (ágiles), quienes ya hemos trasegado algunos años por los vericuetos, subido a los riscos y caminado por los valles complejos del desarrollo ágil de software, sabemos que todo momento es una oportunidad de mejorar: de mejorar como personas y como profesionales, de mejorar los procesos y las técnicas, de mejorar la calidad de los productos y de incrementar el valor que estos entregan a nuestros usuarios. ¡Es la mejora continua!

Ahora bien, la mejora continua junto al valor y a la calidad forma otro vértice del triángulo, el del resultado. A los agilistas no nos interesa simplemente crear un producto, por más disruptivo o benéfico que este sea. Nos interesa pensar en lo que viene, en lo que llevará al cliente al próximo nivel de optimización, satisfacción y felicidad.

Pero lo más importante en todo proyecto, en todo proceso de innovación o mejoramiento, en todo plan que tenga como propósito el diseño y la construcción de productos (de software), son las personas: la comunicación cara a cara entre ellas, la motivación de todos los individuos que intervienen en el proyecto, la atención continua a la excelencia técnica, la autogestión del equipo y la confianza que la organización deposite en ellas se constituyen en las bases del éxito de cualquier iniciativa que requiera generar nuevos productos o servicios.

Las cosas así, podríamos entonces encontrarnos con esta nueva versión del triángulo ágil:



Referencias:

[1] Highsmith es uno de los 17 firmantes del Manifiesto Ágil