Pular para o conteúdo principal

Modelagem de processos utilizando BPMN: Use as pools da forma correta [a seu favor]

Eu gostaria de ter mais tempo para escrever sobre isso. Mas o tempo urge e ultimamente tenho recebido muitas dúvidas sobre isso.

Se você se questiona se deve ou não utilizar BPMN para representar os seus processos, então pode parar por aqui. Se você continuar a ler este texto, vou inferir que você é daqueles que já entendeu a importância de ter uma notação padrão para representar as coisas, e BPMN, mesmo não sendo perfeita, é o padrão para descrever processos. Caso você deseje aprofundar-se no assunto, sugiro ir direto à especificação da notação, que considero bastante clara. No site da OMG ela está livremente disponível. Outro documento muito útil é o BPMN 2.0 by Example, também disponível no site da OMG. Existem alguns livros, mas se você está começando não recomendo nenhum.

A grande dúvida de muitos usuários da notação é sobre como e quando utilizar as pools e swimlanes. Vou direto ao ponto. Pool NÃO é para identificar processo. Podemos ter diversas pools em um mesmo diagrama e mesmo assim ali só teremos UM processo. Pool é para identificar participantes. Só lembrando que um participante pode ser um papel ou até mesmo uma unidade organizacional, tal como um departamento. Já o uso da swimlane é livre. Você pode utilizar swimlanes apenas para organizar melhor as atividades de um mesmo participante. Ou pode utilizar swimlanes para representar diferentes participantes dentro de uma mesma unidade organizacional (pool). A questão é quando usar mais de um pool ou usar swimlanes. A resposta é simples. Utilize swimlanes dentro da mesma pool para representar os participantes que REALMENTE fazem parte do processo. Se o participante não faz parte do processo, represente ele em uma pool separada, ou seja, utilizando um diagrama de colaboração. Pode ser um pool black-box, por exemplo. A resposta, como acabamos de ver, é simples. O problema é que a maioria esmagadora das pessoas tem uma enorme dificuldade em perceber quem realmente faz parte do processo e quem não faz [apesar de estarem relacionados].

Bom, saber quem realmente faz parte do processo não é simples mas é fácil. Os participantes que realmente fazem parte do processo só podem ser de dois tipos. O primeiro tipo são aqueles que executam atividades nas quais se produz alguma saída que será utilizada em outra atividade do processo, ou no próprio encerramento (no caso de produtos finais), ou que vai servir de insumo (entrada) para a transformação que será realizada em outra atividade posterior. O segundo tipo são aqueles participantes que executam atividades de transformação, com base em insumos recebidos de uma atividade anterior, mas cuja saída não necessariamente vai ser usada como insumo em uma atividade posterior (no caso de subprodutos, ou produtos não principais). Se o participante não executa nenhuma atividade de transformação baseada em um insumo recebido, nem é responsável pela produção de algo que servirá insumo para uma atividade seguinte, então ele NÃO participa realmente do processo. Esse participante pode até ter algum tipo de relação (colaboração) com o processo, mas ele definitivamente não contribui de forma significativa para o produto final DAQUELE processo. É o que podemos chamar para fins didáticos de "participante coadjuvante". É como se aquele participante apenas "comendo pelas beiradas" do processo.

Um exemplo típico é o processo "Entregar pizza" de uma pizzaria qualquer. Vamos definir as fronteiras deste processo: Ele começa com o pedido do cliente e termina com a pizza entregue. O cliente que pede a pizza, por mais que seja importante para o processo, não é responsável sequer por um grão de farinha de trigo da pizza entregue. Não há nada fornecido pelo cliente que tenha sido LITERALMENTE transformado para fazer parte da pizza finalmente entregue. Você pode até dizer que o dinheiro do cliente foi usado para comprar os ingredientes da pizza. Mas a realidade não é exatamente assim. Note que o processo é instanciado para CADA pedido. E em cada pedido o dinheiro do cliente só é recebido ao final do processo. Logo não há que se falar que o dinheiro dele foi "transformado" na pizza, pois isso de fato não ocorreu naquela instância do processo. Na verdade o dinheiro do cliente foi guardado para ser usado em outro processo, talvez um processo "Realizar compras da pizzaria". Note que o processo nada mais é do que uma representação da vida real (a dificuldade das pessoas é justamente perceber a realidade; bons analistas de processos conseguem perceber bem a realidade). Feitos esses esclarecimentos, a melhor forma de representar o cliente, no caso do processo "Entregar pizza", é em uma pool separada, em um diagrama de colaboração, no qual o cliente interage com os participantes da pool principal apenas por meio de comunicação. Essa é a forma mais adequada de representar o processo. E isso tem que ser assim para o seu próprio bem. Ao incluir o cliente como participante REAL do processo, você perceberá que terá que fazer uma série de gambiarras na notação para representar corretamente o processo. Vão aparecer gateways, inícios e fins desnecessários. O artifício da comunicação, muito bem previsto pela notação, nos ajuda justamente a representar o processo como eles realmente são, de forma simples, muitas vezes apenas utilizando simples comunicação entre participantes de diferentes pools. Simples assim. O processo é um só, mas colocar o participante em uma pool diferente significa dizer que o papel dele, DO PONTO DE VISTA DAQUELE PROCESSO, é assessório, ou seja, ele é um participante coadjuvante. Eu poderia dar aqui mil e um exemplos desse tipo de situação. É claro que se você estiver modelando um processo chamado "Fazer-tudo-dentro-da-organização-e-mais-um-pouco", praticamente todos os seus participantes estarão na mesma pool (garanto que você terá problemas com fornecedores e clientes). Mas não é esse o caso quando trabalhamos com modelagem de processos dentro de uma organização. Geralmente os processos são modelados um a um. Até porque, em uma empresa, várias coisas acontecem ao mesmo tempo e, portanto, deve ser possível instanciar diversos processos ao mesmo. E foco em um processo é vital para a correta modelagem.

Vale ressaltar que, apesar do que eu acabei de dizer aqui, não existe certo ou errado desde que você esteja utilizando corretamente a notação. Então, se você prefere inserir um participante coadjuvante dentro da pool principal, a decisão é sua. Mas você vai perceber que não é a forma mais adequada e que o diagrama vai ficar muito mais complexo (para não dizer sujo). Linha e seta é para representar movimentação de entradas e saídas entre atividades interdependentes. Comunicação precisa ser representada pela notação de comunicação (ora bolas, é para isso que ela serve), ou seja, a linha tracejada [e seta] (fluxo de mensagens, não de insumos reais que serão transformadas naquele processo em foco). Uma coisa é uma coisa, outra coisa é outra coisa. Processo é uma sequência de atividades para transformar entradas em saídas. O objetivo de todo processo são as saídas finais (aquelas que não são mais transformadas). Se qualquer participante não colabora de forma direta para esse objetivo (nem que seja com um "grão de farinha"), então ele NÃO faz parte realmente do processo. Coloque-o onde ele realmente merece: OUTRA POOL!

Comentários

Samuel Diniz disse…
Este comentário foi removido pelo autor.
Samuel Diniz disse…
Este artigo do Dave defende também a utilização de Pools para representar Participantes e não processos.

Postagens mais visitadas deste blog

Lições aprendidas durante a pandemia de Covid-19

Até os países mais desenvolvidos não estavam preparados para lidar com uma pandemia. Ou seja, nesse sentido, não há muito para onde correr. E também instituições sólidas, na área científica, médica e sanitária, também não estavam preparadas para lidar com uma pandemia.  O único setor que estava preparado, e inclusive mostrou muita competência, para lidar com a pandemia foi o setor farmacêutico privado. E isso por uma razão muito simples: eles são da iniciativa privada. Quando existe interesse, em geral econômico, alguns problemas são resolvidos muito mais rapidamente do que normalmente acontece. Muitas pessoas preferem acreditar em qualquer notícia do que pesquisar informações em fontes confiáveis. Quando o assunto é doença, máscara facial simples não protege quem a usa. Máscara protege os outros de quem usa. Então não adianta usar máscara para se proteger, se no mesmo ambiente outros não estão usando máscara. Uma máscara PFF2 é melhor do que uma máscara simples, mas ainda assim a prot

Reforma de um apartamento antigo - Lições aprendidas

Há cerca de 6 meses conclui a reforma de um apartamento antigo aqui em Brasília, DF. Foi a minha primeira reforma e, obviamente, cometi diversos erros e me arrependi de várias decisões. Seguem algumas lições aprendidas que talvez possam te ajudar a tomar boas decisões. 1. Divida o projeto arquitetônico em duas fases: primeiro a demolição, depois o projeto propriamente dito Contratar um arquiteto é essencial. Mas em se tratando de uma reforma, ainda mais de um apartamento, surpresas podem ocorrer. Mesmo que o arquiteto use um detector de pilares, vigas, colunas de encanamento do prédio etc... ainda sim podem haver surpresas. Por isso, é melhor separar o projeto em duas fases. Primeiro, já tendo alguma ideia do que você pretende fazer, peça para o arquiteto um projeto de demolição. E contrate uma equipe só para essa fase. Vai sair mais caro contratar só a demolição separada do resto? Provavelmente. Mas a tranquilidade que você terá durante a execução da segunda fase não tem preço.

Não compre o Amazon Echo ou Echo Dot se você estiver no Brasil

Nos EUA, o Amazon Echo (ou Echo Dot) é um dispositivo familiar. Uma vez instalado e configurado, vários membros da família podem utilizar o dispositivo para auxiliar em tarefas diversas. Isso é possível graças ao recurso chamado "household", em que o usuário "proprietário" do dispositivo (ou seja, aquele que registrou o dispositivo na sua conta da Amazon), pode convidar outros membros da família. Daí os demais membros da família podem acessar suas contas e realizar diversas funções. Ocorre que no Brasil, e em diversos outros países, esse recurso simplesmente não está disponível. Sequer a opção para configurá-lo aparece no menu de opções do aplicativo da Alexa, nem no site Amazon.com.br. Por isso, o Echo acaba se tornando um dispositivo pessoal, de pouca utilidade para os demais membros da família. E nem adianta comprar outro Echo e colocar do lado, já que os dois vão atender quando alguém falar "Alexa" e vão começar a bater cabeça um com o outro, ou falar