Neste artigo, temos como objetivo demonstrar algumas das melhores práticas de modelagem BPMN. Esperamos que seja útil para o seu trabalho de modelagem.
Nomenclatura de Atividade:
- Uma prática difundida entre profissionais de processos é utilizar na nomenclatura de atividades verbos no infinitivo. O nome da atividade deve identificar a principal ação envolvida em sua execução. Ex: “Aprovar solicitação de Viagem”; “Emitir contrato de prestação de serviços”, etc.
Tipos de Atividades:
- Sempre que possível, procure utilizar os tipos de atividades da BPMN para distinguir entre tarefas manuais, humanas, serviços, etc:
Atualização: Para um melhor entendimento sobre os diferentes tipos de tarefas, veja estes artigos:
- Tarefa Abstrata, Tarefa de Usuário e Tarefa Manual
- Tarefas automáticas
- Tarefas de envio e recebimento
Nomenclatura das Lanes:
- As Lanes de um processo devem ser nomeadas observando-se o nível de granularidade. Por exemplo: caso o processo esteja sendo modelado a nível departamental, recomenda-se então que todas as lanes do processo sejam departamentos. Evite utilizar níveis de granularidade diferentes num mesmo modelo de processo, como por exemplo nomear uma lane como “Financeiro” (ou seja, um departamento) e nomear outra lane como “Analista de Compras” (ou seja, uma função/papel);
- Evite o uso de cargos. Cargos são funcionais, e muitas vezes um papel em um processo pode ser realizado por pessoas de cargos diferentes.
Envio e recebimento de mensagens:
- Procure padronizar, dentro de modelos relacionados, a forma utilizada para envio e recebimento de mensagens. Utilizar ou eventos intermediários do tipo message (catch/throw), ou tasks do tipo send e receive, não ambos ao mesmo tempo.
Gateways:
- Quando um gateway testa uma informação obtida na atividade imediatamente anterior, é apropriado posicioná-lo próximo à tarefa, na mesma lane;
- Não devem ser atribuídos a ações de tarefas (consultar informações, atualizar informações, etc). Devem ser utilizados apenas para representar a lógica de roteamento do processo, como demonstrado abaixo:
Forma inadequada:
Forma adequada:
Um início, muitos fins:
- Evite utilizar mais de um evento de início no processo;
- Utilize diversos eventos de fim, esclarecendo na nomenclatura de cada um o estado em que o processo encerrou.
Join e fork:
Os pontos de divergência e convergência no processo devem ser abertos e fechados aplicando a lógica apropriada.
Nem sempre fluxos em divergência são unificados novamente no diagrama. O que determina o fechamento dos gateways é a dependência entre os elementos do fluxo: se os passos seguintes ao processo possuem dependência em relação à execução de todos os elementos anteriores ao gateway.
Fluxo paralelo:
Decisão exclusiva:
Decisão inclusiva:
Simples, limpo e eficaz:
- Procure manter o processo simples e limpo, evitando cruzar conexões;
- Utilize eventos de link para continuar determinadas partes do processo que estejam no miolo e sejam complicadas de expor na página principal;
- Transforme conjuntos de atividades com o mesmo objetivo em subprocessos, hierarquizando o modelo;
- Utilize os artefatos de dados, anotações e grupos comedidamente.
5 Responses
Olá tudo bem?
Não entendi qual seria a segunda (tasks do tipo send e receive)
“Utilizar ou eventos intermediários do tipo message (catch/throw), ou tasks do tipo send e receive, não ambos ao mesmo tempo.”
Obrigado.
Olá Tadeu,
Se você envia uma mensagem para outro processo/sistema durante a execução do processo, e precisa depois aguardar a resposta do mesmo, existem basicamente 2 formas de fazer isso: utilizando eventos intermediários do tipo message (cath/throw) ou tasks do tipo send/receive.
A questão aqui é meramente de padronização. Nossa sugestão é que, num mesmo processo, você opte por apenas uma das formas de modelagem.
Ficou mais claro?
Att,
Carlos Eduardo Mortari
Segue abaixo URL com maiores detalhes sobre tasks do tipo send e receive:
https://wiki.bizagi.com/en/index.php?title=Activity:_User_and_Service_Task#Send_and_Receive_Task
Os títulos dos processos devem também utilizar verbos no infinitivo? Como nomear um “processo” dentro das melhores práticas de BPMN?
Olá Lorena, temos visto três abordagens principais entre as práticas adotadas no mercado:
I. Substantivação – alguns profissionais adotam nomes substantivos, por exemplo “Processo de Avaliação de Crédito”.
II. Verbos no infinitivo – alguns profissionais seguem na linha de que um processo é uma atividade e estendem a regra do uso de infinitivo também para o nome de processos, por exemplo “Processo Avaliar Crédito”.
III. Processos end-to-end – a adoção de sistemas ERP exigiu que algumas organizações estruturassem seus processos de ponta a ponta, o que levou muitas organizações a nomear seus processos neste conceito “de – até”. São mais comuns de ouvirmos eles em inglês por exemplo: “Procure to Pay” (de aquisição ao pagamento), “Order to Cash” (da compra ao pagamento), “Hire to Retire” (da contratação ao desligamento) e assim por diante.
O importante é que o nome do processo reflita de forma objetiva, mas também abrangente, qual é o trabalho realizado nele. Em termos de qual padrão adotar, entendo que todos acima são interessantes. Nossa recomendação entretanto é que se adote um padrão organizacional, em que todos os profissionais envolvidos em processos sigam a mesma regra de nomenclatura.