Optimizando el desarrollo de productos digitales: Estrategias para un flujo de trabajo efectivo (II)
En el anterior artículo sobre Estrategias para un flujo de trabajo efectivo (I) te hablé sobre cómo la división del trabajo en categorías y responsabilidades te ayuda a definir un flujo global de trabajo para mejorar la eficiencia en el desarrollo de tus productos digitales. Hoy hablaré sobre cómo puedes diseñar ese flujo de trabajo y los riesgos a tener en cuenta para lograrlo con éxito. ¡Vamos a ello!
¿Cómo diseñar un flujo de trabajo efectivo?
Primero tenemos que entender qué tipo de peticiones recibe el equipo, es decir, si son problemas, tareas, incidencias, iniciativas o consultas. También es importante saber quién las pide y cómo las pide. Es crucial entender esto antes de empezar a pintar nada, ya que si no es así, diseñaremos una solución que nada tiene que ver con las necesidades existentes y, por tanto, será un fracaso asegurado. Habla con tus stakeholders y tu equipo, entiende sus necesidades y problemas. Si ya tienes un backlog, léelo en detalle, y empápate. Hazte algunas preguntas; ¿falta información o vienen detalladas? ¿son ideas generales o por contra son concretas y específicas? ¿las piden usuarios internos o externos? ¿qué perfil tienen tus stakeholders?
Hacer este análisis te ayudará a entender cuál es la situación y cúal es el punto de partida. No todos las empresas son iguales, y dependerá mucho de la cultura y el tipo de stakeholders que tengas en tu entorno. Tener claro cómo es la demanda te ayudará a definir claramente cuál es el objetivo de tu equipo y qué se espera de él. Este es un primer paso clave para diseñar el flujo de trabajo.
Es el momento de pensar en cómo se resuelve cada tipo de petición. Coge un ejemplo, el más representativo que tengas, y piensa en qué se necesita hacer desde que cae en manos del equipo hasta que se resuelva. Aquí te ayudará mucho pintar un diagrama de flujo de las acciones, algo muy concreto del paso a paso de una tarea. Algo así:
En cada paso, párate y hazte varias preguntas: ¿Quién es el responsable? ¿Qué tiene que hacer exactamente? ¿Se necesita de otra persona o departamento? ¿Cuándo se supone que ha finalizado? ¿Qué se debe hacer después? Así, poco a poco, irás añadiendo pasos y acciones concretas, una serie de acciones lógicas hasta que llegues a completar toda la cadena completa. Analiza si cada acción que vayas apuntando es generalizable, es decir, ¿esa acción es común para todas o es algo específico de la tarea? Escribe solo acciones generales que compartan todas las tareas. Esto no lo puedes hacer solo, siéntate con el responsable de cada acción, y diseña un flujo completo y detallado.
Una vez has pintado el flujo completo de las acciones, tan solo tienes que agruparlas en diferentes estados o fases. Para ello, ponte en la piel de quien necesita ver esos estados y para qué: ¿Quieres llevar el seguimiento tú? ¿Es para que tu equipo sepa cuando tiene que realizar algo? ¿Es para mostrarlo a los stakeholders y que sepan cómo avanza su petición? Según el objetivo, habrá mayor o menor número de estados. Mi consejo, es que te guíes por "menos es más", es decir, construye algo simple de entender pero útil. Normalmente, si está orientado para personas externas de los equipos, con estados muy generales es más que suficiente. Pero si es para el propio equipo, agrupa las acciones por objetivos concretos. Por ejemplo, en las pruebas de una nueva funcionalidad hay muchas acciones que hacer (realizar pruebas de integración, pruebas de carga, revisar la performance, el diseño, la funcionalidad, etc.), pero todos esos pasos tienen el mismo objetivo y el mismo responsable, por tanto, puedes agruparlas todas en un único estado llamado "Testing".
Cuando termines de definir los estados, no te olvides de validar que toda las peticiones, pasan por esos estados o por casi todos (sí, pueden saltarse algún estado si no es necesario), y conseguirás una lista de estados comunes. Aquí te dejo un ejemplo:
Ahora solo te queda la parte final, establecer el flujo entre estados, es decir, cómo de un estado puedes pasar a otro estado diferente según el resultado final. Ayúdate del flujo de acciones que has creado previamente para usar casos concretos y poder extraer una regla general. Por ejemplo, una tarea en estado de "UAT" según el resultado de las pruebas, puede o pasar a "Pending Release" si las pruebas son correctas, o a "To Do" si las pruebas no cumplen las expectativas. De esta forma, conseguirás finalmente un flujo de trabajo claro y estructurado, algo parecido a esto:
El resultado es que habrás conseguido agrupar las acciones de todas las tareas en estados generales válidos para todo el trabajo de tu equipo. Esto te ayudará a entender en qué parte del proceso está cualquier tarea, quién es el responsable y cuánto falta para completarla de manera fácil e intuitiva. Ahora, con el flujo de trabajo diseñado, estás listo para compartirlo con todos los implicados y ponerlo en marcha. ¡Muchas suerte!
¿Qué riesgos existen en el diseño de un flujo de trabajo?
Aunque ya has aprendido cómo diseñar un buen flujo de trabajo, hay ciertas cosas que deberías tener en cuenta si quieres que sea 100% efectivo y lograr el éxito en su puesta en marcha. Aquí te dejo algunos de los riesgos más importantes:
¡Cuidado con la complejidad!
Ya te he comentado lo importante que es la simplicidad, "menos es más", no trates de hacer nada rebuscado y complejo. Haz un flujo que cualquiera pueda entender. Compártelo con tu equipo o tus stakeholders. Trata de explicárselo a alguien que no tenga ni idea, y asegúrate que lo entienda bien y rápidamente. Si no es así, toca replantearlo.
Evita ser rígido
Es mejor que dejes que los estados pueden moverse libremente, en lugar de hacer algo rígido que no sea capaz de adaptarse a excepciones o situaciones que no habías contemplado. Si no tu equipo perderá mucho tiempo moviendo tareas de estado sin ningún tipo de valor y no podrás adaptarte a nuevas situaciones. Recuerda que un flujo es un marco, una guía para facilitar el trabajo, no un impedimento para ello.
No lo hagas solo
Incluye a todos los interesados en el diseño del flujo de trabajo, de lo contrario, puede que omitas procesos importantes o encuentres mucha resistencia al cambio cuando quieras implementarlo. La resistencia al cambio es muy habitual y natural, si colaboras en el diseño conseguirás mayor compromiso a la hora de llevarlo a cabo y conseguirás aportaciones muy valiosas que ni siquiera te habías planteado.
Establece canales de comunicación
Un flujo de trabajo tiene como principal objetivo facilitar la comunicación entre los equipos internos y externos, si no estableces puntos de contacto y maneras de comunicarse, no conseguirás una buena colaboración ni que el proceso avance de manera fluida. Usa herramientas adecuadas como Jira, Asana o Notion para visualizar los estados, dejar comentarios, asignar tareas y tener una visión global.
Piensa a largo plazo
Ten en cuenta las dependencias de los miembros de los equipos, los cuellos de botella, el aumento de peticiones o el futuro crecimiento del equipo. ¿Es fácilmente escalable? Si la respuesta es no, dale una vuelta.
¿Aporta valor?
Un flujo de trabajo tiene que ayudar al equipo en su día a día y unificar las expectativas entre las partes interesadas. Si no consideras la carga de trabajo, el bienestar del equipo y los objetivos de negocio, fácilmente puede llevar al agotamiento, reducir la moral y, por tanto, afectar a la productividad. Esto generará el efecto opuesto al que deseas y que sea un impedimento en vez de una ayuda.
Podríamos profundizar mucho más, pero estos son los primeros pasos para que puedas crear un flujo de trabajo simple y efectivo. Espero que te haya servido tanto como a mí explicarlo. Pero recuerda que los flujos de trabajo son organismos vivos que evolucionan y cambian, así que impleméntalo, analiza cómo funciona con los equipos, y modifícalo tantas veces como necesites para que sea útil, simple y aporte valor. El aprendizaje contínuo es lo que te llevará al éxito.
Explora el blog sobre producto digital
Teoría basada en la experiencia
"La única constante es el cambio"