Como documentar funcionalmente o processo de negócio como requisito de software

Na automação de processos, os processos de negócio são definidos e otimizados a fim de serem executados sobre uma arquitetura de sistemas informatizada.

No artigo Benefícios da Automação de Processos do blog da iProcess, tratamos dos benefícios e vantagens da automação de processos, estabelecendo uma visão dos ganhos obtidos quando se automatiza um processo. Porém, alguns cuidados devem ser tomados para escolher um processo a ser automatizado e estabelecer o nível de detalhamento necessário do processo para tal, tendo como objetivo automatizar processos com tarefas que possam efetivamente demonstrar bons resultados. Em Estudo de Caso: Automatizar o processo (ou não)? Eis a questão! exploramos esta questão através de um estudo de caso.

As etapas de modelagem na transformação de um processo

Nos projetos de implementação de BPM, o ciclo BPM a ser seguido inclui a análise (AS IS) e o redesenho (TO BE) dos processos, antes de seguir para a etapa de implementação (TO DO). Desta forma, garante-se que o cenário atual do processo na organização foi adequadamente estudado e todas as necessidades de melhoria no processo foram devidamente contempladas.

O artigo BPMS: como as etapas do ciclo BPM geram segurança no processo automatizado aborda este tema, incluindo aí os riscos envolvidos em um projeto em que se parte diretamente para a etapa de implementação (TO DO), sem passar pelas demais. Isto porque é na etapa de TO BE, em que há a proposição de melhorias no processo e são definidos os requisitos de software que irão compor a solução automatizada. Já falamos sobre esta ligação no artigo O que BPM tem a ver com requisitos de software? Tudo!, enfatizando que os requisitos de software são identificados a partir do processo.

Documentando a modelagem do processo para automação (TO DO)

Passadas todas estas fases, chega a hora da implementação do processo. O processo e os requisitos de software complementares serão detalhados funcionalmente (TO DO) e implementados pela equipe de desenvolvimento. E aí entra em cena a Especificação Funcional do processo. Ela especifica o fluxo a ser automatizado no BPMS e sua estrutura de dados, regras para identificação de participantes e comportamento de cada componente.Resumidamente, a Especificação Funcional deve atender aos seguintes objetivos:

  • Concentrar as informações do processo de negócio necessárias para a automação do processo;
  • Utilizar linguagem que deve ser de fácil compreensão pelo público-alvo;
  • Fornecer informações suficientes para que o projetista possa desenvolver a especificação técnica do processo;
  • Servir de referência para o desenvolvimento e homologação da solução.

Temos encontrado, ao longo dos projetos de automação de processos em que a iProcess atua, alguns clientes que já possuem uma metodologia, utilizam ferramentas e templates para documentar processos automatizados, enquanto outros não possuem nada definido. Nas organizações que já tenham adotado uma metodologia de desenvolvimento com documentação funcional dos requisitos, é comum encontrarmos documentos como Casos de Uso, Especificações de Interface, Especificações de Serviço ou de Regras de Negócio. Nos projetos de automação de processos, é comum que os requisitos se estendam além da programação do fluxo no BPMS, envolvendo o desenvolvimento ou customização de componentes adicionais ao processo, como aplicações de apoio, cadastros de backoffice e serviços de integração com outros sistemas. Para estes requisitos, os documentos já adotados pela TI continuam sendo bastante apropriados. 

 Assim, a Especificação Funcional do Processo (o modelo TO DO) vem para complementar a documentação do sistema definindo funcionalmente o processo de negócio, e requer um detalhamento de como o fluxo do processo se comportará ao ser automatizado. São informações importantes neste modelo:

  • Diagrama do processo automatizado;
  • Modelo de dados do processo;
  • Identificação de usuários ou grupos de usuários participantes do processo (Papéis);
  • Formulários do Processo;
  • Especificação dos componentes do processo, que são eventos, tarefas humanas e automáticas, notificações/envios de email, controles de tempo, gateways, subprocessos, regras de negócio e sensores de indicadores;
  • Definições de interface para as atividades humanas;
  • Referências a serviços de outros sistemas;

Esta especificação deve ser realizada por um Analista de Processos e Sistemas, ou um analista de sistemas que tenha desenvolvido uma visão de processos, horizontal aos sistemas, e que conheça as capacidades de implementação do BPMS adotado pela empresa

O Analista de Processos e de Sistemas, pode encontrar alguma dificuldade em estabelecer a melhor forma de como escrever utilizando uma linguagem de fácil compreensão pelo usuário e ainda assim fornecer informações suficientes para que sirva de referência para a elaboração da especificação técnica e o posterior desenvolvimento da solução. Uma sugestão nesta situação é o alinhamento com os responsáveis pela aprovação do documento no cliente, para estabelecer qual será o nível de detalhamento da Especificação Funcional do processo, a fim de definir se haverá necessidade de utilizar documentos complementares mais técnicos para a equipe de desenvolvimento, ou em mais alto nível para a equipe de negócio.

Temos observado que, às vezes, o cliente opta por realizar uma “tradução” da especificação para a área de negócio ou absorver para si a aprovação do documento. Quanto mais precisa for a Especificação Funcional do processo, menos problemas de entendimento tendem a ocorrer entre a expectativa do cliente e o que está sendo desenvolvido. Isto porque as etapas de desenvolvimento e homologação dos processos vão utilizar estas informações, garantindo assim, que o que foi definido e aprovado pelo cliente seja entregue.

Cabe aqui salientar que a Especificação Funcional do processo, assim como de sistemas, não fica “congelada”, sem receber as atualizações que ocorrerem no escopo do projeto durante o seu ciclo de vida. Ajustes na documentação funcional podem ser necessários após a finalização da etapa de especificação funcional por diversos motivos e devem ser realizados, sempre que necessário, para que se mantenha a consistência entre o que foi especificado e o que foi desenvolvido. E neste caso, a gestão de mudanças do projeto é que tratará desta atualização.

Se este assunto lhe interessou, no nosso curso iPE03 – Modelagem de Processos para Automação, reservamos um capitulo inteiro para tratar deste assunto, inclusive com exercícios práticos.

Muito prazer, o CLIENTE! (Visão Outside in e Inside out)

Começamos com uma pergunta direta: QUEM É O CLIENTE?
Parece ser uma pergunta um tanto obvia, mas saber exatamente quem é (ou quem são) os seus clientes é fundamental para atender as suas necessidades.

Poderíamos afirmar que:

“Na perspectiva de BPM, cliente é somente aquele que se beneficia da geração de valor e está externo à organização.” (BPM CBOK 3.0, pag.47)

Mas, de uma forma geral, todos nós somos clientes, pessoas comuns que levantam pela manhã para trabalhar, que fazem compras no mercado, utilizam os serviços da rede bancária, que pagam contas, cidadãos que dependem do transporte público para chegar ao seu destino, ou seja, consumidores!

Todos nós, como cidadãos, por exemplo, somos clientes que dependem dos serviços públicos como o acesso à água e a luz, saneamento, limpeza pública e segurança.

Clientes que muitas vezes não têm as expectativas atendidas!

Ao mesmo tempo, quantas vezes, como cidadãos, somos questionados pelo prestador de serviços para saber o que achamos do serviço prestado?

Organizações estão empenhadas em oferecer o melhor valor agregado aos seus produtos e serviços, só que nesta tentativa, trabalham muito mais focados em otimizar e reduzir custos dos seus processos internos e esquecem de avaliar as expectativas dos consumidores destes produtos e serviços.
Assim, saber quem são seus clientes é o caminho para entender suas necessidades, expectativas e o que eles valorizam, e poder produzir e entregar aquilo que seus clientes esperam.

COMO ERA ANTES

Durante décadas organizações determinaram o que seus clientes necessitavam e definiam como seus produtos e serviços seriam disponibilizados. Até então, o cliente era pouco exigente. O foco era: aumento da eficiência na produção.

Esse cenário, de foco na otimização do processo em detrimento às expectativas do cliente, se percebe concretamente nesta célebre frase de Henry Ford, sobre a fabricação do modelo Ford T:

“O carro é disponível em qualquer cor, contanto que seja preto.”

O objetivo de Henry Ford era tornar o carro acessível a todos, aumentando a procura mas ao mesmo tempo reduzindo custos.

Conforme as empresas foram crescendo, foram surgindo novas oportunidades. As empresas foram criando novos planos de expansão e com isto os clientes começaram a impor o que queriam e como queriam. Sendo assim, as estruturas organizacionais e modelos de negócios começaram a tomar novas formas, mas persistia a visão de “dentro para fora”, ou seja, a busca pela eficiência na entrega de valor ao cliente.

OLHAR DE DENTRO PARA FORA OU DE FORA PARA DENTRO?

“Olhar de dentro para fora”: visão conhecida também por Inside out ou ainda por Foco NO Cliente.

É a visão sob o ponto de vista da organização. Se preocupa com o “de dentro”, com foco em seus produtos e serviços. É a organização que determina o que agrega valor para seus clientes e cria a cadeia de valor idealizado por Michel Porter.

Este modelo fazia sentido em sua época, onde a interação com o cliente não era algo comum, pois este ficava em segundo plano. A preocupação das organizações era em fazer as coisas certas. O foco era a eficiência, o controle de custos e a redução de erros.

Atualmente, as organizações estão focadas muito mais na eficácia, ao grau em que os resultados de uma organização correspondem às necessidades dos seus clientes.
Hoje a exigência está muito maior, principalmente no que se refere não apenas a qualidade ou preço dos produtos, mas principalmente ao atendimento real às suas necessidades.

“Olhar de fora para dentro”: visão conhecida também por Outside in ou ainda por Foco DO Cliente.

É a visão sob o ponto de vista do cliente, se preocupando com o que vem de fora, onde o foco é sempre o cliente. É o cliente que determina através de suas experiências aquilo que é importante para a empresa, o que gera valor para concepção dos seus produtos e serviços. A visão do cliente consiste em conhecer a organização pelo lado de fora, tem a ver com o valor percebido, se o cliente está ou não satisfeito.

O gerenciamento de processos consiste na experiência do cliente como ponto de partida para o desenho e implementação de processos. Os processos são desenhados em torno deste relacionamento do cliente com os produtos, serviços e pontos de contatos (momentos da verdade) que devem ser conhecidos pela organização para alcançar a real necessidade e satisfação de seus clientes.

Mas você pode estar se perguntando, como entender de fato as necessidades do cliente? Existe uma fórmula mágica para isto?

O que existe hoje são técnicas e métodos utilizados para “trazer o cliente” para análise e redesenho dos processos, através de coleta de informações como pesquisas de opinião, avaliação dos comentários e reclamações do SAC, comentários enviados por pessoas através de sites como o “Reclame aqui”, e até mesmo workshops e entrevistas envolvendo o cliente. Redesenho é um repensar sob a ótica do cliente, é uma nova visão do negócio. Isso é transformação (construir processos com foco do cliente).

Não se trata mais de apenas oferecer um produto para um cliente, mas de entender a sua real necessidade. O foco assim é a percepção de valor do cliente, o que ele acha que é importante. Esta experiência de consumo leva o cliente a participar da criação do processo ponta a ponta, e permite a organização identificar atividades, que pela visão de “dentro para fora” (inside out), não seriam identificadas.

Vejamos o exemplo da tão conhecida IBM. Empresa de 103 anos de vida, que já passou por altos e baixos em sua história e ainda está no topo das empresas de TI. Mas como explicar sua longevidade? Como ela pode estar viva e próspera em um setor caracterizado pela inovação e a mudança? Dois pontos nos chamam a atenção: a cultura e a mudança.


Thomas Watson
, fundador da IBM, criou sua empresa baseado em três crenças básicas. Achamos relevante destacar uma delas: “Prestar o melhor serviço ao Cliente”. Tinha por base a satisfação e desejo do cliente, ou seja, a crença é direcionada ao cliente e as suas necessidades.

O segundo ponto relevante e mais significativo foi à busca pela mudança, pela transformação.
Em 1991 foi apresentada como a “Nova IBM”, voltada para a visão do mercado atual e obcecada pela qualidade. Segundo a própria IBM, a mudança foi causada pelo aumento do nível de exigência dos seus clientes, o que gerou a necessidade de criar valor para seus clientes.

A IBM de hoje não se considera uma empresa de tecnologia, mas uma empresa que resolve business problems usando a tecnologia. Segundo a IBM, ela não vende “brocas”, vende ferramentas para produzir “buracos na parede”, a IBM é focada nos trabalhos que seus clientes precisam que sejam realizados.

Quem já assistiu o filme “Quero ser Grande” (Big, 1988) estrelado Tom Hanks, percebe uma ligação da história com a visão “outside in”.

No filme, Josh (Tom Hanks) se torna adulto da noite para o dia, e conhece o Sr. MacMillan, dono de uma empresa que fabrica brinquedos (naquela clássica cena do The Big Piano). Confira aqui a cena do filme.

O dono da empresa comenta com ele sua preocupação de que não estão obtendo boas vendas, e Josh acaba ganhando o emprego porque começa a expor para a empresa a visão do cliente (ele como criança em corpo de um adulto).

Com o foco do cliente, os produtos desenvolvidos pela empresa se tornam muito mais atraentes aos consumidores, e a empresa volta a gerar crescimento.

O foco hoje não pode ser mais o produto ou o lucro que este lhe proporciona, mas a experiência vivida pelo cliente ao consumi-lo. O cliente de hoje procura ser compreendido e ter suas expectativas atendidas. Para a organização fica a responsabilidade de conhecer seu cliente e entender porque ele procura pelo seu produto ou serviço. Conhecer o cliente e atender suas necessidades é um desafio, e deve ser encarado como uma grande oportunidade de crescimento para a empresa e para a geração de novas soluções inerentes ao mercado atual.

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

Métodos para levantamento de informações na Modelagem e Análise de Processos

Em projetos envolvendo modelagem e análise de processos de negócio é imprescindível que a equipe tenha a compreensão correta dos processos ponta-a-ponta da organização para uma visão precisa do negócio. Esta compreensão pode ser obtida com uma coleta de informações realizada ao longo do esforço de forma consistente, caso contrário alguma informação importante poderia faltar, e seria difícil fornecer uma visão clara do negócio.

Existem diversos métodos especializados para levantamento destas informações. Falaremos sobre isto em uma série de artigos, trazendo as diversas formas de captura de informações para a realização do trabalho de modelagem.

Neste artigo, iniciaremos falando dos métodos Pesquisa, Entrevista e Observação Direta.

PESQUISA

A pesquisa serve para obter o contexto inicial do processo, serve também para complementar o entendimento do negócio e para preencher algumas lacunas na documentação do processo que não foram obtidas por outros métodos.

Pode ser pesquisado todo o tipo de documento, desde formulários, manuais dos sistemas da empresa, políticas da organização, registros de auditorias, documentação de processos, descrições escritas das partes interessadas e autores do processo, etc.

Esforço: O empecilho fica por conta do tempo requerido para realizar estes levantamentos, que muitas vezes não é suficiente para conciliar diferenças de opinião e informações levantadas versus o trabalho realizado na prática.

ENTREVISTA

Entrevista é um “processo de comunicação fundamental entre pessoas que se caracteriza pela realização direta, face a face, que se estabelece entre o profissional e o usuário” (Ballestero-Alvarez, 1997).

A entrevista é um método muito utilizado para a coleta de informações. Ela pode ser realizada de forma individual ou em grupo, conduzida por um facilitador. Pode ser presencial, por telefone, conferência web ou e-mail.

Participantes: Devem ser entrevistados os integrantes do processo, que contribuem com informações sobre as atividades que executam, assim como seus líderes. Podem também ser pessoas responsáveis pelo desenho, execução e desempenho do processo, não esquecendo daqueles que fornecem entradas ou recebem saídas do processo.

Ponto de atenção: A realização da Entrevista (em grupo) é muitas vezes confundida com outro método, o Workshop.
A diferença básica destes dois métodos é que no caso da entrevista em grupo os participantes limitam-se em falar das suas atividades (seu papel no processo), é algo mais pontual. Por exemplo: Entrevistar três operadores de empilhadeira de um CD (Centro de Distribuição). Ambos operadores realizam atividades referentes a movimentação de porta pallets da área de armazenagem para a área de separação.

Já o Workshop  consiste em reunir diferentes pontos de vista sobre o processo com representantes de todos os papéis envolvidos para discutir o processo. Falaremos mais sobre este método em nosso próximo artigo sobre o assunto.

Vale ressaltar que nada impede que outros métodos sejam aplicados juntamente com a entrevista, servindo assim como complemento para coleta de informações não obtidas com esta técnica.

Perfil do entrevistado: A avaliação do perfil do entrevistado é crucial para uma coleta consistente, portanto antes da escolha do entrevistado, verifique seu nível de atuação dentro da empresa e se o seu papel condiz com o nível de informação exigida.
Por exemplo: Analista marca uma entrevista com o Gestor do Centro de Distribuição para mapear atividades operacionais do setor de coleta de encabidados da sua unidade. Neste caso, o que poderia dar errado? Possivelmente o gestor simplificará as atividades operacionais, e com isto detalhes das atividades poderão ser perdidos, pois só quem executa é que conhece as atividades e muitos problemas que hoje acontecem não serão relatados.
Desta forma, concluímos que a escolha pelo gestor não seria a mais apropriada, pois a definição e manutenção de procedimentos de nível operacional fica em posse do auxiliar de operação, além é claro daqueles detalhes práticos, tarefas e passos executados no dia-a-dia que não são documentados e não passam pelo conhecimento do gestor.

Esforço: A entrevista pode exigir um grande esforço do analista para obter o grau de detalhamento satisfatório, isso deve-se a forte dependência das informações fornecidas pelos entrevistados. Esta dinâmica pode ser ineficiente caso o entrevistado não compartilhe, por algum motivo, as informações de como suas atividades são executadas de verdade. Os motivos são diversos, desde medo do fracasso e reprovação, até o medo da mudança (do novo) ou ter que começar a  fazer diferente de como é realizado hoje (este é um medo cultural). Além disto, a entrevista exige que os entrevistados parem as suas atividades, o que pode trazer dificuldades de agenda.

OBSERVAÇÃO DIRETA

Segundo Lakatos & Marconi (1992), a observação direta intensiva é um tipo de atividade que “[...] utiliza os sentidos na obtenção de determinados aspectos da realidade. Não consiste apenas em ver e ouvir, mas também examinar fatos ou fenômenos que se deseja estudar”.

Observação direta é um método que pode ser definido como um acompanhamento presencial do processo a ser modelado que sujeita o pesquisador a um contato mais direto com a realidade.

Este método auxilia na identificação de evidências revelando comportamentos, atividades e tarefas difíceis de serem lembradas por outras técnicas. Muito eficiente no diagnóstico de oscilações e desvios que ocorrem no dia-a-dia do trabalho.

Participantes: A escolha correta do executor do processo deve representar o nível de desempenho típico para executores daquele processo. Este executor deve entender o impacto de suas tarefas no resultado final do processo ponta-a-ponta, ter uma compreensão (uma visão) do todo e ter critérios para entender se o desempenho de suas atividades são satisfatórias.

Esforço: Para que o observador possa capturar informações consistentes com um grau de detalhamento satisfatório, deve ser levado em conta uma variedade grande de execuções de processos, observação de diversos grupos de executores e locais. Este esforço exige tempo e esforço, o que pode não ser possível em determinados projetos.

Riscos: A presença do observador pode provocar alterações na forma como os atores executam suas atividades, acabando com a naturalidade dos mesmos. Com isto, os atores ao serem observados realizam suas atividades da forma como aprenderam e não como realmente realizam no seu dia-a-dia. Este cenário pode gerar uma visão distorcida, criando falsas impressões da realidade e impactando de forma direta no resultado do processo.

Alguns cuidados podem ser tomados para que este tipo de problema não venha ocorrer, como dar as condições e tempo necessário para que o executor do processo se sinta confortável. Outra solução é realizar um comparativo dos resultados obtidos na observação com resultados anteriores registrados, garantindo assim que o trabalho realizado pelo observador represente a rotina diária do ator do processo.

Em nosso próximo artigo sobre o assunto continuaremos falando dos métodos especializados para levantamento e coleta de informações.
Confira: Métodos para levantamento de informações na Modelagem e Análise de Processos – Parte 2.

 


Conheça mais sobre estas e outras atividades relacionadas à modelagem de processos no curso de Modelagem de Processos de Negócio da iProcess Education.

 

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

Modelagem de Processos de Negócio: Diferenças entre diagrama, mapa e modelo de processos

Quantas vezes você já se referiu ou ouviu pessoas se referirem a um mesmo desenho de processo como sendo um diagrama de processo ou mapa de processo ou ainda, como um modelo de processo?

Este é um assunto controverso, principalmente para pessoas que estão começando em projetos que envolvem iniciativas de processos de negócio ou iniciando o estudo de BPM.

Dúvida comum que é esclarecida em nosso curso de Modelagem de Processos de Negócio (iPE01). Constatamos que os termos diagrama, mapa e modelo de processos são utilizados, por muitas vezes, de forma errônea, como sinônimos, porém eles na verdade tem diferentes propósitos e aplicações.

Falaremos neste artigo sobre os três níveis de modelagem (diagrama, mapa e modelo), as diferenças em seus desenhos, no nível de detalhamento e utilidade de cada um.

Diagrama, mapa e modelo são três níveis de “representação” de processos.

Estes três níveis de representação de processos diferem-se em níveis de abstração, informação, utilidade, precisão, complexidade, padronização de elementos do fluxo, evolução e amadurecimento do desenho proposto.

diagrama, mapa e modelo de processos

Fazendo uma analogia com mapa geográfico, podemos dizer que o diagrama de processo demonstra a rota que é realizada em uma visão simplificada, com o trajeto percorrido, evidenciando os principais pontos de referência, o local de origem e destino. O mapa do processo apresenta a rota de forma mais detalhada, com elementos como nome de avenidas, ruas, principais pontos de referências, opções de rotas alternativas, trajeto e tempo estimado para cada rota. O modelo de processo apresenta a rota de forma mais completa e precisa, descrevendo a situação atual do trânsito, rota de transporte público, clima na região da rota, além de fotos das avenidas e ruas.

O Diagrama é uma representação inicial do processo. Ele demonstra o fluxo básico focando as principais atividades. Não trata exceções ou falhas no processo.

Utilizado para capturas rápidas no processo, por isto não é muito preciso.
Ajuda a obter entendimento rápido das principais atividades, representando ideias simples em um contexto alto nível.

Esta representação inicial do processo pode significar várias coisas. O diagrama pode representar um macroprocesso organizacional, por exemplo, como também se tratar de apenas um esboço (versão inicial do processo) de uma primeira avaliação.

diagrama de processo

Em um primeiro momento busca-se conhecer os processos identificando as atividades chave. Esta é uma das técnicas mais utilizadas para conhecer os processos organizacionais, conhecida como abordagem top-down, em uma visão de macroprocessos (visão interfuncional) até chegar aos processos operacionais.

Em uma primeira versão, o processo muitas vezes não recebe as informações necessárias para partir diretamente para um nível de mapa ou modelo. Fatores como a precisão e nível de detalhamento influenciam a forma como o processo é modelado. A precisão varia de acordo com a profundidade em que se avalia cada aspecto do processo e suas atividades, e aumenta de acordo com o número de pessoas entrevistadas das áreas que fazem parte dos processos.

O nível de detalhe define o quanto cada processo, sub-processo, atividades, tarefas, procedimentos, atributo ou aspecto é descrito.

O mapa é uma evolução do diagrama, acrescentado de atores, eventos, regras, resultados e um detalhamento do processo. Ampliada para uma visão mais detalhada, o mapa fornece informações de maior precisão do desenho do processo.

Neste nível as atividades do processo e seus objetivos estão mais claros. Foram identificadas as responsabilidades atribuídas ao longo do processo. Isto se deve aos métodos de levantamento de informações utilizadas pela equipe envolvida na iniciativa de BPM.

Através de pesquisas a equipe obteve um entendimento inicial, e segue para as entrevistas com os envolvidos no processo (donos de processos, clientes, fornecedores, pessoas que trabalham no processo, etc). Esta etapa é de grande importância para identificação das regras, validações, caminhos de exceções, papéis e detalhamento de atividades.

Existem diversos métodos para levantamento de informações, como workshops, conferências, observações diretas, etc. Abordaremos este assunto em um próximo post.

A escolha do nível de representação de processos dependerá do propósito da modelagem, em muitos casos, o diagrama ou mapa já são suficientes para representar o processo.

O modelo é a versão final da evolução do processo. Esta representação traz um alto grau de precisão e detalhamento do processo.

Uma grande vantagem é a capacidade de execução do processo através de simulações. Estas simulações geram informações que acercam o desempenho do processo, úteis para analisar/validar a execução do processo.

Este nível de execução requer uma descrição detalhada dos atributos do processo, descrevendo propriedades e características das entradas/saídas, procedimentos/passos, recursos, custos, alocação, simulação, parâmetros de duração, etc. Estes atributos podem ser classificados em categorias e sua documentação varia de acordo com o objetivo da modelagem realizada.

A partir do modelo é possível executar as próximas etapas do ciclo de gestão por processos, como a análise, redesenho, reengenharia, melhoria continua e medição do processo.

Você se interessou pelo assunto?

A área de conhecimento de modelagem de processos fornece o entendimento dos propósitos, benefícios, habilidades e técnicas e é muito utilizada pelas organizações para conhecer, documentar e melhorar processos.
Este tema é explorado com mais profundidade em nosso curso de Modelagem de Processos de Negócio, onde abordamos de forma mais abrangente o tema. http://www.iprocesseducation.com.br/ipe01.html, oferecido pela iProcess Education.

 

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.