Webinar – Do Modelo TO BE para a Automação – o que é preciso repensar sobre o processo

Neste webinar, apresentado por Kelly Sganderla em 25/08/16, compartilhamos nosso expertise e experiência sobre a importância de realizar um redesenho tecnológico do TO BE, considerando aspectos importantes sobre a visão de processo e visão sistêmica da Solução.

Aos que participaram da transmissão ao vivo, um muito obrigado em nome do time da iProcess!

Os slides utilizados na apresentação também estão disponíveis no SlideShare:
http://www.slideshare.net/iProcessBPMeSOA/webinar-iprocess-do-modelo-to-be-para-a-automao-um-repensar-sobre-o-processo

Confira abaixo as respostas para perguntas enviadas por nossos participantes durante o evento:

Pergunta: Para automatizar processos e adotarmos um BPMS, temos uma etapa que é a escolha da ferramenta BPMS. Devemos ter ações paralelas para definir junto ao cliente qual BPMS a ser adotado, caso o cliente não tenha definido qual a ferramenta a utilizar? Que dificuldades afetam o projeto (redesenho e automação) na escolha da ferramenta?
Certamente uma etapa importante na automatização de processos é a escolha de uma da suíte de BPM (BPMS). Dificilmente, porém, a organização irá adquirir um BPMS para automatizar um processo específico, pois este tipo de ferramenta é uma plataforma para automação e controle dos processos da organização. A escolha da plataforma para a gestão de processos é uma decisão corporativa. Cada solução disponível no mercado tem seus pontos fortes e fracos, e seus recursos precisam ser avaliados em relação às necessidades da organização, como sua estrutura, cultura organizacional e planos atuais e futuros para os processos da empresa. A escolha da ferramenta pode impactar diretamente no projeto de automação, pois de acordo com os recursos e funcionalidades disponiveis no produto, o redesenho tecnológico do processo pode mudar.
A iProcess Education lançou recentemente um Kit de Avaliação de plataformas de BPM com vídeo aulas e planilhas de templates para comparação e avaliação de aderência de produtos a centenas de requisitos que precisam ser considerados nesta avaliação, entre as quais os recursos que o produto disponibiliza para o desenvolvimento da automatização do processo.
Para saber mais, visite a página: www.iprocesseducation.com.br/avaliacao_plataformas_BPM

 

Pergunta: Trabalhar o TO-BE significa custo, para empresa como o todo, ainda mais como o TO-Be tecnologico que aparentemente gera mais custo. Tem algum valor de beneficio entre o TO-BE e o TO-BE tecnologico?
A melhoria de processos não deve ser vista como um custo, mas como um investimento. Assim, não devemos avaliar o valor e os benefícios do redesenho de processos pelo custo deste trabalho, e sim pelo seu potencial de retorno do investimento. O redesenho tecnológico possibilita criar uma nova visão de futuro (TO BE) que ao ser comparada com a situação atual nos apresentará que ganhos teremos no processo em termos de redução de custos da sua execução, redução da duração do processo e melhoria na qualidade e produtividade. Isto é fundamental para o cálculo do ROI do projeto – um tema que trabalhamos muito fortemente nos nossos treinamentos do Ciclo BPM.

 

Pergunta: Se a TI não conhece a ferramenta a empresa auxilia neste trabalho a 4 mãos?
Se a equipe que fará o desenvolvimento para a automação do processo não conhece a ferramenta, há um risco bastante elevado de definições sobre o processo não serem viáveis de automação com o produto escolhido, ocasionando necessidades de mudança do processo e do escopo de trabalho durante o projeto – o que no final das contas poderá aumentar o seu custo de implementação. Neste caso, o ideal é contar com um apoio do fabricante ou de consultoria especializada que conheça bem o produto, para realizar este redesenho tecnológico do TO BE.

 

Pergunta: Eu gostaria de rever os slides que falam sobre analista de negócio e de TI agora do final da apresentação.
Os slides utilizados na apresentação estão disponíveis no link do slideshare acima e você também pode rever esta parte da apresentação no vídeo gravado!

Desmistificando o uso de eventos em BPMN

A boa modelagem de processos de negócio em BPMN é resultado do domínio da notação, fruto de estudo e compreensão dos elementos. Esse aprendizado se faz de diversas formas, principalmente através da aplicação prática e também com exemplos (bons e ruins). Coletamos algumas dúvidas comuns de iniciantes na notação BPMN, participantes dos nossos cursos e leitores do blog da iProcess, sobre a aplicação dos eventos, cujas respostas compartilhamos aqui.

1) É típico das ferramentas de modelagem de processos representarem elementos BPMN por cores, estas cores muitas vezes variam de ferramenta para ferramenta. Oficialmente que cor possui cada evento (Início, intermediário e fim)?

Ferramentas de modelagem como Bizagi, por exemplo, costumam diferenciar os elementos BPMN por cores

Os elementos BPMN não são representados por cores, mesmo que muitas vezes ferramentas de modelagem representem estes e outros elementos com cores, a especificação não define uma cor para o elemento, pelo contrário, representa na forma preto e branco.

Na grande maioria, estas ferramentas de modelagem possuem em suas configurações a opção para apresentar o desenho do processo em preto e branco.

O objeto evento é representado graficamente, na sua especificação, por um círculo. Eventos que marcam o início do processo são representados por uma borda de linha simples, já eventos intermediários são representados por duas linhas circulares concêntricas e eventos de fim são representados por uma linha simples com uma borda mais espessa.

A notação deixa o uso de cores livre e  podem ser usados tanto para identificar visualmente os tipos de elementos quanto com outros propósitos, como por exemplo: sinalizar com uma cor os elementos que estão mudando de uma versão para outra em uma revisão do processo, ou destacar eventos críticos para o processo.

2) O uso do evento de início e evento de fim são obrigatórios?

Obrigatoriedade do evento de início e evento de fim

Não são obrigatórios, porém seu uso é altamente recomendado por se tratar de uma boa prática, pois com estes elementos definimos e identificamos visualmente o ponto inicial e final do processo.

Regra: se um evento de início é definido, obrigatoriamente, um evento de fim também deve ser (e vice-versa).

3) Se o evento de início e evento de fim não são obrigatórios, como como identificamos o início e fim do processo quando estes eventos não estão definidos?

Neste exemplo, a tarefa "Escolher produtos" é o primeiro elemento do fluxo, portanto o processo inicia-se por ele. O fluxo segue até a tarefa "Realizar entrega da mercadoria", que por não apresentar um fluxo definido após sua ocorrência, é considerada o ponto final do processo.

Quando o processo segue um fluxo definido pelo fluxo de sequência (sequence flow), identificamos o início (ponto de partida) e fim do processo (ponto final) pelo primeiro e último elemento do fluxo.

4) Caso seja necessário, posso voltar ao início do processo ligando o fluxo de sequência ao evento de Início?

Emprego indevido da notação BPMN! A saída do gateway está retornando ao evento de início.

De forma alguma! A especificação deixa claro que o evento de início não pode ter nenhum fluxo de sequência apontando para ele. Além disto, o evento de início só pode ser executado/inicializado uma única vez para cada instância de processo.

No exemplo, o fluxo retornou de forma correta a tarefa "Solicitar Férias".

Se realmente for necessário que o processo volte ao seu início, o fluxo de sequência deverá ser ligado ao elemento que vem logo após o evento de início.

5) É obrigatório o uso de rótulo (nomenclatura) nos eventos? Como devo utilizar?

Exemplo de rótulo nos eventos do processo, seu uso é altamente indicado para compreensão correta do processo.

Não é obrigatório, porém o uso é considerado uma boa prática pois impacta diretamente na clareza e compreensão do processo. O rótulo deve apontar o motivo daquele processo ocorrer (evento de início), motivo para dar andamento (evento intermediário) ou motivo de chegar ao fim (evento de fim).

6) Um processo que conter mais de um evento de início é considerado sintaticamente incorreto (emprego indevido da notação)?

Pela especificação não! Porém a própria especificação deixa claro que a compreensão do processo pode ser prejudicada se houver vários eventos de início e que o modelador deve estar ciente que os leitores do processo podem ter dificuldades na interpretação do diagrama, por isto recomenda-se usar este recurso com moderação.

A boa prática nos indica o uso de tipos de eventos que abstraem a ocorrência de mais de um evento em um único objeto. É o caso do Evento Múltiplo e o Evento Paralelo.

Processo utilizando evento de início múltiplo.

No exemplo acima, o processo pode iniciar com uma ligação do 0800 ou por envio de SMS ou ainda por um e-mail. Basta que um destes gatilhos seja disparado para que o processo inicie. Importante destacar que o gatilho acionado cancela os demais.

Diferente do evento de início múltiplo, o evento de início paralelo requer que todos os tipos de eventos, abstraídos no objeto, sejam realizados para que o processo inicie.

Processo utilizando evento de início paralelo.

Para que o processo acima inicie, contendo o evento de início paralelo, deverá ser aprovado o investimento e confirmado o orçamento pelo financeiro. Necessariamente todas as condições devem ocorrer para que o processo inicie. Este é mais um motivo para abstrair diversos eventos em um único objeto (possibilidade de aplicar condições para o processo iniciar).

Existe ainda uma terceira forma de modelarmos o cenário de múltiplos eventos de início. É utilizando o Gateway de Início Baseado em Evento Exclusivo, outra indicação de boa prática para substituirmos pelos diversos eventos iniciais.

Processo utilizando gateway de início baseado em evento exclusivo.

O gateway de início baseado em evento exclusivo depende do resultado dos eventos imediatamente posteriores a ele. O primeiro evento que for disparado cancela os demais.

7 ) Vários eventos de fim (sempre que necessário) é considerado uma boa prática de modelagem?

Eventos de fim para cada estado em que o processo pode encerrar.

Sem dúvida, sim! Utilizar eventos de fim dá maior visibilidade e clareza das situações em que o processo pode terminar.

Em alguns casos, deixam de ser apenas boas práticas e se tornam vitais para o perfeito funcionamento do fluxo. É o caso do exemplo abaixo, em que as saídas do subprocesso de aprovação de compras são replicadas no processo de compras para informar o caminho que o fluxo deverá seguir.

O gateway que vem logo a seguir do subprocesso de aprovação de compras replica exatamente as mesmas saídas apresentadas dentro do subprocesso.

Você se interessou pelo assunto?

Este tema é explorado com mais profundidade em nosso curso “Dominando o Mapeamento de Processos utilizando BPMN2.0 Prático e Avançado“ oferecido pela iProcess Education, onde abordamos de forma mais abrangente o tema.

DMN: uma notação para modelagem de decisões de negócios

Nos treinamentos sobre BPMN (Business Process Model and Notation) que temos ministrado na iProcess Education ensinamos que, diferentemente dos losangos utilizados nos fluxogramas, os gateways da BPMN não contêm em si mesmos a semântica de uma decisão. Eles servem, comparativamente, para desviar o fluxo dos processos de acordo com condições previamente estabelecidas ou identificadas, isto é, possuem a semântica de um desvio condicional no fluxo dos processos com base em uma decisão de negócio tomada anteriormente.

Decisões: fundamentais nos processos de negócios

Quando se trata de tarefas humanas (tarefas manuais ou tarefas de usuário) há a compreensão imediata de que uma ação ou decisão realizada por uma pessoa (através da conclusão de uma tarefa, do clique em um botão de um formulário eletrônico, etc) determinará o caminho a ser seguido pelo processo. Porém, quando nos referimos a tarefas automáticas, e em especial a tarefas de regras de negócio, essa compreensão não é tão óbvia.

BPMN disponibiliza uma atividade do tipo regra de negócio (Business Rule Task) para representar a comunicação de um processo automatizado com um motor de regras de negócios ou um BRMS (Business Rules Management System). Falando desta forma, pode-se ter a ideia de que a formalização de regras de negócio em um  BRMS é algo trivial ou de menor importância, que basta preencher um formulário ou cadastro de regras quando, na verdade, se trata de um aspecto essencial para os negócios.

Decisões de negócio: manuais ou automáticas?

As regras de negócio carregam as decisões do negócio, que são tomadas de acordo com modelos mentais e estratégias organizacionais e implementam uma lógica de negócios que orientam essas decisões. Por isso regras de negócio declaradas clara e corretamente, bem conectadas à lógica e à estratégia dos negócios e sendo compreensíveis por todos os interessados é de extrema relevância para o sucesso das organizações.

Durante muito tempo a definição das regras de negócio e sua lógica de decisão permaneceu sem o suporte de uma notação para modelagem que permitisse sua padronização, sua formalização e o gerenciamento dos modelos de decisão das organizações.

Modelo e Notação de Decisões – DMN

Devido ao crescimento das discussões sobre a necessidade das organizações dominarem a gestão de decisões de negócio, a Object Management Group (OMG) criou uma subcomissão com o objetivo de desenvolver esse campo de estudo e dessa iniciativa surgiu a especificação DMN (Decision Model and Notation). A especificação tem por objetivo fornecer uma notação para decisões compreensível para todos os públicos, incluindo o pessoal de negócios e técnicos, e é composta de cinco componentes principais:

  • uma notação no nível dos requisitos, que permite aos analistas de negócio identificarem requisitos iniciais de decisão;
  • uma notação no nível da lógica das decisões, que permite detalhar como as decisões serão tomadas;
  • uma linguagem de expressões chamada FEEL (Friendly Enough Expression Language – Linguagem de Expressões Suficientemente Amigável), que permite a expressão das diferentes lógicas de decisão de negócios;
  • níveis específicos de conformidade, que permitem a validação automática de modelos de decisão; e
  • um metamodelo de suporte, que permite a automatização de modelos de decisão e o intercâmbio desses modelos entre diferentes sistemas.

Um aspecto digno de nota sobre a DMN é que esta nova notação se conecta naturalmente aos modelos de processos de negócio, permitindo que sejam desenhados processos de negócio conscientes de decisão, ou seja, processos em que é feita a distinção entre as tarefas que executam o trabalho e aquelas que chegam a conclusões baseadas na lógica. Na figura abaixo, baseada do exemplo da própria especificação da DMN, a imagem da esquerda representa um diagrama de processo (modelado na notação BPMN) enquanto que na direita há diagramas de um modelo DMN relacionado.

Imagem com a relação entre diagramas DMN com diagramas BPMN

Relação entre DMN e BPMN

Ainda não há muitas ferramentas de DMN disponíveis (O diagrama e tabela da imagem foram criados usando um editor de textos), mas o artigo de Larry Goldberg e Barbara von Halle publicado no site ModernAnalyst.com aponta a participação de de importantes fabricantes de software na força tarefa para definição da notação. São citadas as empresas como IBM, Oracle e TIBCO, entre outras, e sua participação nesta iniciativa indica, segundo os autores do artigo, sua intenção em produzir software relacionado à DMN.

A notação DMN é um assunto que fará parte de nossas discussões nos próximos artigos, onde pretendemos apresentá-la em detalhes, e gostaríamos de convidá-lo a participar, desde já, dessas discussões através de seus comentários. A organização da qual você faz parte já utiliza modelos de decisão? Que notação é utilizada para representar esses modelos?

Webinares iProcess 2014 – Introdução à notação BPMN

Aos que participaram do nosso webinar ao vivo, um muito obrigado em nome do time da iProcess!

Aos que não puderam participar, esta é a oportunidade para conferir a gravação de nosso webinar de introdução a BPMN, apresentado pela Kelly Sganderla em 28/8/2014.

 

A apresentação também está disponível no slideshare:
http://pt.slideshare.net/iProcessBPMeSOA/webinares-iprocess-2014-introduo-a-notao-bpmn

Inscrições encerradas (evento finalizado).

PERGUNTAS & RESPOSTAS DO WEBINAR DE INTRODUÇÃO A BPMN

Confira abaixo as respostas para perguntas enviadas por nossos participantes durante o evento:

Pergunta: “Tenho dúvida quanto a utilizar os gatilhos de eventos no fluxo, conforme representado no exemplo, ou utilizá-los na borda das atividades. Os dois estão corretos?”
Resposta: Os dois tipos de eventos intermediários que você citou estão corretos, mas eles têm propósitos de uso diferentes. No artigo Um guia para iniciar estudos em BPMN (IV): Eventos Intermediários do nosso blog, falamos desses dois tipos de evento intermediário inclusive ilustrados com exemplos explicando o uso de cada um.

Pergunta: “Esses eventos de mensagem, como o caso do “Aviso de multa e novo prazo” é um simples envio de e-mail ou tem alguma interação direta com usuário?”
Resposta: O meio de comunicação usado para enviar a mensagem não é definido por BPMN. Pode ser um e-mail, mas pode ser também um SMS, pode ser um telefonema, um telegrama… a forma como essa comunicação acontece não é representado em BPMN. O que muitas vezes causa esta confusão é o símbolo do envelope, não é? Mas não implica em mensagem escrita nem em e-mail.
O que esse evento quer dizer é simplesmente que neste ponto do processo é realizada esta comunicação.

Pergunta: “O Repositório de dados pode ser a base de dados de um sistema que não seja de um BPMS?” 
Resposta: Pode ser sim. Pode ser também um arquivo, desses de metal com pastas. Não precisa ser necessariamente uma base de dados de sistema. Pode ser uma fonte de informações de qualquer forma física.

Pergunta: Posso usar os eventos de mensagem sem necessariamente ter que trocar mensagem com outras pools?
Resposta: Nós respondemos esta no webinar, mas só para ficar registrado: sim, os eventos de mensagem podem ser usados sem necessariamente demonstrar a outra pool para a qual a mensagem é enviada (ou de onde é recebida). Para BPMN isso não é obrigatório.

Pergunta: “Necessariamente o BPMN utiiliza raias para criação dos processos?”
Resposta: Não, o uso das raias não é obrigatório. A notação dá o poder de escolha a quem modela. Em geral, elas são adotadas como uma boa prática pois ajudam a identificar responsabilidades pela realização das atividades, mas um diagrama pode ser criado sem usar pools e lanes, e ainda assim será considerado um modelo válido.

Pergunta: “Já ouvi várias dúvidas quanto a um gateway seguido de outro gateway. Alguns dizem que tem que ter uma atividade entra cada gateway.”
Resposta: Um gateway seguido de outro gateway é um cenário que costumamos chamar informalmente de “gateways encadeados”. Em geral não é uma boa prática pois dificulta a leitura do diagrama. Mas em alguns casos, se você precisa verificar coisas diferentes, não tem problema nenhum.
Mas na notação BPMN não existe nenhuma regra explícita para isso.
Sobre ter atividades entre eles, também é um mito. O que acontece é que, quando o processo for executado e chegar ao gateway, para se decidir qual rota vai ser seguida, essa definição é feita com base em uma informação, então essa informação precisa existir anteriormente no processo. Mas não precisa ser necessariamente uma atividade imediatamente anterior ao gateway.
Alguns artigos do nosso blog que podem ser interessantes para ajudar a esclarecer dúvidas sobre gateways:
- Um guia para iniciar estudos em BPMN (II): Gateways
- BPMN: Modelando processos de negócio com elementos avançados (Parte III)
- Desmistificando o uso de gateways em BPMN.

Pergunta:  ”As raias sempre devem representar atores do processo, ou podem representar instâncias, como financeiro, expedição, etc?”
Resposta: A especificação não define como as raias devem ser nomeadas. Pela prática, o cenário que você citou é possível sim, mas deixa a responsabilidade sobre as atividades muito “aberta”. Dependendo do nível de detalhamento que você está dando ao processo, pode ser suficiente, em outros casos, pode ser necessário definir papéis mais específicos.

Pergunta: “Sempre que utilizado um gateway divergente, ao utilizar um convergente DEVE-SE utilizar o mesmo ou vai segundo a necessidade da sequência processo? Existe uma “regra” para esta ocasião?”
Resposta: Respondemos esta dúvida durante o webinar, mas para deixar registrado: em geral é uma boa prática usar o mesmo tipo de gateway para controlar o fluxo, mas não há uma regra específica para isso. Dependendo da necessidade de sequência do processo pode ser usada uma combinação diferente.

Pergunta: Qual a relação do BPMN com o CBOK?
Resposta: BPMN é apenas uma das notações existentes para se representar processos de negócio.
O BPM CBOK é um corpo comum de conhecimento sobre gestão de negócios, que aborda diversos aspectos desta  prática de gestão, como as atividades envolvidas no ciclo de melhoria contínua de processos, a governança de processos, tecnologia para suportar a gestão por processos entre outros aspectos. Na seção desta obra que fala sobre a modelagem de processos, as notações são citadas, entre elas o BPMN.
Esta é a relação entre eles :)

Pergunta: “Tenho algumas duvidas na utilização do evento intermediário, você poderia dar uma ênfase nele?”
Resposta: Infelizmente o tempo do webinar não nos permitiu falar muito profundamente sobre diversos elementos, já que o propósito era mesmo a introdução à notação. No blog temos alguns artigos que podem ajudar a esclarecer algumas de suas dúvidas sobre eventos intermediários, como os artigos Um guia para iniciar estudos em BPMN (IV): Eventos Intermediários e BPMN: Diferenças entre eventos de Link, Message e Signal.

Pergunta: “No gateway paralelo só posso ter 2 atividades/processos e não 3 como o exclusivo?”
Resposta: Respondemos esta dúvida durante o webinar, mas para deixar registrado: a notação BPMN permite criar tantos fluxos paralelos ou alternativos saindo de um gateway quantos sejam necessários – não há limitação.

Pergunta: “Objetos de dados na versão 2.0 são executáveis ou são como os elementos de artefatos?”
Resposta:  A princípio eles são como os elementos de artefatos, mas pode haver alguma solução de automação de processos que aproveite este elemento para torná-los executáveis. Até o momento, entretanto, das ferramentas que já avaliei, não vi nenhuma que implementasse esses elementos como executáveis.

Pergunta: “Em que casos o evento de timer fica localizado no objeto da atividade?”
Resposta: Diversos eventos intermediários podem ser usados no fluxo do processo ou na borda da atividade. O artigo Um guia para iniciar estudos em BPMN (IV): Eventos Intermediários apresenta alguns exemplos que podem esclarecer esta dúvida.

Pergunta: “Na hora de desenhar o processo, é correto já sinalizar alguma falha do processo para posterior correção?”
Resposta: Embora não exista na notação símbolos específicos para isto (lembra que comentei que BPMN não é uma metodologia?), esta pode ser uma boa prática a ser adotada na metodologia de trabalho de modelagem e análise dos processos da organização. Para isso, podem ser usadas as anotações, ou, dependendo da ferramenta utilizada, é possível adicionar símbolos específicos definidos pelo time de processos da organização para isto.

Pergunta: “Evento de mensagem: comunicação entre os processos: não uma ação entre eles, correto?”
Resposta: O evento de mensagem é uma forma de um processo comunicar a outro processo que ele deve realizar alguma ação, mas de fato as ações são modeladas como tarefas, e não como eventos.

Pergunta: “No exemplo de Elementos do diagrama de Processo, no final do fluxo existe um loop sobre a entrega da obra. Pode ser definido um X vezes que pode ser feito o loop para não ficarmos presos nesta etapa.”
Resposta: É possível sim, mas para isso precisaríamos modificar um pouco o diagrama. Poderíamos adicionar um gateway para verificar quantas vezes já foram repetidas estas ações ou colocar esse subconjunto de tarefa e eventos em um subprocesso com loop (mas daí já começamos a falar de um conhecimento mais avançado em BPMN que não abordamos neste webinar).

Pergunta:  ”Referente ao Gateway exclusivo: está ali ‘decisão exclusiva. Apenas uma opção é válida’. Significa que o processo só pode ter um caminho válido a seguir, porém temos que considerar as demais, correto? Pois a necessidade do cliente é esta. Corrija-me se estiver errado.”
Resposta:  Sim, essa é a ideia do gateway. Mapeamos nele todas as possibilidades que o negócio prevê. Por exemplo: se geralmente 80% dos casos segue por um caminho, ainda assim há 20% de casos que podem seguir o(s) outro(s) caminhos mapeados a partir do gateway, o que torna necessário prever isto no nosso diagrama.

Pergunta: “Qual o nome do autor e do livro?”
Resposta: Durante o webinar citei o livro BPMN Method & Style, do Bruce Silver.

Pergunta: “Sabes informar se o Bizagi tem os elementos de coreografia?”
Resposta: O Bizagi só possui os elementos para modelagem do diagrama de processo (diagrama de orquestração).

 

PERGUNTAS & RESPOSTAS SOBRE OS CURSOS

Pergunta: “Para fazer o “Dominando” há necessidade de fazer o introdutório?”
Resposta: O curso de Introdução a BPM e BPMN com Bizagi da iProcess {Education} não é pré-requisito para o curso Dominando o Mapeamento de Processos com BPMN 2.0, porém se você já tiver algum conhecimento prévio sobre a notação, tende a ter maior aproveitamento neste segundo curso.

Pergunta: “Vi que existe um curso para Mapeamento e outro para Modelagem. Qual a diferença prática entre o Mapeamento e a Modelagem?”
Resposta: O treinamento de Mapeamento de Processos tem foco na utilização da notação para criação de diagramas usando a notação BPMN. Já o curso de Modelagem de Processos de Negócio tem  como foco a atividade de modelagem no ciclo de melhoria de processos: técnicas, ferramentas e métodos de levantamento de informações para modelar o processo, documentação (que vai além do diagrama) do processo, como desdobrar a estratégia da organização na cadeia de valor de processos da organização e priorizar os processos para modelagem, análise e redesenho.

Pergunta: “No curso modelagem de processo inclui a notação?”
Resposta: Sim, no curso de Modelagem de Processos de Negócio temos algumas horas dedicadas ao estudo da notação, mas apenas do nível introdutório (nível de modelagem descritivo).

BPMN: Introdução ao Diagrama de Conversação

Com sua versão 2.0, oficialmente lançada em 2011, BPMN não apenas adicionou novos elementos ao diagrama de processo, mas também propôs dois tipos de diagramas complementares, que possibilitam obter perspectivas diferenciadas sobre o processo: o Diagrama de Coreografia e o Diagrama de Conversação.

O Diagrama de Coreografia apresenta uma visão bastante interessante da interação entre processos, especialmente em processos business-to-business, onde há diversas partes interessadas envolvidas. Ele abstrai as particularidades da lógica do processo mapeado no diagrama de orquestração (aquele que já conhecemos bem) e foca na sequência e as dependências envolvidas na troca de informações do processo com agentes externos. Esse diagrama já foi apresentado em nosso blog nos artigos: BPMN 2.0 – Novos Diagramas e Elementos: Introdução a Coreografia e Coreografia no detalhe.

Neste artigo, vamos falar sobre o Diagrama de Conversação.

Diagrama de Conversação (Conversation Diagram)

O Diagrama de Conversação tem o propósito de dar visibilidade sobre os participantes do domínio do processo. Neste diagrama, o foco não é a lógica do processo, mas a comunicação: quem são os participantes e sobre o quê eles “conversam”.

O Diagrama de Conversação pode ser facilmente extraído de um Diagrama de Processo.

Neste diagrama, os participantes são as pools. Todas elas são representadas como “black pools” (o fluxo do processo dentro delas não é visualizado), colocando o foco da atenção da modelagem na troca de mensagens entre elas.

As mensagens podem ser agrupadas por assunto, criando os nodos de conversação (conversation nodes).

Por exemplo:
Em nosso processo “Vender Livros via Web” (que está no nosso Guia de referência rápida BPMN 2.0), temos a Loja (que é quem executa este processo) e que se comunica com o Cliente e com a Editora.

Diagrama de Orquestração: Processo de Negócio "Vender Livros via Web"

Então neste processo, temos claramente três participantes: a Loja, o Cliente e a Editora (que pode ser mais de uma, já que o subprocesso “Encomendar obra” ocorre múltiplas vezes, enviando listas de títulos às diferentes editoras envolvidas no pedido com obras faltando em estoque).

Diagrama de Conversação: os participantes do processo do exemplo Vender Livros via Web

Com o Cliente, a Loja conversa sobre o pedido de livros, o pagamento do pedido de livros (envio do título de cobrança e confirmação de pagamento) e a entrega do pedido de livros (envio dos livros vendidos e confirmação de recebimento).

Com a(s) Editora(s), a Loja conversa sobre encomenda de títulos (lista de títulos e entrega da encomenda).

Essas “conversas” podem ser descritas detalhadamente, apresentando a troca de mensagens entre os participantes:

Ou agrupadas, reunindo as “conversas” por assunto usando os elementos de nó de conversação (conversation node), estes símbolos em formato de hexágono. Os nós de convesação são conectados aos participantes através de ligações de conversação (conversation link), que são linhas duplas conectando o nodo aos participantes da conversa.

Querendo-se, é possível subir mais ainda o nível da abstração da conversa, reunindo os nodos com temas em comum com um nó de sub-conversação (sub-conversation node), que possui um marcador [+] na base. No exemplo, podemos reunir as conversas entre cliente e livraria em um nó de sub-conversação de “Venda de livros”.

Cada um dos três diagramas acima são um mesmo Diagrama de Conversação, porém visualizado em níveis de detalhamento diferentes.

Para um processo tão simples como este, o Diagrama de Conversação pode não parecer uma ferramenta muito relevante. Mas considere um processo mais complexo, como por exemplo a aquisição de um imóvel, onde temos: o cliente, a construtora, o banco, as lojas de material para construção:

Diagrama de Conversação para o processo de negócio de construir e vender imóveis de uma construtora.

Este diagrama pode ser uma ótima ferramenta para alinhar entre os participantes que tipo de informação será trocada com quem no decorrer do processo.


Aprenda a utilizar todo o potencial da notação BPMN e seus três tipos de diagrama com nossos instrutores, em um curso repleto de exercícios e um laboratório prático de modelagem de um processo de negócio de ponta a ponta!
Confira já a agenda de cursos da iProcess Education e inscreva-se:
www.iprocesseducation.com.br/ipe04

Desmistificando tipos de tarefas em BPMN: Tarefas automáticas

No artigo anterior (Desmistificando tipos de tarefas em BPMN: Tarefa Abstrata, Tarefa de Usuário e Tarefa Manual) iniciamos uma série de três artigos sobre os tipos de tarefas em BPMN. Para facilitar o entendimento, estamos discutindo os os tipos de tarefa de acordo com seu propósito (essa divisão não é oficial):

Tarefas de execução de rotinas automáticas

Para representar situações em que rotinas que são executadas automaticamente no processo (em que seu acionamento é determinado pelo andamento do fluxo do processo, sem que haja uma pessoa para acioná-lo), BPMN sugere três tipos de tarefa: tarefa de serviço, tarefa de script e tarefa de regra de negócio:

Os tipos de tarefa automáticas: tarefa de serviço (service task), tarefa de script (script task) e tarefa de regra de negócio (business rule task)

De acordo com a especificação:

“Uma Service Task (tarefa de serviço) é uma tarefa que usa algum tipo de serviço, que pode ser um Web Service ou uma aplicação automatizada.” (pág 156)

“Uma Script Task (tarefa de script) é executada pelo motor de processos de negócio (business process engine). O modelador ou implementador define um script em uma linguagem que o motor de processos consegue interpretar. Quando a tarefa estiver pronta para iniciar, o motor de processos executará o script. Quando o script for concluído, a tarefa também será concluída.” (pag 162)

“Uma Business Rule Task (tarefa de regra de negócio) propicia um mecanismo para o processo para enviar informações a um Business Rules Engine (motor de regras de negócio) e obter o resultado do cálculo que o motor de regras pode prover. ” (pag 161)

 

Todas as três são utilizadas na modelagem quando temos um processo que está sendo automatizado (se o processo é executado manualmente, fora de um BPMS ou workflow, é necessário que haja uma atividade manual em que uma pessoa acione a execução de uma funcionalidade; portanto a tarefa em si é de uma pessoa).

 A diferença entre elas é que a tarefa de serviço (service task) aciona a operação de um sistema de informação externo com o qual o motor de processo se comunica (process engine) – que pode ser implementado através de tecnologias como webservices, RMI (Remote Method Invocation), EJB (Enterprise Java Beans), etc. Já a tarefa de script (script task) executa um trecho de código que a própria aplicação de motor de processos interpreta e executa (e cada fornecedor de produto pode definir sua linguagem de script própria). Por exemplo, a transformação de um tipo de dado em outro ou a realização de cálculos com os dados da instância do processo, são exemplos de tarefas de script.

A tarefa de regra de negócio (business rule task) comporta-se da mesma forma que a tarefa de serviço, porém possui o propósito específico de obter resultado da aplicação de uma determinada regra de negócio no processo (leia mais sobre regras de negócio e Business Rules Management no artigo Business Rules e a Dinâmica do Negócio).

Um exemplo de processo com tarefas automáticas de serviço, de tarefa e regra de negócio

No processo hipotético acima temos exemplos aplicados dos três tipos de tarefas automáticas.

  • A tarefa “Identificar prioridade do atendimento” é uma tarefa de regra de negócio, pois executa uma regra da organização (por exemplo: chamados de clientes com contas premium ou chamados que já tiveram uma visita técnica mas o problema não foi solucionado são tratadas como prioridade “emergência”, enquanto as demais são prioridade “normal”. Se a organização quiser mudar esta regra e incluir outros planos no atendimento de prioridade emergencial, pode modificar a regra de negócio sem impactar no processo).
  • Neste processo em que todos os chamados são originados com prioridade “normal”, a tarefa “Elevar prioridade do atendimento” é uma tarefa de script pois muda de “normal” para “emergência” uma informação do próprio processo, elevando a prioridade dos processos que passam por ela (sem precisar acessar outros sistemas).
  • A tarefa “Identificar técnico responsável” é uma tarefa de serviço pois acessa o sistema de localização da empresa identificando que técnico está mais próximo do endereço do cliente. Ela aciona um serviço deste sistema, e recebe como retorno a informação do técnico disponível.
  • A tarefa de serviço a seguir “Sinalizar sistema de chamados”, aciona um serviço do sistema usado pela empresa para enviar ao comunicador do técnico a nova chamada prioritária.
  • A tarefa de serviço “Agendar visita técnica” registra o chamado no sistema que libera a lista de clientes a serem visitados no dia pelos técnicos. Como é uma visita normal, ela é registrada de acordo com o agendamento realizado com o cliente na criação da ficha de atendimento.

Aprenda a dominar a notação BPMN utilizando as melhores práticas com nossos instrutores, em um curso repleto de exercícios e um laboratório prático de modelagem de um processo de negócio de ponta a ponta!
Confira já a agenda de cursos da iProcess Education e inscreva-se:
www.iprocesseducation.com.br/ipe04

Desmistificando tipos de tarefas em BPMN: Tarefa Abstrata, Tarefa de Usuário e Tarefa Manual

Em sua riqueza de elementos para a representação de processos de negócio, a notação BPMN traz uma classificação de tipos de tarefas.

Elas ajudam a identificar a forma como a tarefa deve ser executada:

Estes elementos e seus comportamentos esperados estão descritos na especificação BPMN (disponível em http://www.omg.org/spec/BPMN/Current). Apesar disto, a identificação de quando usar cada tipo de tarefa ainda é alvo de alguma ambiguidade.

Em uma série de três artigos, trataremos estes tipos de tarefas com mais detalhes para esclarecer as dúvidas comuns. Para facilitar o entendimento, trataremos os tipos de tarefa de acordo com seu propósito (essa divisão não é oficial):

Tarefa abstrata

A tarefa abstrata (abstract task) é a tarefa sem tipo específico.

Tarefa abstrata (abstract task)

Sobre ela, a especificação diz:

“Uma tarefa sem nenhum tipo de especificação é chamada tarefa abstrata (Abstract Task) (ela era referenciada como None Task em BPMN 1.2).” (pag. 154)

Ou seja, a tarefa abstrata (abstract task) pode ser utilizada em modelagens cujo tipo de tarefa ainda não está definido ou em casos onde a tipificação da tarefa simplesmente não se faz necessária. É o caso dos processos executados manualmente.

Um processo de negócio modelado com tarefas abstratas.

Tarefas de interação humana

Para representar tarefas cuja execução envolve a atuação de pessoas em um processo, BPMN sugere dois tipos de tarefa: a user task (tarefa de usuário) e a manual task (tarefa manual).

Tarefa manual (manual task) e Tarefa de usuário (user task)

O que a especificação diz sobre estes tipos de tarefa:

“Uma Tarefa de Usuário (User Task) é uma tarefa típica de “workflow” onde um ator humano desempenha a tarefa com a assistência de uma aplicação de software e é disponibilizada através de uma lista de de trabalho ou outra forma de gerenciamento semelhante. ” (pág 160)

“Uma Tarefa Manual (Manual Task) é uma tarefa que é esperada que seja executada sem o suporte de nenhuma aplicação de execução de processos de negócio ou outra aplicação. Um exemplo disso pode ser um técnico de telefonia instalando um telefone no endereço de um cliente.” (pág 161)

“10.3.4.1 Tarefas com o envolvimento humano
Em muitos fluxos de trabalho, o envolvimento humano é necessário para executar certas tarefas especificadas no modelo de fluxo de trabalho. BPMN especifica dois tipos de tarefas com o envolvimento humano, a Tarefa Manual (Manual Task) e a Tarefa de Usuário (User Task).
A tarefa de usuário é executada e gerenciada por um motor de execução de processos de negócio. Atributos relativos ao envolvimento humano, como as pessoas envolvidas e a renderização de interfaces de usuário (UI) podem ser especificados em grande detalhe.(…)
Uma tarefa manual é uma tarefa que não é gerenciada por qualquer mecanismo de processo de negócio. Ela pode ser considerada como uma tarefa não gerenciada, não gerenciada no sentido de que o motor de processos de negócio não acompanha o início e o fim de tal tarefa.
Um exemplo disso poderia ser uma instrução de papel como base para um técnico de telefonia instalar um telefone em um local do cliente.” (pág 165)

 

Ou seja, uma user task (tarefa de usuário) é a tarefa que é executada através de uma aplicação e gerenciada por uma lista de trabalho(1). Em outras palavras, é a tarefa realizada através de uma aplicação, como um BPMS (Business Process Management Suite), uma aplicação de workflow, uma ferramenta de gestão de cronograma ou qualquer outro sistema que apoie o controle do processo.

Já as tarefas manuais (manual task) são aquelas executadas no mundo físico, sem o controle por parte de uma aplicação.

Aqui há uma confusão comum na interpretação do “uso de uma aplicação”, inclusive replicada em literatura. Para entender claramente a diferença entre elas, é preciso compreender que o que define se uma tarefa é user ou manual task não é se usamos alguma ferramenta para executá-la, e sim se há um sistema controlando a sua execução.

Isto quer dizer que, se temos por exemplo um processo de venda de produtos que é todo executado manualmente, mas em uma determinada atividade uma planilha eletrônica é usada para calcular o valor a ser cobrado do cliente, e um e-mail é enviado ao cliente com o orçamento do produto, ainda assim (apesar de usar uma aplicação de planilha e o software de e-mail para o trabalho) esta será uma tarefa manual, pois não há controle nem gestão sobre quem faz, quando iniciou e quando concluiu a tarefa.

Mesmo utilizando ferramentas como planilha eletrônica e email, ainda assim a tarefa "Apresentar orçamento" neste processo é manual.

Numa modelagem de processo que não será automatizado, e que portanto são pessoas que lerão e interpretarão o modelo, não faz muito sentido essa diferenciação, já que as pessoas, ao lerem a documentação do processo, têm condições de interpretar o modelo mesmo que os tipos de tarefas não estejam esclarecidos.

Na modelagem para automatização, entretanto, isso é muito importante. A tarefa de usuário é aquela em que o processo deve aguardar que um usuário informe o resultado do trabalho, registrando que a mesma foi concluída para então dar seguimento ao fluxo do processo. Já sobre a tarefa manual o sistema não tem nenhum controle, então mesmo que ela seja incluída no modelo, ele “passará batido” por ela.

Por exemplo:
Considere novamente o processo de atendimento de chamado, no qual há uma atividade para um técnico de telefonia para realizar uma visita técnica ao cliente, e que este processo terá sua execução controlada por uma aplicação (por exemplo um BPMS).

Neste processo, podemos ter dois cenários:

Cenário 1: O Técnico acessa uma lista de tarefas, com todos os chamados a realizar, identifica o chamado que está executando e finaliza a tarefa. Com isso, o sistema identifica que a mesma foi concluída e segue o fluxo disponibilizando a próxima tarefa ao respectivo ator responsável. Neste caso, a tarefa está sendo controlada pelo sistema (seu início e fechamento), portanto é modelada como uma tarefa de usuário.

Cenário 2: O Técnico não acessa o sistema. Ele pode, por exemplo, receber ao início do dia uma lista impressa com todos os clientes a visitar. A cada visita, o cliente assina o papel confirmando que o atendimento foi realizado. Ao fim do dia, quando o técnico retorna para a empresa, ele entrega a lista ao Atendente, que então verifica se o atendimento foi realizado e registra no sistema o resultado do atendimento. Neste caso, a tarefa do técnico é modelada como uma tarefa manual, para que fique visível aos que olham o modelo em que momento o mesmo realiza seu trabalho (e que, do ponto de vista do processo de negócio, existe uma dependência da tarefa de "Verificar resultado do serviço" em relação à "Realizar visita técnica", mas o sistema não controla o início nem o fim do trabalho realizado.

Assim, concluímos que, na modelagem com a notação BPMN, o tipo de tarefa não é definido pelo uso de sistemas para realizá-la, e sim se há alguma aplicação sendo utilizada para controlá-la.

_______

(1) Processos podem ser controlados por aplicações de diferentes tipos. Isto já foi tema deste blog no artigo Gerenciando a execução de processos com (ou sem) um BPMS.

 


Aprenda a dominar a notação BPMN utilizando as melhores práticas com nossos instrutores, em um curso repleto de exercícios e um laboratório prático de modelagem de um processo de negócio de ponta a ponta!
Confira já a agenda de cursos da iProcess Education e inscreva-se:
www.iprocesseducation.com.br/ipe04

A diferença entre “desenhar” e “modelar” processos

Não basta saber usar um editor de textos para ser um bom escritor.
O mesmo se dá na relação entre uma ferramenta de modelagem e o designer de processos(1).

Pode parecer estranho começar um artigo com uma afirmativa como essa. Mas o fato é que muitas vezes já nos encontramos em conversas com pessoas envolvidas em iniciativas de processos com a expectativa que, se treinassem pessoas da empresa para usar alguma ferramenta para desenhar de processos (como o Bizagi, por exemplo), isso bastaria para que essas pessoas pudessem documentar os processos das suas áreas (e assim teriam modelados os processos da organização).

Mas criar um bom modelo de processo é como escrever um bom texto. Não basta apenas dominar o editor de textos e saber escrever as palavras, é preciso preocupar-se com a clareza do conteúdo – em como ele será interpretado por quem o lerá.

Designer de processos em ação.

O primeiro passo para uma boa escrita é conhecer e aplicar bem as regras gramaticais da linguagem usada. Uma vírgula fora do lugar pode mudar completamente o sentido de uma frase. Da mesma forma, um elemento BPMN aplicado sem a preocupação com as regras da sua especificação também pode levar a interpretações distintas dos leitores em relação à expectativa de quem fez a modelagem.

As definições da especificação BPMN funcionam como as regras gramaticais de um idioma. Se forem bem conhecidas por quem as usa podem ser relativamente fáceis de aplicar, já que são bastante claras. Elas definem como são os símbolos, como podem se conectar e o que significam.

Conhecer as regras de uso de um idioma ou de uma notação são apenas o primeiro passo para comunicar-se bem com quem lerá o produto do trabalho. As dúvidas mais frequentes geralmente estão relacionadas a como aplicá-las ao conteúdo que queremos transmitir.

Em uma história bem contada, a sequência de fatos, determinada pelo enredo, é fundamental para o seu entendimento. Em algumas situações, fatos podem ser contados em paralelo, em outros casos eles têm uma sequência que se for quebrada pode dificultar a compreensão ou mesmo gerar interpretações equivocadas.

Na modelagem de processos, a lógica do processo é o enredo. Ela se define tendo um evento que sinaliza o início da estrutura de precedência entre as atividades e regras de roteamento do fluxo, que podem apresentar cenários com sequências de atividades paralelas ou alternativas, até atingir o seu fim. É ela que determina como os elementos da notação devem ser usados para criar o diagrama do fluxo do processo. Toda a modelagem deve ter em vista garantir a integridade da lógica do processo.

Assim como a boa escrita, isto é fruto de uma habilidade desenvolvida com a prática. Esta habilidade se constrói:

  • desenhando processos,
  • tendo a sensibilidade de lê-lo sob a perspectiva do leitor,
  • validando – não apenas gramaticalmente mas também a lógica representada junto com as outras pessoas envolvidas
  • e discutindo a modelagem proposta com outros analistas, avaliando até mesmo outras alternativas de transmitir mais claramente a ideia do processo.

Esse trabalho envolve alguns cuidados que o designer de processos deve observar em suas modelagens se quiser apresentar resultados claros, objetivos e precisos na representação de processos:

  • Criar modelos limpos. Diagramas de processos devem primar pela interpretação fácil com olhar simples. Isto se obtém evitando-se desenhar linhas sobre linhas, cruzar linhas sobre as outras ou traçar conexões entre elementos muito distantes. Isso pode ser resolvido com o uso de elementos de links (mas use com parcimônia!) e alguma reorganização (avalie se as lanes onde os elementos que devem se conectar não podem ser aproximadas). Usar nomes breves e objetivos para eventos, gateways e atividades também ajudam a manter o diagrama limpo.
  • Aplicar boas práticas. Existem diversas práticas, que foram sendo agregadas por profissionais com experiência na modelagem de processos e que são recomendadas no uso da notação. Confiar nessas práticas pode facilitar o trabalho e ajudar na elaboração de diagramas eficazes na comunicação.
  • Usar a notação de forma padronizada. Padronizar a forma como usa a notação dá harmonia ao conteúdo representado, gerando conforto a quem lê e confiança de que o processo está bem modelado.
  • Modelar no grau de detalhamento apropriado. De acordo com o propósito da modelagem do processo, o diagrama requer uma representação em maior ou menor nível de detalhe. Algumas situações requerem um processo desenhado numa perspectiva superficial, suficiente para dar entendimento ao negócio, enquanto outras requerem detalhamento no nível de atividade da operação, ou mais além, em que todas as exceções do processo sejam previstas e tratadas. Compreender o grau de detalhamento esperado – e mantê-lo no decorrer de todo o fluxo modelado -, é um cuidado fundamental.

Encontre uma pessoa com habilidades de compreensão gramatical e boa escrita e você terá nela um excelente profissional para modelar seus processos. Desenvolva estas habilidades e você será esta pessoa.

_____
(1) De acordo com BPM CBOK v3 em português, “Designer de Processos” é o papel realizado por um membro da equipe de modelagem de processos cujo trabalho é desenhar novos processos e transformar processos de negócio. Tipicamente possui habilidades analíticas, criativas e de descrição visual e lógica dos passos de processos e na forma de organização do trabalho. Não é uma função, mas um papel, que pode ser realizado por um profissional específico ou mesmo pelo analista de processos ou de negócios.

BPMN: Uma atividade para mais de um participante do processo

Há uma questão recorrente na modelagem de processos relacionada à distribuição de atividades nas lanes de processo: como representar um trabalho sendo realizado por mais de uma pessoa?

Por exemplo:
Digamos que em um processo há uma reunião realizada entre o Diretor de Planejamento e o Diretor Financeiro, que recebem uma proposta de um analista e realizam uma reunião para avaliar sobre o investimento. A seguir, eles atuam na priorização das ações relacionadas ao investimento, e a partir desta priorização são realizadas outras ações.

Para essa situação em que há dois participantes envolvidos na realização de uma mesma tarefa, já vimos diagramas que tentam representar isso de algumas formas peculiares:

"Tentei demonstrar que as atividades são realizadas pelos dois usuários posicionando-as sobre o limite entre as duas lanes."

A abordagem acima é inadequada sob o ponto de vista de uso da notação BPMN e poderá gerar interpretações diferentes. Para a notação, uma atividade só pode estar associada a uma raia (lane), e mesmo que a ferramenta de criação do diagrama não aponte o problema na validação do processo, o fato é que internamente as atividades estão vinculadas a apenas uma lane. Isto está estabelecido na própria especificação da notação. Se a ferramenta utilizada dispõe de geração de relatório que lista quais tarefas estão relacionadas a quais lanes, essas tarefas só estarão associadas a um único participante.
Tem um outro problema ao se praticar o mapeamento desta forma: e se os investimentos tivessem que envolver também o Diretor de Tecnologia – como colocar as tarefas compartilhando pessoas de três raias?

Outra tentativa comum é a refletida no exemplo abaixo:

"Coloquei as tarefas em paralelo porque eles fazem a reunião ao mesmo tempo."

No diagrama acima, as regras de validação lógica do uso da notação também não apontariam problema, mas o processo ainda não estaria corretamente representado.

A interpretação que se deve ter no uso do gateway paralelo não é de que as atividades paralelizadas serão realizadas ao mesmo tempo, e sim que elas podem ser feitas em paralelo porque não há restrição de dependência entre elas. Assim, apesar de serem iguais no exemplo acima, cada tarefa tem sua execução própria, levando ao entendimento que cada um fará as atividades quando tiver disponibilidade. Por exemplo: digamos que o Diretor de Investimentos faça “Avaliar investimento” pela manhã e já siga para a próxima tarefa, enquanto o Diretor Financeiro só consiga iniciar a tarefa “Avaliar investimento” à tarde. O processo mapeado acima permite essa interpretação.

Se a ideia é de que os dois realizem juntos a tarefa “Avaliar investimento” e “Priorizar etapas do investimento”, recomendamos uma forma de mapear isto um pouco diferente:

Uma raia com um papel em grupo que abstrai os participantes e garante que as tarefas sejam realizadas em conjunto pelos envolvidos.

Nesta abordagem, criamos uma raia para um papel que abstrai um grupo (o  ”Comitê de Avaliação de Investimentos”), e atribuímos as atividades a ela. Na descrição da raia, ficam estabelecidas as regras usadas para definir quem são os participantes do comitê – que neste caso será formado pelos Diretores de Investimentos e Financeiro. Esta abordagem ainda possibilita que outros diretores possam se juntar ao comitê sem impactar no diagrama do processo, bastando apenas ajustar a descrição dos participantes do grupo.

Desmistificando o uso de gateways em BPMN

Existem duas questões relacionadas a BPMN que precisam ser consideradas na utilização da notação: as regras da especificação e a lógica do processo.

As regras da especificação são relativamente fáceis de aplicar já que são bastante claras. Elas definem como são os símbolos, como podem se conectar e o que significam. As dúvidas mais frequentes geralmente estão relacionadas a como aplicá-las para representar as particularidades da lógica do processo de negócio que estamos mapeando.

Recentemente recebemos algumas dúvidas de um leitor do nosso blog sobre a aplicação de gateways, cujas respostas compartilharemos aqui, guiados por esses dois aspectos e mais alguns cuidados de boas práticas.

1) Existe alguma restrição em começar um processo com um evento de inicio e logo depois um gateway?

Um diagrama BPMN de processo em que o primeiro elemento do processo após o início é um gateway.

Pela especificação não. O uso do gateway paralelo após o evento de início neste processo de exemplo enviado pelo leitor é perfeitamente aplicável. Qual seria a razão de se criar um impedimento a  tarefas realizadas em paralelo quando um processo inicie - o que na verdade pode representar um excelente ganho de desempenho no processo ao se reduzir a sua duração?

Entretantopode haver restrição no caso do uso de gateway baseado em dados, como o Inclusivo ou o Exclusivo. Mas é uma restrição lógica: como esses gateways testam um dado para determinar o roteamento do processo, a informação precisa ter sido gerada antes. Assim, na maior parte das vezes, antes do gateway será necessário uma atividade que forneça essa informação. Mas nem sempre. Por exemplo: se o processo começar com um evento de mensagem, pode-se presumir que a informação seja obtida da mensagem recebida ao iniciar o processo. Quando estamos modelando, precisamos pensar nisso.

Portanto, a restrição não é de regra de uso do elemento, mas está associada à lógica do processo mapeado.

 

2. Como fazer quando se deparar com vários gateways em sequência? É correto encadear gateway?

Um diagrama de processo em BPMN com gateways encadeados.

Também não há nenhuma regra restringindo o encadeamento de gateways, mas fazer isso pode tornar a leitura do diagrama mais complexa, além de serem mais elementos agregados no diagrama (quando ele começar a ficar grande, qualquer elemento a menos pode significar uma bela economia !)

A única observação que faço sobre este tipo de diagrama é lembrar que gateways não precisam ser binários (com apenas duas saídas). As melhores práticas de uso da notação recomendam inclusive que se evite utilizar perguntas na definição de gateways porque elas tendem a gerar resultados do tipo “Sim”/”Não”. Em vez disso, recomendamos usar uma regra avaliativa.

Por exemplo: digamos que uma tarefa de avaliação possa resultar em: aprovação, aprovação com restrições ou reprovação, e que cada resultado leve a uma sequência de ações diferentes no fluxo.

Em vez de usar um gateway “Aprovado?” que levaria a resultados “Sim” e “Não“, e então no caso de “Sim” incluir outro gateway que verifica se “Possui restrições?” (ou seja, dois gateways encadeados), poderíamos simplificar em um único gateway, que cuja regra poderia ser testar o “Resultado da avaliação“, com três saídas: “Aprovado“, “Aprovado com restrições” e “Reprovado“, cada uma direcionando ao fluxo de ações que devem se seguir. O exemplo abaixo ilustra os dois casos.

A mesma orientação poderia se aplicar ao exemplo enviado pelo leitor, mas como essa é uma questão associada à lógica do processo e as sequências que saem dos gateways não estão nomeadas, seria necessário avaliar o caso com mais cuidado.