Las metodologías ágiles han probado ser un remedio a los viejos y endémicos problemas de los proyectos de desarrollo de software: retrasos, sobrecostos y sobre todo, no atender las reales necesidades de los clientes. Los mismos principios pueden ser aplicados cuando se trata de automatizar flujos de trabajo, y les llamaremos Procesos Ágiles.
Los Procesos Ágiles son procesos de negocios que permiten alcanzar alguno de los objetivos de negocio de la organización, y que son automatizados en un sistema de gestión de procesos de negocios siguiendo los principios de las metodologías ágiles de desarrollo de software.
En este post, revisaremos cuáles son esos principios y actividades que sustentan las metodologías ágiles de desarrollo de software, y como se aplican a la disciplina de Gestión de Procesos de Negocios (BPM), para automatizar flujos de trabajo y procesos.
Conceptos de los procesos ágiles
En general, la mayoría de las metodologías de desarrollo de software ágiles se basan en los siguientes conceptos:
- Lista de Pendientes (Backlog), donde se listan las tareas a realizar.
- Planificación, donde se priorizan y asignan responsables para las tareas.
- Tarjetas (Cards), que permiten dar seguimiento a las tareas y su avance.
- Construcción (1 a 3 semanas, con reuniones diarias «Dailies»), donde efectivamente se realizan las tareas.
- Entrega de producto, cuando se evalúa si el producto está terminado para el cliente, o se debe reiniciar un nuevo ciclo.
- Reunión de revisión, en la que se extraen aprendizajes para el siguiente proyecto.
A continuación realizaremos un mapeo de cómo aplican estos conceptos en la construcción de procesos ágiles.
Lista de Pendientes
Al automatizar un proceso completo, existen varias tareas que deben ser agendadas. La más visible es el modelado gráfico del flujo de trabajo, utilizando notación BPMN. Construir ese modelo implica varias subtareas, como ser relevar el proceso con los usuarios de negocios, analizar la conveniencia de las tareas y etapas existentes (o eliminar algunas que no agreguen valor).
También pueden exisitir tareas de mayor corte técnico, como por ejemplo realizar integraciones del proceso ágile con otros sistemas, mediante WebServices o Zapier. Crear bases de datos para almacenar información persistente entre procesos. Conectar el BPM Suite con el Directorio de usuarios para tener un single-sign-on (SSO).
Y por supuesto, podría haber tareas de gestión del cambio organizacional. Siempre recordemos que automatizar un proceso, aunque sea haga aplicando metodologías ágiles, implicará un cambio relevante en la forma en que las personas realizan sus actividades diarios. Este cambio debe ser gestionado para evitar rechazo o simple falta de adopción del proceso automatizado.
Planificación de tareas
Una vez que se identificaron todas las tareas, se debe planificar el sprint, y en particular qué tareas serán realizadas y por quién. Esta planeación es relevante para asegurar que se puede completar un ciclo con resultados visibles en el plazo estipulado para el sprint.
En esta planificiación entra en juego el tipo de BPM Suite que se esté utilizando. Si se trata de uno que no requiere codificación (low-code / no-code BPM) como Flokzu, entonces los ciclos podrán ser cortos y los resultados serán visibles en corto tiempo. No requerir desarrollo de software permitirá construir flujos de trabajos ágiles en poco tiempo y con menos errores.
Tarjetas (cards)
Este elemento, sumamente gráfico y típico de las metodologías ágiles, se aplica exactamente igual al construir procesos ágiles. Simplemente, cada tarjeta representará una tarea a realizar, que será movida por las diferentes etapas a medida que avanza en su completitud.
Construcción (sprints)
La construcción efectiva del proceso ágil, corresponde a su instrumentación en un sistema de gestión de procesos de negocios (BPM Suite). Esto implica modelar gráficamente el proceso, desplegarlo y poder utilizarlo.
En la siguiente ilustración se presenta un ejemplo simple, en que se distinguen tareas de usuario (realizadas por un ser humano), tareas automáticas (como enviar un mail o conectarse con otros sistema mediante Zapier), así como Gateways condicionales para que el flujo vaya por una rama u otra.
Además del diseño gráfico del proceso presentado, es importante al construir un proceso automatizado almacenar los datos relevantes del mismo. Esto usualmente se realiza mediante un formulario, al que se le insertan campos. Estos campos además se pueden ocultar en determinadas etapas, hacer obligatorios, etc. Flokzu provee un potente generador de formularios, que naturalmente también funciona bajo el paradigma no-code, por lo que no es preciso tener conocimientos de programación para configurarlo:
La utilización de estas tecnologías que no requieren programación, facilita la construcción de procesos ágiles en sprints cortos (1 o 2 semanas). Se despliegan, prueban y ajustan iterativamente.
Entrega de los procesos ágiles
Cuando se termina cada sprint, se entrega el proceso ágilmente construido al cliente. Esto no quiere decir que sea la versión final, pero sí es una versión que funciona y muestra el valor al cliente.
Poder entregar muchas versiones del proceso automatizado en poco tiempo (ciclos cortos), facilita tener mucha interacción con el cliente, uno de los pilares de las metodologías ágiles. El feedback del cliente nos permite ajustar las tareas próximas y su planificación.
De esta forma, el producto avanza en la dirección correcta. En contraste, con las metodologías tradicionales, se hubiera esperado a tener el proceso completamente instrumentado antes de mostrarlo al cliente. Y cuando se hacía, se encontraban notables diferencias con las expectitvias del cliente. Al construir procesos ágiles con la metodología descrita, aseguramos que el cliente esté involucrado y si hay correcciones se hagan en tiempo.
Reunión de revisión de los flujos de trabajo ágiles
Las reuniones de revisión se deben ejecutar de acuerdo a las metodologías ágiles. Luego de entregar el proceso completo al cliente y que esté funcionando, se deberán extraer aprendizajes para todo el equipo. De esta forma, el equipo se profesionaliza y preparar los próximos procesos ágiles que deba instrumentar.
Analizar los flujos de trabajo recientemente automatizados, desde una perspectiva de equipo, permitirá encontrar mejoras metodológicas, así como buenas prácticas para todas las actividades involucradas (desde integrar los procesos con otros sistemas hasta manejar la gestión del cambio organizacional).
Conclusiones
La automatización de flujos de trabajo ágiles es factible aplicando los principios generales de las metodologías ágiles de proyectos de software. Para ello es clave contar con un sistema de gestión de procesos de negocios low-code/no-code, que no requiere programación y permita ciclos iterativos cortos. Mostrar resultados a los clientes genera su involucramiento, así como detectar desvíos y errores tempranamente.
La capacidad de una organización de construir procesos ágiles, es generalmente un indicio de su capacidad de respuesta ante cambios (en el mercado, regulatorios e internos). Esta adaptabilidad es clave para generar y sostener ventajas competitivas que le permitan sobrevivir primero, y crecer luego.
Si en tu organización crees que estas tecnologías podrían ayudarte, contáctanos inmediatamente.
Agenda aquí y te ayudaremos a instrumentar los procesos reales de tu organización.