Business Process Management: Metodología de playbacks

...

El presente artículo es una guía para la implementación de la metodología de playbacks en proyectos de Business Process Management (BPM). En él se realiza una breve introducción los conceptos más imporantes y finalmente se brinda un detalle de las actividades que conforman cada una de las etapas de un proyecto de desarrollo de una aplicación de procesos.

Junio 2013

Introducción

Qué es BPM

Se llama Gestión o Administración por Procesos de Negocio (Business Process Management o BPM en inglés) a la metodología corporativa cuyo objetivo es mejorar el desempeño de la organización a través de la gestión de los procesos de negocio, que se deben diseñar, modelar, organizar, documentar y optimizar de forma continua.

BPM está basado en la observación de que cada producto que una empresa provee al mercado es el resultado de la ejecución de una serie de actividades. BPM es un instrumento para organizar estas actividades y mejorar la compresión de sus relaciones.

La visión de BPM establece que es un medio a partir del cuál las organizaciones pueden mejorar sus operaciones aprovechando la experiencia interna en el negocio. Esto se lograr participando a los usuarios de negocio en el diseño, definición y creación de las aplicaciones de proceso.El ciclo de vida de BPM se puede explicar en cuatro fases: diseño, modelado, ejecución y optimización.

Diseño

Durante el diseño se busca capturar la visión ejecutiva de la organización, detectando (descubriendo), priorizando y analizando los procesos de la organización.

Modelado

Esta etapa comprende más que el modelado del proceso, requiere además la comprensión sobre como ajustar el proceso a la evolución de los requerimientos de la organización. En esta etapa el modelo de proceso es analizado en detalle y se realizan los cambios necesarios para que este pueda ser implementado como una aplicación de proceso.

Ejecución

Involucra las actividades necesarias para convertir el modelo de proceso en una aplicación de proceso, desplegada en un ambiente de ejecución y que pueda ser monitoreada.

Optimización

En esta etapa se analizan los datos obtenidos del proceso en ejecución, se evalúan las necesidades del negocio y se detecta las oportunidades de mejora, dando pie a una nueva iteración del ciclo de vida BPM.

Proceso de negocio

Un proceso de negocio es un conjunto de tareas relacionadas lógicamente llevadas a cabo para lograr un resultado de negocio definido. Cada proceso de negocio tiene sus entradas, funciones y salidas. Las entradas son requisitos que deben tenerse antes de que una función pueda ser aplicada. Cuando una función es aplicada a las entradas de un método, tendremos ciertas salidas resultantes.

Un proceso de negocio puede ser parte de un proceso mayor que lo abarque o bien puede incluir otros procesos de negocio que deban ser incluidos en su función. En este contexto un proceso de negocio puede ser visto a varios niveles de granularidad.

Los procesos poseen las siguientes características:

  • Pueden ser medidos y están orientados al rendimiento
  • Tienen resultados específicos
  • Entregan resultados a clientes o “stakeholders”
  • Responden a alguna acción o evento específico
  • Las actividades deben agregar valor a las entradas del proceso

Sobre la metodología de Playbacks

Un playback es una demostración enfocada de un modelo de proceso en una etapa de desarrollo determinada, con un objeto de discusión, en donde se busca construir consenso, colaboración para detectar mejoras y, finalmente, la aprobación del modelo de proceso.

Los playbacks permiten llevar a cabo el desarrollo de la aplicación de proceso en forma iterativa. Cada una de estas iteraciones tendrán componentes de análisis de requerimientos, diseño de soluciones, construcción y ejecución de pruebas.

Entre las ventajas del desarrollo aplicando este tipo de metodología se puede mencionar:

  • reducción del riesgo general del proyecto
  • los cambios en el proyecto generarán menor esfuerzo de re-trabajo dado que estarán siendo evaluados en forma regular antes de completar el desarrollo
  • como consecuencia de los puntos anteriores, se puede esperar un menor tiempo de puesta en marcha de la solución

La cantidad de playbacks en los que se divida el desarrollo de un proyecto puede variar de acuerdo a la complejidad de cada una de las etapas y las necesidades particulares de cada proyecto. En la sección siguiente se da una guía práctica basada en la ejecución de 5 iteraciones.

Lo que permanece invariable en cada una de las iteraciones es su estructura. Cada iteración tiene:

  • un objetivo claro que permite acotar el alcance de las actividades
  • una serie de actividades a realizar
  • una etapa de ejecución de pruebas
  • una etapa de demostración del resultado

Recomendaciones para el desarrollo de la estimación

La clave para comprender mejor como estimar un proyecto de BPM es reconocer que sólo se puede estimar a un nivel de precisión relacionado con el nivel de desarrollo de la información disponible.

Esto quiere decir que a medida que el proyecto avance las estimaciones realizadas serán más certeras. Por tal motivo, se puede establecer una relación entre la etapa del proyecto y el nivel de certeza de la estimación, como se muestra a continuación:

cono-incertidumbre

Este gráfico, llamado “cono de incertidumbre”, indica que la estimación en una etapa de identificación del proceso puede estar hasta 4 veces por encima o por debajo del valor real, y que la revisión de la misma a medida que avance el proyecto y la aplicación madure permitirá aumentar la precisión.

Existen múltiples métodos para realizar la estimación de proyectos y no es el objetivo de este documento extenderse en el desarrollo de este tema.

En cambio, sí es el objetivo de este documento mencionar la importancia de realizar una revisión periódica de las estimaciones con el fin de ajustar los tiempos planteados inicialmente, como mínimo al inicio de cada etapa. Como se verá más adelante, se contará con una idea concreta de las actividades a realizar en cada iteración del proyecto o playback, lo que variará a medida que avance el proyecto será la cantidad y complejidad de las actividades que conforman el proceso.

Recomendaciones para la demostración del playback

A continuación se realiza una serie de recomendaciones a tener presentes durante la etapa de demostración del playback:

  • es conveniente transmitir el objetivo del playback a los usuarios que vayan a estar presentes
  • se puede realizar un ensayo de la presentación del playback antes de llevarlo a cabo con los usuarios
  • el playback debería ser dirigido por el sponsor o dueño del proceso
  • en la medida de lo posible, el playback debe ser ejecutado desde el portal
  • es importante tomar nota de las observaciones que se realicen, las discusiones se pueden dejar para un momento posterior al de la demostración

Durante la presentación al usuario se tomará nota de las observaciones realizadas. Se debe evitar caer en la tentación de criticar o juzgar los aportes realizados por los usuarios. En su lugar, al finalizar la presentación realizar consultas libre de juicio para lograr interpretar correctamente sus necesidades, siempre y cuando el tiempo lo permita. En caso de que no se cuente con el tiempo suficiente se deberá agendar una reunión para revisar las observaciones realizadas.

Playbacks

La descripción de las siguientes actividades contemplan que la etapa de descubrimiento de procesos fue realizada y completada. En esta etapa se realizó la producción de los siguientes artefactos:

  • Mapa de procesos (información básica: breve descripción, prioridad, riesgos, valor agregado al negocio)
  • (opcional) Relevamiento de los procesos

Playback 0

El playback 0 comienza luego de la selección del proceso a desarrollar. Se pueden dividir las actividades de esta fase en dos grupos: Análisis y Modelado.

Objetivo

En este playback se definen las bases sobre las cuales, a través del proceso de implementación, se construirá la solución.

Análisis

Se realiza la descripción del procesos detallando los siguientes puntos:

  • Nombre del proceso
  • Descripción
  • Entradas
  • Salidas
  • Pre-condiciones
  • Post-condiciones
  • Tiempos esperados de ejecución / cantidad de casos
  • Métricas (relevantes al proceso)
  • Excepciones
  • Caminos alternativos
  • Formularios relacionados
  • Notificaciones
  • Bases de datos externas utilizadas
  • Otros documentos (relacionados)

Luego, se continua con la definición de las actividades. Esto se puede realizar distinguiendo en primer lugar las etapas o fases del proceso (llamadas “objetivos”), y en segundo lugar agrupando las actividades o unidades de trabajo que permiten alcanzar el objetivo de cada una de esas etapas.

Se debe detallar los siguientes datos de cada actividad:

  • Nombre
  • Descripción (es importante que esta descripción sea detallada a nivel funcional lo mejor posible)
  • Participante
  • Entradas
  • Salidas
  • Sistemas con los que se integra

Se definen las actividades humanas, de servicio y los sub-procesos. En esta etapa lo importante es realizar la identificación de las actividades, no es necesario hacer foco en la secuencia lógica en la que se ejecutan.

Modelado

Se crea y se trabaja con los siguientes elementos:

  • Diagrama de procesos
  • Procesos y sub-procesos
  • Carriles (o lanes)
  • Actividades (humanas, de servicio, de llamada a sub-procesos)
  • Descripción, Tiempo esperado de ejecución, prioridades
  • Transiciones
  • Compuertas (Gateways)
  • Timers

Es recomendable utilizar los campos “Descripción” (generalmente disponibles en las suites de herramientas para desarrollar aplicaciones de procesos) que tienen los elementos utilizados para modelar el proceso dado que, por un lado brindan información rápidamente a la persona que trabaja sobre el modelo y por otra brindarán información al usuario durante la utilización de la aplicación.

Se puede utilizar las anotaciones para plantear consultas o reflejar definiciones sobre el diagrama. Además, se puede definir un código de colores para aplicar a las actividades y reflejar, por ejemplo, estados de avance en su implementación, necesidades de integración detectadas, o categorizar las integraciones de acuerdo a los sistemas a interconectar.

Demostración del playback

En la evaluación de este playback se debe poner foco en:

  • Descripción de los objetivos y requerimientos
  • Validación de que el modelo de proceso cumple con esos objetivos y requerimientos

Playback 1a

Objetivo

En este playback se agregan los elementos necesarios para convertir el modelo de proceso “estático” en uno ejecutable.

Actividades

A continuación se detallan las actividades a realizar en esta etapa del proyecto y se detalla las tareas que la componen.

Definición de Datos

Creación de los objetos de negocio que representen el modelo de datos manejado por el proceso.

Re-utilizar objetos de negocio existentes. Detectar nuevos objetos de negocio que se considere necesario implementar para que sean re-utilizados en el futuro.

Es conveniente que estén involucrados todos los desarrolladores / analistas BPM en esta tarea, o al menos en la definición.

Se definen las listas de opciones, identificando si los valores serán obtenidos de una base de datos externa (lo que identifica una integración) o si serán tratados como valores dentro de la aplicación de procesos.

Finalmente, se crearán las variables globales o locales en cada proceso, sub-proceso y actividad.

Nota: Las variables pueden ser inicializadas con valores por defecto. Esto puede ser útil para realizar pruebas del proceso, y es recomendable en caso de datos complejos.

Definición de variables de flujo y configuración de gateways

Creación de variables para el control y demostración del flujo del proceso.

Implementación de gateways a partir de la evaluación de las variables de flujo. Configuración de condiciones a través de expresiones o tablas de decisión.

En esta etapa no es necesario que se implemente la lógica a partir de la cual se asignará el valor a estas variables. En su lugar, se podrá hacer una implementación en los formularios que permita asignar diferentes valores a las mismas y, a partir de esto, validar los diferentes caminos del proceso.

Generalmente, estas variables serán de tipo simple, y tomarán valores booleanos, códigos o etiquetas. Para simplificar su distinción se puede utilizar el prefijo “flow_” en su nombre.

Nota: Verificar que el alcance (scope) en el que se declara la variable sea correcto, es decir, no asignar un alcance mayor a aquel en que se utilice la variable. Así como las variables de dato, estas también pueden ser inicializadas.

Implementación de timers, grupos y asignación (routing)

Implementación de timer events para el control del flujo del proceso, por ejemplo, ante escalaciones luego de pasado cierto tiempo.

Creación de grupos de participantes y configuración (asignación de grupos relacionados). Asignación de grupos de participantes a los carriles (lanes). Implementación de selectores y filtros de actores.

Configuración de actividades multi-instancia.

Nota: Se puede identificar oportunidades para realizar escalaciones en aquellos casos en donde se asignen tareas a grupos con un único participante.

Demostración del playback

La evaluación del playback 1a implica que se lleven a cabo dos actividades:

  • Pruebas del equipo de desarrollo
  • Presentación al usuario

En la evaluación de este playback se debe poner foco en:

  • Validación del modelo de proceso
  • Validar que las tareas se estén creando correctamente
  • Validar que las tareas sean correctamente asignadas a quién corresponde
  • Validar que el proceso recorre el camino correcto

Es conveniente que el equipo de desarrollo realice las pruebas en conjunto, es decir, todos los integrantes del equipo trabajando en la definición de qué se va a probar y realizando la verificación de la correspondencia del proceso construido con los requisitos relevados.

Playback 1b

Objetivo

Este playback está enfocado en la construcción y personalización de las interfaces de usuario de la aplicación.

Actividades

Implementación de adecuaciones al playback 1a

El objetivo de esta actividad es implementar aquellas adecuaciones aceptadas que pudieran surgir de las observaciones anotadas durante la demostración del playback anterior.

Es importante que se revise luego del playback cuál es el impacto de las modificaciones solicitadas y que, en función de esto, se determine (en la medidad de lo posible en conjunto con el usuario para que entienda el impacto sobre el proyecto) cuales serán llevadas a cabo.

Nota: La duración de esta tarea deberá definirse en función del impacto de las adecuaciones solicitadas.

Implementación de formularios

En esta actividad se implementarán los formularios básicos para que el usuario realice la carga de los datos en cada etapa del proceso y estos sean asignados correctamente a las variables del proceso.

Se diseñará las interacciones entre los formularios que compondrán cada una de las tareas humanas. Se agregará los campos necesarios a cada formulario. Se implementarán las validaciones de los campos requeridos.

Se seleccionará el template de “look & feel” para la aplicación en caso de que exista. El desarrollo, o ajuste, de un template no formará parte del foco en esta etapa. Tampoco la inclusión de funcionalidades dinámicas que pudieran momentáneamente ser resueltas de otro modo.

Tampoco es necesario implementar en esta etapa las integraciones para obtener datos de fuentes externas como, por ejemplo, datos de parametrización. En su lugar, esto puede ser reemplazado por tareas de servicio que simulen las interacciones. En el caso de utilizar simulaciones para los servicios existentes, se debe respetar los tipos de datos utilizados tanto en la invocación como en la respuesta del servicio.

Demostración del playback

La evaluación del playback implica, nuevamente, que se lleven a cabo dos actividades:

  • Pruebas del equipo de desarrollo
  • Presentación al usuario

En la evaluación de este playback se debe poner foco en:

  • Validación del flujo de datos en las pantallas del proceso
  • Correcta asignación de los valores ingresados en los formularios a las variables

En esta etapa es conveniente registrar todas las mejoras solicitadas a las pantallas, de modo que se puedan llevar a cabo durante la ejecución del playaback 3.

Playback 2

Objetivo

En esta etapa se implementarán las integraciones con sistemas externos, los servicios de decisión y los controladores de eventos externos al proceso.

Actividades

Implementación de adecuaciones al playback 1b

Aplican las mismas consideraciones mencionadas en la tarea del playback anterior.

Implementación de servicios de decisión

El objectivo de esta actividad es implementación la evaluación de reglas de negocio como servicios. El resultado de la evaluación de las reglas generalmente tendrá incidencia en el valor de las variables de control del flujo del proceso (“flow_”).

Implementación de controladores para eventos externos

Se debe implementar aquellos controladores para los eventos externos que pudieran modificar el flujo del proceso. Por ejemplo, eventos que generen la finalización del proceso o esperas de sucesos para la continuación del flujo del proceso.

Implementación de integraciones

Implementación de servicios de integración con sistemas externos. Re-utilización de servicios de integración existentes.

Es posible que durante la ejecución de actividad se realicen ajustes en la definición de los datos utilizados en la integración y modificaciones en el flujo de las actividades para contemplar la aparición de errores durante la integración.

Para evitar problemas y retrasos durante la ejecución de esta actividad es recomendable contar con asistencia de personas con conocimiento en los sistemas con los que se está llevando a cabo la integración, tanto durante la construcción como en la preparación y ejecución de las pruebas.

Nota: Si fuera necesario, contemplar en la planificación el tiempo de adecuación de los sistemas externos para ser consumidos desde la aplicación de procesos.

Demostración del playback

La evaluación del playback implica, nuevamente, que se lleven a cabo dos actividades:

  • Pruebas del equipo de desarrollo
  • Presentación al usuario

En la evaluación de este playback se debe poner foco en:

  • Ejecución del proceso utilizando datos reales
  • Validación de las reglas implementadas en los servicios de decisión

Playback 3

Objetivo

Este playback está enfocado en la mejora de las interfaces de usuario, la definición de reportes que permitan monitorear el proceso y la implementación de un correcto manejo de errores

Actividades

Implementación de adecuaciones al playback 2

Aplican las mismas consideraciones mencionadas en la tarea del playback anterior.

Implementación de mejoras a los formularios

El objetivo de esta actividad es implementar mejoras que ayuden mejorar la usabilidad de las pantallas. Por ejemplo, reorganización de los datos en las pantallas, aplicación de estilos, implementación de controles más adecuados para la visualización de los datos, utilización de AJAX para hacer más dinámicas las pantallas, entre otras.

Una fuente importante para determinar el tipo de mejoras a implementar serán las mejoras solicitadas por los usuarios durante las evaluaciones de los playbacks.

Implementación de reportes

Implementación de los reportes en la herramienta en función de los indicadores definidos.

Implementación de manejo de errores

Identificación de actividades con mayor probabilidad de falla. Definición de acciones ante la ocurrencia de estos errores.

Implementación de eventos para lanzar y atrapar excepciones en las actividades seleccionadas.

Demostración del playback

La evaluación del playback implica, nuevamente, que se lleven a cabo dos actividades:

  • Pruebas del equipo de desarrollo
  • Presentación al usuario

En la evaluación de este playback se debe poner foco en:

  • Demostración de las mejoras implementadas en las pantallas
  • Demostración de reportes
  • Demostración del manejo de errores que realiza la aplicación

Dado que puede llegar a ser complejo lograr demostrar todas las fallas que se puede presentar en la aplicación, se debe intentar demostrar los diferentes patrones utilizados.

Conclusión

La metodología de playbacks presenta una forma ordenada de llevar a cabo las actividades de construcción de una aplicación de procesos. Este ordenamiento permite hacer foco en diferentes aspectos del desarrollo a medida que se avanza logrando la aceptación de los entregables parciales. Esto tiene un beneficio para el equipo de desarrollo, que en cada etapa podrá contiunar la construcción de la solución sobre una base cada vez más sólida y mejor comprendida por el equipo, y un beneficio para el usuario que podrá observar el avance en forma pregresiva y realizar comentarios que ayuden a mejorar el resultado final.

Es imporante destacar que, para que la metodología sea efectiva, será necesario contar con una definición detallada de los requerimientos. Cuanto más detallada, más certera será la estimación que se realice y menor será la cantidad de cambios a solicitar al finalizar cada una de las demostraciones de los playbacks.


Modificado por última vez en Jueves, 21 Noviembre 2013 19:36

Acerca del autor

Andrés Sommariva

Andrés cuenta con más de diez años de experiencia liderando proyectos en diversas tecnologías, actualmente se desempeña como Gerente de Operaciones de MicroGestion Software.