UML e BPMN: Mutuamente Exclusivas?
Nossa área parece ter uma 'quedinha' especial por polarizações. Algumas são necessárias (REST vs SOAP). Seriam menos chatas se fossem breves e mais produtivas (Open Source vs Software Proprietário ou Agile vs Classic). Mas alguns embates parecem não fazer nenhum sentido. Um que descobri só recentemente é o duelo UML ou BPMN. Taí uma discussão muito 'nada a ver', na minha opinião. Vamos aos fatos.
A UML, particularmente sua versão 2.0, é muito extensa? Muito genérica? Sim. Mas isso não é um acidente - um defeito. O ponto mais forte da UML, fora a coerência e legibilidade de seus artefatos, é a sua extensibilidade. Qualidade óbvia, já que ela é genérica. Tipo: "não faz mais do que a obrigação". Várias extensões foram desenvolvidas desde o nascimento da linguagem, no final da década passada. Uma delas é muito relevante para esta discussão: a EPBE, ou "Eriksson-Penker Business Extensions".
Apresentada por Hans-Erik Eriksson e Magnus Penker no livro "Business Modeling with UML" (Wiley, 2000), a EPBE cobre todos os aspectos da modelagem de negócios. Ou quase todos. É curioso, por exemplo, que ela não contemple diagramas de casos de uso. Na visão dos autores, tanto o diagrama de casos de uso quanto os diagramas de componentes e de distribuição (deployment) "são utilizados na análise e projeto de sistemas de informação, mas são pouco relevantes na modelagem de negócios". Por não conseguir dissociar a modelagem de negócios da engenharia de requisitos (falha minha), coloquei aquele "quase" acima.
Mas a EPBE realmente cobre o essencial na modelagem de negócios, estruturando-se em torno de 4 visões:
Muitos lembrarão: "ah, mas o debate verdadeiro é BPMN versus o Diagrama de Atividades da UML". De forma simples e direta: não há nada que eu faça em BPMN que eu não consiga representar em UML. Sim, com BPMN eu consigo diagramas mais 'bonitinhos', mas acho que este, definitivamente, não é o caso. Agora vamos elencar algumas coisas que conseguimos representar em UML e que não estão previstas na especificação BPMN:
Conclusão
Não é o caso de simplesmente dizer que BPMN não é útil. Suas boas idéias, particularmente o maior detalhamento de alguns elementos (só obtidos através do uso de estereótipos no Diagrama de Atividades), podem e devem ser aproveitadas. BPMN e UML estão sob os cuidados do OMG. Acredito que num futuro próximo veremos uma mixagem das duas especificações. Ou então a transformação de BPMN em uma extensão da UML. Algo fácil e natural.
Se BPEL é o seu sonho de consumo, saiba que já existem tradutores de diagramas de atividades para ela. Portanto, BPEL não é desculpa para a adoção da BPMN.
Por fim é arriscado mas necessário dizer que não podemos confundir Modelagem de Negócios com a Modelagem de Processos de Negócios. A primeira é uma disciplina muito mais ampla e complexa. Que é muito importante em projetos para desenvolvimento de sistemas. E nada menos do que VITAL em iniciativas SOA.
A UML, particularmente sua versão 2.0, é muito extensa? Muito genérica? Sim. Mas isso não é um acidente - um defeito. O ponto mais forte da UML, fora a coerência e legibilidade de seus artefatos, é a sua extensibilidade. Qualidade óbvia, já que ela é genérica. Tipo: "não faz mais do que a obrigação". Várias extensões foram desenvolvidas desde o nascimento da linguagem, no final da década passada. Uma delas é muito relevante para esta discussão: a EPBE, ou "Eriksson-Penker Business Extensions".
Apresentada por Hans-Erik Eriksson e Magnus Penker no livro "Business Modeling with UML" (Wiley, 2000), a EPBE cobre todos os aspectos da modelagem de negócios. Ou quase todos. É curioso, por exemplo, que ela não contemple diagramas de casos de uso. Na visão dos autores, tanto o diagrama de casos de uso quanto os diagramas de componentes e de distribuição (deployment) "são utilizados na análise e projeto de sistemas de informação, mas são pouco relevantes na modelagem de negócios". Por não conseguir dissociar a modelagem de negócios da engenharia de requisitos (falha minha), coloquei aquele "quase" acima.
Mas a EPBE realmente cobre o essencial na modelagem de negócios, estruturando-se em torno de 4 visões:
- Visão do Negócio: uma visão geral do negócio, destacando aspectos estratégicos e táticos (problemas a combater ou oportunidades a aproveitar);
- Processos de Negócio: mostra a dinâmica da organização, inclusive seu relacionamento com entidades externas.
- Estrutura do Negócio: apresenta a estrutura da organização, a divisão de recursos e a carteira de produtos e/ou serviços;
- Comportamento do Negócio: o comportamento individual de cada recurso ou processo no modelo do negócio.
Muitos lembrarão: "ah, mas o debate verdadeiro é BPMN versus o Diagrama de Atividades da UML". De forma simples e direta: não há nada que eu faça em BPMN que eu não consiga representar em UML. Sim, com BPMN eu consigo diagramas mais 'bonitinhos', mas acho que este, definitivamente, não é o caso. Agora vamos elencar algumas coisas que conseguimos representar em UML e que não estão previstas na especificação BPMN:
- Know-Why: um processo de negócio bem documentado justifica sua existência. Precisamos conhecer os objetivos e metas atrelados àquele dado processo. É fácil extender o diagrama de atividades para armazenar essas informações. Mas para que reinventar a roda? O Diagrama de Processos da EPBE já prevê e obriga a inserção desses atributos do processo.
- Métricas: apelando para a batida máxima, "não se gerencia o que não se mede". Pode não ser verdadeira para tudo mas, em se tratando de processos de negócio, a afirmação é mais que verdadeira. Cada tipo de processo pode ter um conjunto muito específico de medidas relevantes. Mas existem duas que deveriam estar em todo mapa de processo: Custo e Tempo de Ciclo. Para conhecer os custos de um processo é imperativo que mapeemos todos os recursos utilizados em sua realização. BPMN simplesmente ignora-os.
- Informação: na EPBE as informações são tratadas como um tipo de recurso que municia um processo. BPMN, como dito anteriormente, não se preocupa com recursos.
- Pessoas: ou stakeholders, também são recursos na notação EPBE.
- Requisitos: sim, a EPBE também não contempla artefatos para a captura e gerenciamento de requisitos. Mas ela, ao contrário da BPMN, não ignora sua existência. Há um diagrama muito útil na EPBE, o Diagrama de Linha de Montagem (Assembly Line - veja exemplo abaixo), que permite associar processos de negócios (diretamente de seu respectivo diagrama), com pacotes de objetos (ou serviços!) e casos de uso. Ou seja, consigo rastrear - navegar entre o domínio do problema e o domínio da solução. Com uma vantagem imbatível: usando a mesmíssima linguagem: UML.
Conclusão
Não é o caso de simplesmente dizer que BPMN não é útil. Suas boas idéias, particularmente o maior detalhamento de alguns elementos (só obtidos através do uso de estereótipos no Diagrama de Atividades), podem e devem ser aproveitadas. BPMN e UML estão sob os cuidados do OMG. Acredito que num futuro próximo veremos uma mixagem das duas especificações. Ou então a transformação de BPMN em uma extensão da UML. Algo fácil e natural.
Se BPEL é o seu sonho de consumo, saiba que já existem tradutores de diagramas de atividades para ela. Portanto, BPEL não é desculpa para a adoção da BPMN.
Por fim é arriscado mas necessário dizer que não podemos confundir Modelagem de Negócios com a Modelagem de Processos de Negócios. A primeira é uma disciplina muito mais ampla e complexa. Que é muito importante em projetos para desenvolvimento de sistemas. E nada menos do que VITAL em iniciativas SOA.
Marcadores: bpmn, modelagem_de_negócios, soa, suporte_a_projetos, uml
Formulador disse:
Visão do Negócio: uma visão geral do negócio, destacando aspectos estratégicos e táticos (problemas a combater ou oportunidades a aproveitar);
Como ficaria todo o argumento se no lugar dessa noção geral e difusa do que Visão do negócio estivesse a visão do objeto da produção tal como ela participa do nexo da produção, na mente do empreendedor, e como ela estã presente durante todas as operações, como objeto da produção, aquela 'coisa' substitutiva a um dos objetos presentes no nexo da produção.
UML e BPMN: mutuamente exclusivas
Não se trata de comparar melancias com jaboticabas, mas de comparar uma linguagem (na qual se exprime o nomes da frutas com um critério para nomear as frutas. Uma linguagem de um lado, e um critério de nomenclatura de outro.
Não podem ser coisas mutuamente exclusivas.