Gerência - Metodologias e Processos

Regras de Negócio-Por que você deveria se importar com isso?

Por princípio, regras de negócio definem as diretrizes do negócio de uma organização, com base em condições específicas...

por Roberto Capra Neto



Por princípio, regras de negócio definem as diretrizes do negócio de uma organização, com base em condições específicas. Elas são utilizadas para orientar em qual direção seguir, face a uma situação determinada. Para entendermos melhor, vamos imaginar o cenário de um banco por exemplo, que tem regras específicas para seus processos internos. No protocolo bancário de abertura de contas por exemplo, pode haver uma regra de negócio (nesse caso restritiva) na qual clientes menores de dezoito anos não podem abrir contas. Esse é um exemplo clássico do que é uma regra de negócio e sua aplicação.

Todas as organizações possuem regras de negócio, não importando o tipo de atividade que exerçam e elas podem ser encontradas em diversos pontos. As regras são necessárias ao bom andamento das operações, adesão às normas de compliance, além de poderem ser utilizadas como direcionadoras de estratégias corporativas.

Assim como a regra restritiva do exemplo, outras de diferentes tipos são usadas em diversos pontos da organização em seus processos. Elas são encontradas em várias fontes, mas o ponto chave é sua centralização, ou seja, torná-las únicas em um repositório para que possam ser reutilizadas quando necessário. Isso diminui o retrabalho, centraliza os procedimentos, normatiza os regulamentos da organização, além de aplicar com maior consistência as práticas do negócio.

Regras de Negócio nos Sistemas Corporativos

Embora pareçam conceitos óbvios, há grande confusão envolvendo as regras de negócio e os sistemas de informação corporativos. Um dos principais conceitos a ser esclarecido é que as regras de negócio não são requisitos (necessidades) de sistemas, e há uma grande diferença entre eles. Regras de negócio podem ser implementadas como requisitos em um sistema, mas existem de forma independente dos sistemas de informação. Elas servem para dar a direção do negócio, não necessitando de uma relação com eles. Para entender regras de negócio envolvendo sistemas de informação, é preciso entender um pouco do processo evolutivo dos sistemas, que passaram por inúmeras mudanças ao longo dos anos.

Em se tratando de composição, podemos identificar basicamente as camadas mais visíveis dos sistemas como: apresentação, lógica e dados. Sem aprofundarmos detalhes arquiteturais de cada camada, no início não havia a separação delas, de fato. Com o advento dos bancos de dados, a camada de dados passou a ser tratada de forma distinta, sendo posteriormente gerenciada por sistemas específicos (SGDB’s). Alguns anos mais tarde, a camada lógica passou a ter uma importância maior e também foi separada. A partir daí, claramente a divisão de camadas passou a ser visível nas arquiteturas de sistemas e padrões.

Essa evolução foi um marco que resolveu muitas questões - criando outras, como toda boa tentativa de solução arquitetural - mas ainda havia lacunas. As regras de negócio permaneciam na camada lógica e implementadas como requisitos de sistema, muito embora ainda haja organizações em que as regras de negócio são encontradas também em outras camadas (apresentação e dados).  Porém, dessa forma, as regras eram replicadas em diversos componentes lógicos, tornando complexo gerenciá-las. Além de tudo, as regras estavam escritas diretamente nos códigos desses componentes.

Olhando para a operação, os sistemas de decisão das organizações (aqueles mais relevantes ao negócio) precisavam responder mais rapidamente às demandas do negócio, adequando-se às constantes mudanças exigidas pelo mercado. Assim, tornava-se preciso aproximar dos especialistas no negócio, de alguma forma, regras que gerenciavamas decisões. Seguindo a linha da divisão das camadas nos sistemas, ao pensar em regras de negócio, a proposta foi de separar as regras de negócio das outras camadas de sistemas (apresentação, dados e lógica) promovendo, assim, seu reuso e facilitando a manutenção. Além disso, o acesso a essas regras estaria centralizado, em um processo semelhante ao ocorrido na camada de dados.

BRMS - Business Rules Management Systems

Hoje, existem ferramentas chamadas BRMS ou Business Rules Management Systems, onde as regras de negócio são gerenciadas. Tais ferramentas proporcionam maior agilidade nas mudanças ao usuário de negócio através de suas interfaces de gestão, além de criarem um ambiente controlado, onde é possível realizar integração dos conceitos de regras com sistemas de informação corporativos. Os BRMS’s possuem uma idéia de funcionamento similar aos sistemas de gerenciamento para os bancos de dados, porém são utilizados para a camada de regras de negócio.

Mas de fato, qual o real benefícios dessa abordagem?

Como um BRMS pode ajudar a melhorar a maneira com que as empresas dirigem seu negócio?

Gerenciar regras de negócio traz inúmeros benefícios imediatos, tanto quantitativos quanto qualitativos. O reuso de regras, por exemplo, é uma das características  principais para redução de custos na organização. Ao reutilizar regras, torna-se possível alterá-las em um local único - repositório centralizado- e assim, obter respostas mais rápidas à mudanças nos sistemas que as incorporam.

Outra característica que diminui sensivelmente os custos de manutenção em sistemas é a possibilidade do especialista do negócio utilizar interfaces de gestão, alterando as regras diretamente no repositório. Isso reduz drasticamente a necessidade do envolvimento freqüente das áreas de tecnologia, otimizando demandas e, por conseqüência, reduzindo custos oriundos de novas necessidades de desenvolvimento.

Há ainda outros benefícios qualitativos, como organização, adequação as melhores práticas, integração com a governança corporativa (BPM, SOA, metodologias, etc.), além de conformidade com normas e padrões organizacionais.

Roberto Capra Neto

Roberto Capra Neto - Mestrando em Engenharia da Computação, bacharel em Sistemas de Informação, Green Belt Six Sigma, especialista em sistemas distribuídos e Internet, com atuação em diversas empresas nacionais. Membro do SEPG (Software Engineering Process Group) da Serasa - ML3, na adoção de processos com base no modelo CMMI (Capability Maturity Model Integration) - foco nas áreas de Gestão de Projetos, Engenharia de Software e Gerência de Configuração.