Já trabalhei em alguns dos mecanismos de fluxo de trabalho como programador, mas nunca tive uma clareza sobre por que escolhemos os mecanismos de fluxo de trabalho em primeiro lugar. E como programador eu sei que existem pelo menos 100 maneiras de fazer qualquer coisa quando você está escrevendo código, mas apenas algumas são as melhores!
Ainda não entendo quais casos de uso são melhor resolvidos pelos mecanismos de fluxo de trabalho (ou melhor, pelo conceito deles) do que projetando um bom aplicativo habilitado para DI. Estou procurando por características gerais de casos de uso neutros em domínio, nos quais os mecanismos de fluxo de trabalho são uma das melhores opções.
Portanto, minha pergunta é: quais são as características gerais de um requisito que podem ser tomadas como um sinal para optar por um bom mecanismo de fluxo de trabalho e codificá-lo?