Workflow

Como primera definición entenderemos que un workflow se refiere a un mecanismo computacional que permite controlar una secuencia de acciones o un procedimiento que ejecutan varias personas. En general cuando se modela un proceso de negocios, supongamos que usamos un modelo EPC, se definen las interacciones entre eventos, tareas (transacciones) y personas. Pero, no se considera explícitamente la secuencia de ejecución en términos de responsables y plazos. Así se tiene que puede estar perfectamente modelado y operativo, por ejemplo, un proceso de cobranza en un sistema computacional, no obstante este no controla una secuencia de ejecución, lo que normalmente se establece mediante un procedimiento “administrativo”, con esto estamos señalado que es primero un elemento externo al proceso “computacional” y segundo que es un conjunto de actividades no controladas computacionalmente y por tanto es manual. Luego haciendo un análisis informal podemos decir que la implementación de un proceso de negocios habilita la “herramienta” y el procedimiento estable el “uso” de la herramienta.  Y, es aquí donde surge una dificultad técnica y práctica. Técnica porque la implementación de un Proceso de Negocios es un proyecto y el mecanismo de control de ejecución es otro, que precisa de la generación de un Workflow. Y, práctica porque las personas deben ocupar de manera adecuada la herramienta para obtener los resultados de negocios y porque se necesita tener cierta seguridad que las cosas se hacen según un diseño predeterminado (o normativa). 

Definición de Workflow
El concepto de workflow en la historia moderna se remonta a 1912 cuando F. Taylor  y a H. Gantt,  juntos iniciaron el estudio de la organización racional de trabajo, referido al ámbito de la manufactura. Sin embargo, la acepción que nos interesa es la referida a sistemas informáticos de modo que incluyo la que utiliza la workflow.org, que dice

 “Workflow es la automatización de un proceso de negocio, sea parcial o totalmente, durante el cual documentos, información o tareas son pasados desde un participante[1] a otro para la ejecución de otra acción, de acuerdo a un conjunto de reglas procedurales” [1]  La Relación Transacción – Workflow Un Workflow debe permitir establecer un mecanismo de control que permita asegurar una secuencia de acciones y que estas acciones las ejecuten determinadas personas en un plazo pre-establecido. Nótese que me estoy refiriendo a los workflows donde participan personas, Human WorkFlow, también existen los System WorkFlow, donde no ya participación de humanos y que antes llamábamos Batch. En el diagrama siguiente podemos observar los elementos básicos que conforma un workflow: 

 

 

 Diagrama simplificado de Workflow

Este diagrama esta basado en los diagrama de Petri, que muestran Acciones, en este caso Transacciones, eventos y esperas. Claramente esa es una sobre-simplificación de la realidad ya que:

 

  • No muestra las personas que ejecutan las acciones
  • Muestra como una unidad transacciones y eventos cuando en la práctica las transacciones las ejecuta un programa, por ejemplo el ERP, y el control de eventos y espera los maneja el software denominado precisamente Workflow.

Por tanto una manera más realista de representar esta relación puede ser:

Diagrama de Workflow con Operadores

En este diagrama se evidencia que la activación de los eventos (evt) y de las transacciones (Trx) son activados por las personas (Operador), y que los tiempos de espera (Wait) dependen de las personas, esto es cuando terminan o comienzan una acción.

 

También este diagrama nos permite distinguir que existen tres ámbitos de software distintos:

 

  • El Sistema Transaccional, que son los ERP, CRM, o cualquier sistema que opera las transacciones, p.ej.: definir un nuevo cliente, registrar una orden de compra, hacer un registro contable, etc.

 

  • El Sistema de Control de Secuencia, este es el que permite establecer el flujo de operación o workflow, identificando los Operadores, los eventos que activan las operaciones siguientes, los tiempos de espera y la verificación de condiciones de ejecución (Autorizaciones, V°B°, verificación de límites, plazos de ejecución, etc.), A este componente se le demonina Workflow, aunque como se vé no tiene todos los elementos para operar.

 

  • Mecanismo de Comunicación, se refiere a la comunicación entre el Sistema transaccional y el Sistema de Control de Secuencia. Hoy se esta implementado por medio de los WEB Services.

 Modelo de Workflows
Considerando que en un workflow intervienen personas y muchos componentes de software es dable esperar que un sistema de está naturaleza es complejo, a modo de referencia incluyo el modelo desarrollado por la Workflow Management Coalition [2], esta organización en la que participan a desarrolladores y universidades está operando desde 1993. 

Modelo de WFMC para Workflow

 

Aplicación de los Workflows
Las aplicaciones o usos de workflows que indico a continuación corresponden a situaciones que he experimentado en mi quehacer profesional y por tanto son limitadas. En todo caso estas definiciones pueden ayudar a determinar el alcance funcional de algún software que se esté evaluando. 

Workflows Consuetudinarios, son las secuencias de operación que se establecen simplemente por el uso y la costumbre. 

Woorkflows Manuales, son los que se establecen en un documento que contiene reglas, secuencias de operaciones, listas de datos posibles, identificación de los V°B°, etc. y también incluyen un diagrama de flujo del proceso. Este tipo de documento es lo que se llama Procedimiento. En este procedimiento pueden intervenir sistemas computaciones como ser: correo electrónico, planillas de cálculo, ERP, etc. El primer caso que recuerdo de este tipo de worflows fue el de Ordenes de Compra de Importación que se implemento usando correo electrónico en Sonda en la década de los 80. 

Workflows Implícitos, estas son secuencias de operación que la lógica de un sistema sugiere utilizar, normalmente corresponden a un proceso de negocios, por ejemplo la secuencia: Cotización à Nota de Venta à Picking à Despacho à Factura à Pago. Los llamo implícitos porque permiten establecer una secuencia entre una transacción y la siguiente, pero no controlan que persona es responsable de ejecutar cada transacción y en que período de tiempo. Casos como este los ví en  algunos sistema ERP como Microsoft Solomon (hoy es Dynamics) y SAP Business One. 

Workflow Documentales, estas son secuencias típicamente relacionados con un documento, sea para la aprobación de su distribución o para autorizar algún tipo de operación. Por ejemplo: autorizar la publicación de una nueva norma, definir la creación de un nuevo código de productos. Estos workflow se generan con el soporte de algún software como ser Lotus, SAP KM, etc. que básicamente controlan la secuencia de ejecución y operan sobre un formulario, el que van pasando de persona en persona, sea para completar datos o para dar autorizaciones (V°B°). 

Workflow de Aplicaciones, son aquellos que vienen incluidos en una aplicación con secuencias pre-establecidas y con la posibilidad de parametrizarlos, esto los he encontrado en los ERP y son los que claramente corresponde a un workflow según lo plantean las organizaciones que están definiendo los estándares para los workflows, Estos se encuentra en sistemas como  SAP ECC. 

Workflow ad-hoc, estos son los que una organización puede utilizar para diseñar y construir a la medida, se supone que la ventaja competitiva las corporaciones hoy la obtienen por medio de la innovación en sus procesos de negocios, es decir en la manera como ejecuta sus operaciones. y es aquí donde entran con fuerza los Workflows porque con ellos es posible establecer secuencias de operación controlables y medibles. Actualmente estoy con un grupo de colegas explorando SAP Guided Procedures para desarrollar estos Workflows ad-hoc. 


Nota: Las referencias a productos corresponden a los que he utilizado y utilizo en mi trabajo profesional.
 
  

Referencias
[1] Workflow definition http://www.e-workflow.org/ 
[2] Workflow Management Coalition  WFMC http://www.wfmc.org/about/welcome.htm



[1] Participante es igual a recurso humano o recurso máquina.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s