quinta-feira, 15 de dezembro de 2016

Decisões como dados dinâmicos - Um caso prático (final)

Postagem anterior desta série

 

Conclusão

Com esta postagem chegamos ao final desta série de postagens, em que discutimos um caso (praticamente) real de modelagem de decisão, usando para isto as regras publicadas pela Polícia Federal para conferência da documentação necessária para solicitação de Passaporte para brasileiros. Devido a questões de tempo e espaço, não foi possível modelar todas as regras (como prometido inicialmente), mas creio que o que foi modelado pode dar uma boa ideia do processo de modelagem. Para concluir, vou fazer alguns comentários e pontuar algumas ocorrências relativas a este esforço de modelagem.

A modelagem de decisões e a modelagem de dados

Como evidenciado durante o processo de modelagem apresentado, a modelagem de decisões depende fundamentalmente de um modelo de dados mínimo, mas muito importante: o glossário. Uma vez que a modelagem de decisões pretende ser amigável para o pessoal de negócios, o glossário não precisa (e não deve) se submeter ao rigor associado à tecnologia de implementação do modelo, ou seja, é um modelo de dados destinado ao pessoal de negócios, e não ao pessoal técnico. Isto significa que o glossário é simples, e precisa de poucas informações: o nome (de negócio) do dado, seu tipo, o domínio de valores (valores possíveis/permitidos) e, opcionalmente, uma descrição detalhada do seu significado e conteúdo.

Parece pouco, mas o processo de construção e definição das entradas do glossário exige o completo envolvimento do pessoal de negócios, desde a determinação do nome do dado (o que significa resolver conflitos, como o mesmo dado ser conhecido por nomes diferentes, ou o mesmo nome ser usado para dados diferentes), até a correta descrição do seu significado. Longe dos aspectos técnicos que tornam os modelos de dados tradicionais incompreensíveis para o pessoal de negócios, o glossário é facilmente adotado pela comunidade de negócios, e permite que a "propriedade" dos dados seja realmente assumida por aqueles que são os verdadeiros donos, guardiões e usuários das informações neles contidas: o pessoal de negócios.

A modelagem de decisões e os dados dinâmicos

Quando escolhi o título desta série de postagens, tinha em mente que esta seria uma das características marcantes deste modelo: um grande número de decisões de apoio, o que significa um grande número de dados dinâmicos descobertos e trazidos à luz. Mas o que são, exatamente, estes dados dinâmicos? São dados que não existem como dados brutos, que não podem ser armazenados em nenhum banco de dados, que perdem a sua atualidade praticamente no momento em que são determinados. Um exemplo claro, e bastante recorrente, são dados relacionados com o tempo. No modelo deste exemplo, a idade do requerente, calculada em relação a diversas datas de referência, só pode ser determinada a partir do conhecimento destes dois dados brutos: a data de nascimento do requerente, e uma data arbitrária de referência. Outros dados dinâmicos comuns são valores calculados, julgamentos baseados em outros dados (bom, ruim; conforme, não conforme; muito baixo, baixo, médio, alto, muito alto), e quaisquer resultados da aplicação de uma lógica aos dados brutos. Mas, por que identificar e definir claramente os dados dinâmicos é tão importante?

A primeira razão é muito simples, mas nem por isto pouco importante: porque os dados dinâmicos não aparecem no radar dos administradores de dados e seus modelos de dados tradicionais. Uma vez que o foco da administração tradicional de dados são os dados ARMAZENADOS em algum tipo de suporte permanente, os dados dinâmicos simplesmente não fazem parte das preocupações destes profissionais, e permanecem escondidos e enterrados na lógica dos sistemas e processos, completamente fora de qualquer política de governança de dados.

A segunda razão, talvez ainda mais importante, é que, em geral, não existe uma ideia clara, dentro da organização, de qual é a lógica que governa a determinação do valor dos dados dinâmicos quando eles são necessários. Vimos isto nesta modelagem: qual é a data de referência para o cálculo da idade do requerente, que é mencionada em diversas regras? Acredito que em algum lugar isto deve estar definido, mas, no conjunto de regras que serviu como base para a nossa modelagem, esta definição fundamental não está presente, o que tem o potencial de provocar grandes discussões, ou a necessidade de consultas a outros especialistas ou outras regulamentações. Olhe para sua própria organização e se pergunte: qual é a definição exata de "cliente"? E de "cliente preferencial"? E de "venda líquida"? À primeira vista, todos estes termos são "claros e óbvios" para a organização... será? Pense em outros conceitos "nebulosos" que povoam a sua empresa, e que geram conflitos intermináveis quando é necessária uma definição precisa.

A modelagem de decisões e a lógica (ou a falta de lógica) dos negócios

Ao longo destas semanas e postagens apontei diversas situações onde as regras apresentadas, mesmo com um aparente rigor e adequado nível de detalhamento, apresentavam lacunas, incongruências e sobreposições. Isto é extremamente comum, e é difícil completar um modelo de decisões com um grau de complexidade pouco acima do "extremamente simples" que não apresente este tipo de problema. Não é difícil entender porque isto acontece: a linguagem (seja ela natural ou estruturada) é intrinsecamente inexata e sujeita a erros. Problemas comuns são omissões, erros decorrentes de pontuação imprecisa, omissões provocadas pelo "todo mundo sabe isso", incapacidade de descrever com precisão, usando a linguagem, conjuntos complexos de regras e condições. Várias tentativas de tornar a linguagem "mais precisa" têm sido tentadas, mas, em geral, não entregam sua promessa: regras de negócio definidas através da linguagem apresentam, sempre, um potencial elevado de falhas. E, aqui, temos outra enorme vantagem da lógica descrita através de modelos de decisão: eles expõem com clareza estas falhas na descrição da lógica de negócios, e são testáveis!

A modelagem de decisões e o teste e validação da lógica de negócios

Modelos de decisão são testáveis, e sem a necessidade de ferramentas especializadas (embora possam se beneficiar do uso de ferramentas). Cada tabela de decisão é um conjunto completo de lógica, e pode ser construído de forma a ser testável diretamente pelo pessoal de negócios, sem a necessidade de qualquer desenvolvimento em TI. É razoavelmente simples verificar se todas as condições estão descritas, e se não há falhas e sobreposições nas regras de negócio. Cada tabela de decisão pode ser encarada como uma unidade de lógica funcionalmente independente de todas as demais, auto-contida e completa, e pode ser validada pelo pessoal de negócios sem muitas dificuldades. Diversas ferramentas disponíveis auxiliam ainda mais este processo, gerando testes unitários e de estresse (tentando toda a faixa de valores possíveis de entrada e verificando se o resultado do modelo está correto) de forma simples, sem a necessidade de envolvimento do pessoal de TI.

Esta decomposição da lógica complexa em unidades simples e administráveis torna a modelagem de decisões um aliado inestimável para os responsáveis por governança e conformidade. Cada decisão pode ser associada a um responsável, procedimentos de governança, conformidade a aprovação podem ser estabelecidos, e a construção de uma base única da "verdade" garante que toda a organização aplica a mesma lógica nas suas decisões diárias.

Além disso, cada decisão só é modelada (e definida) em uma única tabela de decisões, tornando, assim, extremamente fácil seu gerenciamento e manutenção quando é necessária alguma mudança, seja ela provocada por razões internas, seja por mudanças no ambiente externo (em geral, mudanças na legislação e normas pertinentes). A análise de impacto de mudanças nas decisões (sejam elas automatizadas ou não) se torna simples e independente do pessoal de TI. A gestão da lógica de negócios (regras e decisões de negócio) passa, definitivamente, para o controle do negócio, não importando como esta lógica é implementada.

A modelagem de decisões e o uso de ferramentas

A modelagem de decisões pode ser feita com pouco ou nenhum uso de ferramentas. Na maioria dos casos, a lógica por trás das decisões é elicitada através de pesquisa à legislação e regulamentos pertinentes, ou em oficinas reunindo as partes interessadas. Mas, como sempre acontece, o uso de ferramentas de apoio proporciona imensos ganhos ao processo. Como já mostrado no início desta série, o padrão DMN (Decision Model and Notation) do Open Management Group, está conquistando cada vez mais apoio dos fabricantes de ferramentas, e a integração de modelos DMN com modelos BPMN (Business Process Model and Notation) já é uma realidade em muitas delas. Também a integração entre motores de regras (BRMS) e de processos (BPMS) já é uma realidade, e uma nova classe de software está surgindo: os Gerenciadores de Decisões de Negócio (BDMS-Business Decision Management System) oferecem, além das funcionalidades de modelagem e teste, fluxos de trabalho e gerenciamento de governança e implementação das decisões.

Em outra área de atuação, os modelos de decisão se integram muito bem com ferramentas analíticas e de Big Data. Para os  modelos de decisão no nível de negócio, a fonte do dado é irrelevante, e com o apoio das ferramentas certas, dados oriundos de motores analíticos e de Big Data são facilmente integrados aos processos normais da organização.

A modelagem de decisões e os profissionais de modelagem

Por último, gostaria de falar um pouco sobre o surgimento de um novo profissional: o Analista de Decisões. Sua responsabilidade principal é elicitar a lógica subjacente às decisões da empresa, criar, testar e manter os modelos de decisão, avaliar o impacto de mudanças na lógica de negócios nas decisões e coordenar a efetiva aderência dos processos que consomem estas decisões.

Quem é este novo profissional? Entre outros, analistas de negócios, analistas de processos, analistas de sistemas, e arquitetos de negócio, são todos profissionais que podem, com algum treinamento, migrar para esta nova função. Em muitos casos, os próprios profissionais das áreas de negócio se tornam modeladores de decisão, trabalhando no nível conceitual da modelagem e transferindo a responsabilidade técnica para as equipes de TI em uma etapa posterior.  Qual o seu requisito principal? Estar interessado em tornar explícita a lógica que governa as decisões da empresa, e em aumentar a velocidade de adaptação da empresa a um mundo onde as regras estão em constante mudança.

Um chamado para a ação

Se você gostou do que viu nesta série de postagens, ou se tem dúvidas sobre como o gerenciamento e a modelagem de decisões pode ser aplicada na realidade da sua empresa, entre em contato. Será um prazer conversar com você.





Um comentário :

  1. Excelente artigo Antonio Plais!
    Poderíamos acrescentar Inteligência Artificial, utilizando Sistema Especialista, ao Modelo de Responsabilidade Organizacional, que é uma das ações de grande porte que deram origem ao FACIN, para construir um Modelo de Decisão fundamentado no padrão DMN (Decision Model and Notation)?
    O que acha?

    ResponderExcluir