Regra de Negócio: o desafio do desenvolvedor

Regra de Negócio -  o desafio do desenvolvedorNós conhecemos a linguagem de programação, a sintaxe, os componentes e a ferramenta, mas para desenvolvermos um sistema é preciso conhecer também a Regra de Negócio do cliente, também conhecida como Domínio da Aplicação. Este é um dos desafios que todo programador encara no início de um projeto ou de um emprego, ao menos que ele já conheça a regra de negócio por experiências anteriores. Mas afinal, o que seria uma regra de negócio e como ela está relacionada ao desenvolvimento de software?

 

Existem softwares para diversas finalidades, como controle de estoque, administração financeira, contabilidade, emissão de pedidos, recursos humanos, entre outros. Cada um desses sistemas respeita uma série de validações, restrições e funcionalidades para que a sua utilização seja objetiva, ou seja, atenda as necessidades apontadas pelo cliente. Em um sistema de controle de estoque, por exemplo, quando uma nota fiscal de entrada é digitada, o sistema automaticamente deve acrescentar a quantidade no estoque do produto. Da mesma forma, quando o produto for vendido, o sistema deverá se encarregar de reduzir essa quantidade. Porém, se a nota de saída for cancelada, a quantidade novamente deverá ser voltada para o estoque do produto. Essa é basicamente a regra de negócio de um sistema para controle de estoque. Todo esse fluxo de entradas e saídas no estoque deve ser controlado pelo software por meio de banco de dados, funções e procedimentos implementados pelo programador. Um simples erro na semântica do código ou na execução de uma função pode afetar o controle desses dados no sistema, que por sua vez, não armazenará informações íntegras.

Já a regra de negócio de um sistema contábil é diferente. É preciso conhecer leis, tributações, códigos contábeis e impostos para desenvolver um sistema eficiente para este ramo. Eis que surge uma observação: nem todos os desenvolvedores conhecem as regras de negócio (ou domínio da aplicação) para qual o sistema será desenvolvido. Cabe a ele pesquisar, informar-se com outros profissionais e compreender como as engrenagens do negócio funcionam. Apesar da complexidade, existe regras de negócio que possuem características semelhantes, como um sistema de controle de pedidos e um sistema de emissão de notas fiscais. Se o desenvolvedor já trabalhou em um destes segmentos, conhecer o outro não será nenhum segredo.

Na maioria das vezes, o desenvolvedor é contratado para trabalhar em um sistema que já está desenvolvido, e para isso, é preciso que ele conheça toda a regra de negócio antes de começar a produzir código. O tempo de adaptação é relativo, embora muitas empresas busquem reduzir este tempo por meio de cursos e treinamentos. Normalmente em 2 ou 3 meses já é possível conhecer bastante sobre o domínio da aplicação do sistema.

Uma forma simples e rápida de abranger a regra de negócio é comunicar-se com o cliente. Agendar visitas no cliente e acompanhar, nem que for por um dia, os processos operacionais da empresa já denota uma grande base de conhecimento. Conversar com o cliente é importante, pois, afinal, é ele quem está comprando o software e sabe explicar de modo prático como o sistema deve comportar-se. E por falar nisso, este é um dos valores do manifesto ágil: colaboração com o cliente e interação entre os indivíduos envolvidos no projeto. E vocês acham que eu ia perder a oportunidade de falar do Desenvolvimento Ágil? rsrs.

Para contornar este problema do desconhecimento do domínio da aplicação, muitas empresas mantém um Analista de Negócios para atuar como intermediário entre os dois mundos. Grosso modo, pode-se dizer que o Analista de Negócios busca as informações com o cliente, realiza uma análise da necessidade de implementação, e em seguida, transpõe essas informações de forma sistêmica para o Analista de Sistemas ou para a equipe de desenvolvimento. Vale observar que para ser um bom Analista de Negócios, é preciso ser comunicativo, proativo e dominar técnicas de viabilidade de requisitos.

Mesmo assim, se você é um desenvolvedor e atualmente se encontra no tipo de situação citada acima, não há o que se preocupar. Nada como a prática do dia-a-dia para aprendermos cada vez mais sobre as regras de negócio do cliente. Em pouco tempo, você também estará sugerindo melhorias nos processos do cliente e criando novas rotinas para suprir suas necessidades.

 

Boa sorte no seu trabalho!
Abraços!


 

Compartilhe!
Share on FacebookTweet about this on TwitterShare on LinkedInShare on Google+Pin on PinterestEmail this to someone

2 comentários

  1. Olá, André.
    Não sabia que o termo Regra de Negócio se aplicava ao conhecimento das rotinas do funcionamento da empresa. Nessa levei vantagem. Minha formação em administração de empresas facilitou o desenvolvimento do software. Você citou um problema recorrente: o conhecimento das leis tributárias se torna fundamental. Para emitir uma NF-e, o programador tem que disponibilizar no software todas as funções necessárias. Temos que entender a parte fiscal e orientar o cliente sobre como aplicar. A mudança do layout da NFe da ver. 2.0 para 3.10, a partir de 01/12/14, envolveu a análise do script com mais de 8700 linhas, e o manual só chegou em 05/15. Ainda estão mudando as regras. Esse é um exemplo da necessidade do conhecimento das regras de negócio e do diálogo com o cliente.
    Muito boa a sua orientação sobre como conseguir esse conhecimento.

    1. Olá, obrigado, Gerson!
      Pelo jeito você levou vantagem mesmo! Para trabalhar com desenvolvimento de software voltado para administração de empresas, o profissional deve conhecer (e muito bem) a parte administrativa, principalmente a fiscal. Isso ajuda não só no desenvolvimento em si, mas também na orientação ao cliente, como você tem feito.
      Obrigado pelo depoimento! Abraço!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Preencha o campo abaixo * Time limit is exhausted. Please reload CAPTCHA.