SOA / BPM utilizados sistemáticamente en Proyectos de Software
-
Generalizar la utilización del enfoque SOA/BPM en Proyectos de Software
Dado que la definición más apropiada de “Proceso de Negocio” es: “Encadenamiento de Tareas / Actividades que da satisfacción a un componente específico de la Demanda”, el enfoque BPM (Business Process Management) asegura a que, lo que se haga en la organización, lo sea atendiendo a los componentes de la Demanda
Por BPM se entiende la aplicación de técnicas y herramientas software para modelar, gestionar y optimizar los procesos de negocio de una organización. BPM aporta los siguientes beneficios:
-
Reducción de plazos de ejecución en los procesos de soporte al negocio.
-
Redefinición de fases, facilitando la elaboración de algunas de ellas en paralelo, la eliminación de tiempos muertos y la automatización de tareas, reducen drásticamente el tiempo global de ejecución de los Procesos del Negocio.
-
Optimización de costos: sólo se eroga en aquello que el Cliente va a pagar.
-
BMP, mediante el modelado y el aporte de métricas, permite identificar tareas innecesarias a eliminar y cuantificar los procesos en términos de plazos y consumos de recursos, elementos ambos imprescindibles para avanzar en un proceso continuo de optimización de costos.
-
Integridad y calidad de procesos: el monitoreo de los procesos asegura que estos se realicen conforme a los estándares definidos, asegurando la calidad e integridad de los mismos.
-
Integración de terceras partes en los procesos: la automatización de procesos, combinada con la accesibilidad derivada de las tecnologías web, permite a clientes, proveedores, organismos públicos..., terceras partes en general, participar en el proceso de forma automatizada, directa y eficiente, abriendo la organización en términos tanto de acceso a los procesos como de acceso a información.
-
Consolidación de la información derivada de la gestión de los procesos: esta información aporta una perspectiva de dónde está y de cómo lo hacemos, complementariamente a los sistemas transaccionales, que aportan una perspectiva de qué hacemos. Toda esta información, normalizada en un repositorio corporativo, configurará la base del auténtico Data Warehouse integral de la compañía.
Por otro lado SOA (Service-Oriented Architecture) contribuye con un marco de trabajo conceptual que permite a las organizaciones unir los objetivos de negocio con la infraestructura de TI integrando los datos y la lógica de negocio de sus sistemas separados.
Desarrollada a finales de los ´90, SOA establece un marco de trabajo para servicios de red o tareas comunes de negocios para identificar el uno al otro y comunicarlo.
La necesidad de tal marco se deriva de la evolución del software de negocio. En los comienzos, los desarrollos de aplicaciones de negocio se concentraban en necesidades específicas: contabilidad, compras, nómina de sueldos, transporte. Cada aplicación fue desarrollada sin consideración de otros sistemas en la empresa y de cómo comunicarse con ellos. Porque las aplicaciones eran auto suficientes, la información común a toda la empresa (como por ejemplo: la dirección del cliente) y funciones específicas de negocios (como por ejemplo: buscar un nombre) aparecían en diversas localizaciones y requerían un código complejo, específico y normalmente redundante para los mencionados Sistemas de Información del tipo “Islas de Automatización”.
Mediante SOA, una organización puede mantener sus inversiones en los sistemas “legacy” junto a la gente necesaria para operarlos / mantenerlos. Esto evita continuos y costosos proyectos "de integración". La información de negocio está disponible actualizada permitiendo mejores decisiones y optimizando las relaciones entre clientes, proveedores y organizaciones asociadas.
El desarrollo de un entorno SOA implica varias etapas. La primera consiste en asegurar que todos los productos de software nuevos que se instalen sean compatibles con SOA. La segunda es identificar las funciones dentro de los “sistemas legacy” que desean integrar como servicios. El desarrollo de estos servicios puede requerir de perfiles que no existen en la organización. Por otro lado se debe considerar que las herramientas necesarias para monitorear los desarrollos y las etapas de despliegue pueden provenir de diferentes proveedores, cada uno con su propia instalación, entrenamiento y arquitectura de comunicación. Frecuentemente SOA es una solución efectiva para los problemas de integración. El desafío consiste en un enfoque conceptual correcto y en una instrumentación eficaz.
-
BPM: Los Procesos de Negocio como componente del Activo a ser gestionado y optimizado permanentemente.
El conjunto de los Procesos de Negocio constituye un activo estratégico que requiere ser gestionado con efectividad. El conjunto de los Procesos de Negocios constituye un elemento intangible pero equivale al modelado de la Estructura Organizacional. Por razones de competitividad, agilidad, nuevos canales y nuevas tecnologías y soluciones las organizaciones están implementando la Gestión por Procesos con un enfoque BPM. Los Procesos de Negocio, como se anticipó, constituyen un activo estratégico que hay que gestionar de principio a fin.
Para lograr implementar esta Gestión, se requiere un buen diseño e implantación de una Arquitectura Empresarial basada en Procesos se requiere: técnicas, herramientas de software y un adecuado enfoque metodológico.
-
BPM y el desarrollo de Aplicativos de Software destinados a tener un rol importante en organizaciones de diversos tipos.
Un software BPM (Business Process Management o Sistema de Administración de Procesos) permite llegar del diseño a la ejecución de los Procesos de Negocio sin pasar por diseño de Bases de Datos, programación de interfaces, conexiones complicadas con otros sistemas ni programación excesiva. Un sistema BPM incluye lo necesario para que los desarrolladores de aplicaciones de tipo Workflow creen formularios electrónicos, flujos de trabajo y reportes con mínima programación; incluso usuarios sin conocimientos de desarrollo de software pueden crear aplicaciones de automatización de procesos en estos entornos.
Entre otros procesos se pueden automatizar con sistemas BPM los siguientes:
-
Sistemas de Calidad ISO o Six Sigma: producto no conforme, acción preventiva y correctiva, control y distribución de documentos, evaluación de proveedores.
-
Recursos Humanos: solicitud de vacaciones, reclutamiento y selección y consulta de información propia de cada empleado.
-
Servicio a clientes: encuestas de satisfacción, solicitudes de soporte, quejas y sugerencias.
Por otro lado se destaca que una solución BPM debe incluir una herramienta gráfica de diseño y navegación de procesos, herramientas de modelado y simulación, software de integración y middleware, así como capacidades de monitoreo y reporteo de cada uno de los procesos. Las herramientas más avanzadas en este sentido deben proveer lenguajes de definición de procesos basados en XML, que hace que sean entendibles tanto como por el personal de IT que implementará la tecnología que soporta el proceso, como por los administradores y gerentes que lo supervisan. Estas herramientas también nos proveen formas de implementar los procesos de acuerdo a una arquitectura orientada a servicio (SOA).
Queda claro a partir de esta definición y de lo anteriormente discutido, que BPM es un enfoque que puede ser de gran ayuda para hacer mucho más eficientes, específicamente, los procesos de desarrollo de software.
-
El modelado de procesos, especialmente el modelado dinámico, permite hacerlos explícitos y visibles para la organización.
Los sistemas de modelado y simulación están basados en modelos matemáticos que resuelven las ecuaciones diferenciales básicas representativas de un proceso (conservación de energía, masa o momento), y que pueden ser ejecutados en tiempo real para entrenamiento o para análisis de transitorios, optimización del proceso, validación de modificaciones al diseño, ajuste y prueba de sistemas de instrumentación y control, etc.
Los modelos físicos empleados y la interfaz visual reproducida, permiten una precisión y alcance que puede variar desde el análisis de principios básicos hasta la precisión requerída en distintos ámbitos de la ingeniería.
El dominio de simulación puede cubrir todo tipo de procesos industriales (energía, petroquímica, sector alimentario), como los relacionados con el transporte (dinámica vehicular, ferroviario, maquinaria civil, etc.) y Procesos de Negocio en general.
-
Análisis de los procesos y monitoreo de los mismos para identificar ineficiencias y oportunidades de mejora.
El monitoreo de los Procesos de Negocio es una herramienta que le permite a las organizaciones tener el control de todas las actividades que se desarrollan y sobre las cuales se va acumulando información histórica que le permitirá optimizar el proceso de toma de decisiones y mantenerlas en un estado de mejora continua.
El tema análisis y monitoreo de procesos, en el contexto del proyecto, comprenderá:
-
Clasificación de las mediciones y selección de las variables a ser observadas. Clasificación de variables. Diseño de sistemas de monitoreo de procesos.
-
Gestión de los errores de las mediciones.
-
Control de procesos. Tipos de control. Componentes de un sistema de control.
-
Modelado, documentación, simulación, ejecución, análisis de rendimiento y evaluación integral de Procesos de Negocio.
Evaluación de un proceso, en el contexto del proyecto, se define como el examen disciplinado de los Procesos de Negocio utilizando un conjunto de criterios para determinar la capacidad de esos procesos para ser realizados dentro de los objetivos de Calidad, Costo y Planeamiento. El propósito del análisis del rendimiento y evaluación integral de Un Proceso de Negocio es caracterizar la práctica actual, identificando debilidades y fortalezas y la habilidad del Proceso para controlar o evitar las causas de baja calidad, desviaciones en costo o planeamiento.
-
SOA aportando agilidad a la organización
SOA proporciona una suerte de puente entre TI y los Procesos de Negocio ayudando a incrementar la flexibilidad y la capacidad de las organizaciones para cumplir más rápida, fácil y económicamente las Metas. Dependiendo de las prioridades de una industria en particular, SOA puede ayudar a reducir el tiempo y los costos de entrega de nuevos servicios.
Los Procesos de Negocio involucran a los sistemas de TI los que necesitan ser también flexibles y adaptables. SOA (Arquitectura Orientada a Servicios) hace viable la flexibilidad TI para Procesos de Negocio que están orientados a satisfacer una Demanda esenciamente dinámica.
-
Respuestas más efectivas a una demanda cuya naturaleza y segmentado varían permanentemente y con gran velocidad.
Se ha adelantado que, a los encadenamientos de Tareas / Actividades que satisfacen a un segmento específico de la Demanda se lo denomina Proceso de Negocio. Es por ello que el conjunto de Procesos de Negocio constituye una verdadera “definición por extensión” de una organización. Estas aseveraciones sustentan la relevancia que ha adquirido el concepto de BPM.
Por otro lado, existe hoy siempre un soporte TI a los Procesos de Negocio que satisface a una Demanda, viene bien destacarlo ahora, de carácter eminentemente cambiante.
Proceso de Negocio flexibles deben estar asociados a una Demanda dinámica; un soporte TI también flexible debe sustentar y hacer viable la ejecución efectiva de los Procesos de Negocio. Esta es una de las razones de la fuerte interacción SOA/BPM.
-
SOA como sustento de la creación de elementos de software discretos, modulares y reutilizables orientados a los servicios.
En el contexto de este proyecto se tendrá especialmente en cuenta que aunque las iniciativas SOA normalmente se abordan desde el punto de vista tecnológico, SOA no es una tecnología, sino un enfoque o manera de hacer las cosas que aporta sustanciales beneficios al negocio. En forma simplificada entenderemos por SOA a la creación de elementos software discretos, modulares y reutilizables a los que llamamos servicios.
|
|