‹ Cultura 3.14 · O que nos perguntamos
Pergunta · Operações
Como se reparte uma operação entre agentes, software determinista e pessoas sem perder uma responsabilidade única?
Distribuir tarefas pode melhorar o sistema, mas também fragmentar o contexto e fazer com que cada componente considere terminado apenas o seu próprio trabalho.
Porque importa
Um processo pode repartir trabalho entre vários agentes especializados, serviços deterministas, ferramentas, aplicações e pessoas. Essa especialização melhora a clareza e permite utilizar cada capacidade onde é adequada.
Introduz também um risco: o de o resultado se fragmentar. O agente de investigação considera terminado ao entregar informação; a ferramenta, ao aceitar uma chamada; o ERP, ao registar uma mudança; e a pessoa, ao aprovar uma proposta. Ninguém conserva necessariamente a responsabilidade de comprovar que o efeito completo se produziu.
Num sistema distribuído, a responsabilidade não aparece por somar componentes. Tem de ser desenhada.
O que sabemos até agora
Ajuda distinguir responsabilidade de execução.
Cada componente precisa de um contrato sobre:
- a sua função;
- entradas e saídas;
- informação e estado que pode modificar;
- permissões e identidade;
- erros e condições de nova tentativa;
- evidência que deve produzir;
- critério com que se considera concluído;
- responsável seguinte.
Acima desses contratos, o processo precisa de uma representação única do objetivo e do estado. O orquestrador não tem de tomar todas as decisões, mas tem de conservar:
- que resultado se persegue;
- que partes foram concluídas;
- que decisões e autorizações existem;
- que dependências continuam em aberto;
- que sinal confirma o efeito;
- quem deve intervir a seguir.
A autoridade deve também separar-se por ação. Um agente pode propor; uma regra pode validar; uma pessoa pode autorizar; uma ferramenta pode executar; e o sistema pode comprovar. A responsabilidade organizacional por permitir esse percurso não pode ser delegada no modelo.
O que continua em aberto
Continua em aberto como manter uma responsabilidade única quando o processo atravessa organizações com políticas e sistemas de registo distintos.
Também como a reatribuir quando muda dinamicamente a topologia do sistema, se substitui um modelo, aparece uma ferramenta nova ou um agente delega parte do trabalho noutro.
E como oferecer explicações úteis sem reconstruir uma narração retrospetiva que simplifique demasiado as decisões distribuídas ou converta o rasto numa falsa sensação de causalidade.