Ciclos de vida BPM

enero 2, 2014

share

Archived

Desde el clásico modelo de cascada hasta las últimas vertientes en modalidades ágiles, los ciclos de vida en el desarrollo de software han ido sufriendo modificaciones y evolucionando. Un ciclo de vida puede ser visto como un conjunto de pasos, técnicas y herramientas que permiten modelar el proceso de desarrollo de software de punta a punta, desde la captura de requerimientos hasta la puesta en producción y mantenimiento. La misma noción puede aplicarse para la gestión de procesos de negocio en BPM. Como sucede con el desarrollo de software, existen distintos modelos aplicables a BPM. A continuación se verán dos ejemplos. Un modelo clásico y general, que puede adaptarse fácilmente a cualquier organización (ver [1]), y el propuesto desde la empresa JBOSS (http://www.jboss.org/jbpm).

Modelo Clásico de Ciclo de vida BPM

En el modelo clásico coexisten cinco fases diferentes, que están unidas en un proceso continuo. Esto implica que luego de la quinta actividad se vuelve a la primera, para corregir errores e introducir lo aprendido en el ciclo anterior. Las cinco fases son: modelado, implementación, ejecución, monitoreo y optimización.

En la etapa de modelado, el esfuerzo se concentra en describir los procesos a alto nivel, tratando de entender de manera conceptual cómo funcionan cada uno de los procesos. Es importante es este punto no distraerse con cuestiones de implementación y priorizar el entendimiento general.

En la etapa de implementación se profundiza la etapa anterior, introduciendo todos los detalles necesarios para llevar el proceso adelante. Se debe prestar especial atención a la interacción entre actividades así como dependencias con servicios externos.

En la etapa de ejecución los procesos detallados en la etapa anterior son puestos en marcha.

En la etapa de monitoreo se debe supervisar cada uno de los procesos, controlando que su comportamiento sea el esperado. Se debe medir la eficiencia y productividad de cada una de las etapas, y aplicar métricas que garanticen un resultado aceptable.

Finalmente, en la etapa de optimización se está en condiciones de detectar problemas y cuellos de botella que llevan a retrasar de manera innecesaria un determinado proceso. Todas las actividades involucradas deben revisarse para solucionar los problemas detectados.

Una vez completado el ciclo se puede volver a generar una nueva iteración, incorporando en cada paso lo aprendido en el ciclo anterior.

Modelo jBPM

En [2] se describe con detalle este modelo que cuenta con el soporte de tener un framework detrás, una herramienta que permite llevar a cabo todo lo planeado en cada una de las etapas. La herramienta se conoce como jBPM (http://www.jboss.org/jbpm). La gran ventaja de contar con una herramienta de software es que permite tener en un único lugar todo el proceso BPM, y tener asistencia digital en cada etapa.

Las fases de este modelo son conceptualmente similares al modelo ya visto, pero introduciendo en cada una un sabor distinto. Para la etapa de modelado se sugiere seguir un ciclo de 3 actividades: diseño, testing y simulación. Esta forma de estructurar el modelado permite una mayor robustez en el proceso. Es decir, cada proceso será diseñado, luego verificado a través de un proceso de testing, y se podrá ver una primera forma de ejecución en la tercera etapa de simulación. Todo esto es aplicable desde la herramienta jBPM.

La segunda etapa recibe aquí el nombre de Deploy, donde finalmente todos los procesos identificados de la etapa anterior son integrados. jBPM ayuda en esta etapa al disponer de un repositorio de procesos, lo cual facilita su mantenimiento y supervisión.

La tercera etapa de ejecución se lleva a cabo a través del motor BPMN2, el cual permite ejecutar procesos diseñados en el lenguaje BPMN. Nuevamente se ven las ventajas de contar con una herramienta que automatice cada paso. Esto se ve más claramente en le atapa de monitoreo, que viene provista como funcionalidad predefinida en la herramienta. Finalmente, en la etapa de análisis se pueden realizar ajustes sobre los procesos, viendo su rendimiento y eficiencia.

Conclusiones

En el presente artículo se han descrito dos posibles ciclos de vida BPM. El primero es un modelo más general, y el segundo, puede verse como una implementación del primero instanciado en una herramienta en particular, con toda la garantía de una empresa como JBOSS. Tener en cuenta y seguir un ciclo de vida BPM ayudará a organizar su puesta en marcha y lograr los objetivos propuestos.

Referencias:
[1] http://www.pnmsoft.com/resources/bpm-tutorial/bpm-lifecycle/
[2] http://people.redhat.com/kverlaen/BPM/