Decisões técnicas documentadas
Registro de decisões tomadas no Paraguai durante o desenvolvimento de nossos próprios produtos em validação: o que foi avaliado, o que foi decidido e por quê.
Um decision record não é um caso de sucesso nem um guia geral: é o registro de uma decisão técnica pontual, com as alternativas que foram avaliadas e a razão pela qual uma foi escolhida em vez de outra. 13 decisões documentadas até agora, entre Pymerce e Pyae.
Decisões da Pymerce
- Multi-tenancy preparada sem superdimensionar
- O acesso a dados é centralizado em um contexto de tenant desde o MVP, sem depender de um único banco no código.
- Estoque por localização, não quantidade global de produto
- O estoque é modelado de forma transacional por localização e produto, com movimentações históricas.
- Separar o registro fiscal da operação de venda
- A venda é confirmada antes de executar a comunicação com o órgão fiscal.
- Decidir por meio de teste técnico, não de suposição
- As decisões de base são validadas com testes técnicos reproduzíveis antes de consolidá-las.
- Autenticação própria em vez de provedor externo
- É implementada autenticação própria com sessões protegidas, cadastro e recuperação segura.
- Não criar um modo atacado separado
- Varejo e atacado são tratados como perfis do mesmo domínio, sem duplicar lógica.
- Adiar funcionalidades até validar o perfil inicial
- Compras, alertas de estoque e outras capacidades são adiadas até validar o fluxo base.
Decisões da Pyae
- Isolamento de sessão por restaurante
- O acesso e a sessão são resolvidos por restaurante, identificado pelo próprio tenant.
- Atualizações em tempo real para cozinha e pedidos
- As mudanças de status de pedidos e cozinha são distribuídas em tempo real por filial.
- Integração de mensageria desacoplada do domínio
- A mensageria é definida por meio de uma camada intermediária substituível, com alternativa de teste.
- Idempotência e bloqueio para evitar pedidos e pagamentos duplicados
- É aplicada idempotência persistida e bloqueio distribuído a pedidos e pagamentos.
- Separar o status do pedido do status da cobrança
- A entrega é avaliada pelo saldo pendente, não pelo status geral da venda.
- Modificar um pedido em andamento sem corromper o total
- Os itens são adicionados e o pedido é recalculado dentro de uma única operação transacional com retry.
Perguntas frequentes
- O que é um decision record?
- É o registro de uma decisão técnica ou de produto pontual: quais alternativas foram avaliadas, qual foi escolhida e por quê. Não é um caso de sucesso nem um guia geral, é evidência de um critério aplicado em um desenvolvimento real.
- Por que a Flexora publica suas decisões técnicas?
- Para mostrar o critério por trás do desenvolvimento de software, não só o resultado final. Os registros desta seção correspondem à Pymerce e à Pyae, dois produtos SaaS próprios da Flexora desenvolvidos no Paraguai e ainda em validação.
Precisa de decisões técnicas assim tão claras para o seu projeto?
Documentamos e sustentamos decisões técnicas com o mesmo rigor no software sob medida que desenvolvemos para empresas.