BPM sem BPEL Parte 1

Com a crise econômica mundial, que tal reduzir 20% dos custos de sua empresa? Bom né? Pelo menos é isso que promete o Gartner se você usar BPM. Segundo ele seguirem a adoção de BPM podem ter esse lucro nos primeiros 12 meses, eu não duvido.

70% das empresas que usam BPM dizem que essa é a sua salvação, a idéia não é nova, com crise ou sem crise os preços tendem a ser ditados pelo mercado, então uma boa forma das empresas irem para frente é melhorar a qualidade dos seus processos internos e diminuir custos.

O que é Business Process Management?

Esse é um modelo gestão baseado em processos, a idéia é mapear e modelar os processos da empresa para ter um conhecimento maior de como as coisas funcionam e poder otimizar o processo. Tal tarefa de mapeamento pode ser feita com qualquer ferramenta estilo fluxograma.

Para mapear um processo não importa se a sua ferramenta é o MS Visio, IBM Modeler, BizAgi ou até mesmo o MS Excel. Quando falo em mapear não falo só no mapeamento, que é um tarefa de engenharia reversa, mas falo também de modelagem de processos, para a modelagem de um processo novo por exemplo.

Com o processo modelado e mapeado é possível aplicar SLA e através de simulações e até mesmo o uso empírico do processo ver pontos de melhoria e de simples descarte. Para simulações já vamos precisar de uma ferramenta mais própria para BPM como o Modeler ou o Intalio, o excel fica devendo :)

Infelizmente a simulação que é um recurso muito bom ainda é deixado como uma funcionalidade meio que de brinde sem muito foco ainda pelos grandes players, possível que depois da bpmn 2.0 isso mude, vou falar mais sobre bpmn neste post depois.



O Ciclo do BPM

Ciclo do BPM

Design: É o inicio de tudo, nessa fase existe a identificação dos processos existes e bem como o mapeamento dos atores, tarefas e requisitos de SLA. Um bom design além de resolver possíveis problemas futuros deixa as coisas mais claras e objetivas, nesse momento você projeto como irão acontecer as coisas.

Modelagem: Quando as coisas começam a se tornar tangíveis, nesse ponto você irá se preocupar com detalhes mais práticos dos que você viu na fase de design. Preocupações como o custo e materiais, pessoas, etc sempre aparecem aqui.

Execução: Aqui é aonde o trabalho acontece, seja ele feito por pessoas, por máquinas ou por sistemas, você pode aumentar cada vez mais seu nível de automatização, mas isso nunca será 100%, logo vai ter que existir interação com pessoas e tarefas manuais. Pode ser difícil de documentar como as coisas funcionam mas isso é mais uma questão de cultura e de hábitos do que de complexidade propriamente dita.

Monitoramento: Nessa fase você ira acompanhar os seus processos em execução, seja ela por meu de sistemas da TI ou por tarefas feitas na mão por pessoas, você deve ter estatísticas de performance do seu processo. Você pode usar ferramentas de BAM nesse ponto, a solução de BAM pode ajudar a detectar problemas para que você possa corrigir esses problemas ou melhorar a performance dos seus serviços.

Otimização: Depois de fazer o design, modelar, executar e monitorar, você tem a chance de aplicar otimizações nos processos de sua empresa. Nesse ponto que você pode remover gargalos e retirar passos e custos não necessários ao seu negócio.

Business Process M
odeling Notation

É uma forma padronizada de fazer mapeamento de processo de negócio, a bpmn é uma notação visual, pelo menos até a versão 1.1. Na versão 2.0 vai existir um schema para validar a notação, isso será bom tanto em termos de ferramentas como em termos de padronização e portabilidade.

Hoje em dia a portabilidade de bpmn praticamente não existe, por que visualmente se existe um " + " em um gateway e uma ferramenta como o IBM Modeler 6.0 não tem esse sinal ela não é aderente a bpmn. Até a versão 1.1 teoricamente a portabilidade aconteceria com o XPDL, mas nem todas as ferramentas trabalham com o XPDL e mesmo que trabalhem existe sérios problemas de portabilidades como por exemplo do BPM Studio da ORACLE para o IBM Modeler e vice versa.

Padrões são bons, mas nesse ponto de bpmn 1.1 isso tudo serve apénas de convenção, na versão 2.0 do bpmn que é quando se pretende fazer a bpmn executável pode ser que as coisas mudem mas até que isso chegue não vai ser da noite para o dia. Nesse tempo você vai querer usar BPM, use a vontade com bpmn ou não, agora saiba que você estará preso a uma ferramenta, não caia na trova fiada da portabilidade.

XPDL ?

É um padrão de representação de fluxos baseado em XML, esse padrão é mantido pela Workflow Management Coalition (WfMC), já o bpmn é mantido pela OMG. O problema é que como dito antes poucas é que nem todas as soluções de BPMN seguem a última versão de XPDL que hoje(06/06/2009) esta na versão 2.1. Muitas ferramentas usam XPDL mas não existe portabilidade, você cria o processo com bpmn na ferramenta e não hora de importar em outra ferramenta ou não importa ou importa com erros.

BPMS

É um software para BPM, proprietário. O problema é que todas os processos de um BPMS devem ser executáveis e na verdade muita coisa não é executável, para muitos essa é outra tentativa sem sucesso de automatizar o que não deve ser automatizado e trocar pessoas por sistemas.

A Evolução dos padrões

Confira a evoluções desses padrões no diagrama de linha do tempo a baixo. Perceba a diferença de evolução do XPDL e do BPMN que mudou de dono no meio do caminho, perceba a velocidade de evolução dos padrões também.

Timeline de padrões

Como ainda estamos em 2009, não temos o XPDL 2.2 e o BPMN 2.0, eles ainda estão em discussão, você pode conferir boas dicas do que vai ter de novo no bpmn aqui. Porem existem algumas coisas ruins sobre o assunto como por exemplo a possível continuidade da baixa portabilidade, que só leva ao mais lock in nos grandes vendors como IBM e ORACLE.

Se você tem dúvidas quanto a portabilidade, leia esse trecho retirado do blog de um dos caras de BPM o Bruce Silver:

3. Model portability. Most people simply take it for granted that the first goal of any standard like BPMN is portability or interoperability between tools. You should be able to create a BPMN model in tool X and open it in tool Y. That takes more than a schema. It also requires the spec to enumerate the elements expected to be portable between tools, i.e. that all tools must support and understand. In an execution language like BPEL, this enumeration is the entire set. But for BPMN, currently used as a diagramming notation rather than a complete execution language, no tool with a runtime supports every last bit of it, and that probably won’t change with BPMN 2.0.

The team should have followed XPDL’s lead and defined multiple working sets – a hierarchy of portability levels – from a simple basic palette supported by essentially all tools, up to the full set, with portability conformance requirements spelled out for each level. I drafted language to that effect, but it didn’t get off the ground, either. Instead, the modeling conformance language is so vague as to be meaningless.

My interpretation of the reason is that team members were uncertain how much of the BPMN palette their own tools would support in their first “2.0-compliant” release. So don’t expect much portability when BPMN 2.0 tools first come out.

Bom acho que ele foi bem claro quanto a o que estou dizendo :)

Na versão 2.0 do BPMN que a idéia é ser executável, será nitidamente a saída do BPEL, que muitas vezes era utilizado como solução por limitações de distinção de informações de modelagem e informações de design da bpmn 1.0.

A Questão da simulação também pode vir a ficar melhor pela entrada dela na especificação de BPMN 2.0, mas isso tudo é para depois de 2010.

Fechando essa parte...

BPM é um modelo de gestão baseado em processos, não é tudo e não substitui a gestão tradicional, agrega novos conceitos, mas ainda precisamos do básico que existe em administração e gestão de projetos. BPM não é TI necessariamente é mais negócio que TI, pode ter e deve ter a ajuda da TI, mas é mais para área de negócios e a sua implantação é na empresa toda e não só no setor de TI.

No próximo post vou falar da relação de BPM com BPEL e se isso é possível ou não. Existe uma discussão muito grande sobre esse tema, no próximo post falarei das possíveis vantagens e desvantagens e bem como os mitos e patotas dessa questão.

Abraços e até a próxima.

Popular posts from this blog

Kafka Streams with Java 15

Rust and Java Interoperability

HMAC in Java