Como você controla regras comerciais complexas fora do código?

9

Estou interessado em ver como outras pessoas fazem isso. Especialmente em situações em que vários clientes diferentes estão usando a mesma base de software com regras de negócios ligeiramente diferentes. Que tipo de práticas você usa para documentar como tudo deve funcionar ou regras de negócios.

Basicamente, quando um novo desenvolvedor entra na equipe, é fácil o acesso para ver como as coisas devem funcionar, porque obviamente há uma diferença entre tornar algo livre de bugs e fazer algo funcionar corretamente.

Seria muito bom ter um recurso ao invés de ter que trazer um arquiteto ou BSA para a conversa toda vez que surgir uma pergunta sobre como algo deve ser processado.

MetaGuru
fonte
6
What kind of practices do you use to document how everything is supposed to work or business rules.Confie em mim, você não quer saber ... <suspiro>
yannis
3
Yo dawg, eu agrupo você como regras de negócios, então criei regras para suas regras, para que você possa descrever as regras enquanto as descreve. SCNR.
Raku

Respostas:

10

Este é um dos casos de uso de estruturas do BDD, como o Pepino, que permite capturar os requisitos de negócios no código e testar com freqüência com relação a esses requisitos. Outras abordagens que vi usadas incluem documentos longos e complicados de especificação, grandes folhas de papel pregadas na parede, decks de slides e Joe, o cara no final da mesa que sabe tudo.

philosodad
fonte
Agora, esta mancha de aparência, também encontrado em C #: specflow.org
MetaGuru
2

Eu pensaria que, no mínimo, eles seriam documentados e mantidos no documento de requisitos.

Sei que a maioria dos locais não possui requisitos por escrito ou não são mantidos, mas esse é um problema diferente. :-)

John MacIntyre
fonte
1

Usamos o BPMN para documentar e modelar nossos fluxos de trabalho de negócios, se é isso que você quer dizer.

Também tentamos usar um mecanismo de fluxo de trabalho em um projeto para permitir que os usuários participassem da modelagem, mas isso encontrou certa resistência porque eles tinham muito medo de quebrar as coisas, mesmo que a modelagem tenha sido feita em conjunto com um especialista em fluxo de trabalho de nossa empresa. Departamento de Informática.

Raku
fonte
2
Ter medo de quebrar as coisas parece bastante comum - temos um bom bocado de material configurável pelo usuário em nosso webapp, mas que tendem a fazer as mudanças quando nossos usuários não estão familiarizados com a funcionalidade que eles estão tentando mudar.
Michael K
11
omg.org/spec/BPMN "OMG", meu pensamento exatamente. Mas vou começar a investigar isso, obrigado por uma resposta real.
MetaGuru
11
Acho que os mecanismos de fluxo de trabalho e o BPMN são uma ideia incrível em geral, mas o sucesso deles depende em grande parte da afinidade tecnológica dos usuários posteriores. Espero que a próxima geração de usuários não tenha problemas com eles. </optimism>
Raku
11
Sim, OMG é a descrição certa para isso :-).
Raku