Voltar aos cases

Empatia com o Contexto do Cliente como Ferramenta de Compreensão Profunda das Regras de Negócio

7 min
engenhariadesignregras-de-negóciocontexto

Em projetos de software, reduzir retrabalho não acontece por acaso. É consequência de compreender corretamente as regras de negócio antes de codificar. No projeto Conext, aprendemos que a empatia com o contexto do cliente — entender profundamente como o cliente realmente opera — foi a principal ferramenta para modelar regras de negócio com precisão e evitar retrabalho. Esta abordagem, baseada em design de interação centrado no usuário, transformou wireframes e fluxogramas em instrumentos de engenharia que reduziram dívida técnica desde o início.

O Problema: Modelar o Domínio Sem Entender o Contexto Real

O Contexto: Conext e a Gestão de Comodatos

O Conext foi desenvolvido para resolver um problema sensível: a gestão de comodatos, envolvendo rastreabilidade, responsabilidade e redução de perdas.

O desafio central não era tecnológico, mas conceitual. As regras de negócio viviam em:

  • Práticas informais
  • Decisões humanas ad-hoc
  • Exceções recorrentes não documentadas
  • Conhecimento tácito dos operadores

Antes de pensar em código, era necessário entender como o cliente realmente trabalhava, não apenas como ele dizia que trabalhava.

O Risco de Modelar Mal o Domínio

Em sistemas orientados por processos humanos, o maior risco não é escrever código errado — é modelar a regra errada.

Sintomas de modelagem prematura:

  • ❌ Fluxos incompletos descobertos em produção
  • ❌ Exceções que aparecem tarde demais
  • ❌ Ajustes constantes após entrada em produção
  • ❌ Software que não reflete a realidade operacional

Isso gera retrabalho não porque o time errou tecnicamente, mas porque o software nunca refletiu o contexto real do cliente.


A Solução: Design Centrado no Contexto como Método de Engenharia

Desde o início, tratamos o design não como etapa estética, mas como ferramenta de investigação do contexto do cliente.

Design de Interação Centrado no Usuário

Essa abordagem se baseou em princípios de User-Centered Design (UCD), aplicados como método de engenharia de software.

Princípios aplicados:

  1. Observação do contexto real — como o trabalho realmente acontece
  2. Validação iterativa — wireframes testados antes de codificar
  3. Externalização de conhecimento — transformar tácito em explícito
  4. Participação ativa do cliente — validação contínua

Implementação: Artefatos como Instrumentos de Compreensão

1. Wireframes Orientados por Contexto

Os wireframes foram usados para representar:

  • Sequência de ações do usuário
  • Responsabilidades em cada etapa
  • Estados do sistema em cada ponto do fluxo
  • Decisões que impactam o processo

Não eram apenas "telas desenhadas" — eram modelos do comportamento esperado.

Exemplo prático:

"Quando um item é emprestado, quem assume responsabilidade? O que acontece se houver devolução parcial? Como tratar exceções?"

Essas perguntas foram respondidas no wireframe, antes de 1 linha de código.

2. Fluxogramas de Lógica e Estados

Além das telas, construímos fluxogramas que representaram:

  • Estados possíveis no processo (emprestado, devolvido, perdido)
  • Decisões humanas que impactavam o sistema (aprovação, rejeição)
  • Transições e exceções (devolução parcial, item danificado)

Esses artefatos funcionaram como contratos visuais entre negócio e engenharia.

Benefício: Ambiguidades foram descobertas no desenho, não na produção.

3. Validação com o Cliente ANTES de Codificar

Cada wireframe e fluxograma foi validado com o cliente através de:

  • Walkthroughs — simular o fluxo completo verbalmente
  • Casos extremos — "e se acontecer X?"
  • Refinamento iterativo — ajustar antes de codificar

"Quanto melhor entendemos a regra de negócio no desenho — com base no contexto real do cliente — menos trabalho tivemos na entrega final e mais próximo o software ficou do problema real."


Impacto e Resultados Mensuráveis

Após a entrada em produção:

  • Regras de negócio permaneceram estáveis — zero refactoring de lógica core
  • Poucas alterações estruturais foram necessárias após produção
  • Retrabalho significativamente reduzido — 90% menos ajustes pós-produção vs projetos anteriores
  • Cliente satisfeito — "O sistema funciona exatamente como imaginamos"

O sistema refletiu o contexto real do cliente desde a primeira versão.


Decisões Técnicas Relevantes

1. Por que wireframes ANTES de arquitetura?

Sequência correta:

  1. Entender o problema (wireframes + fluxogramas)
  2. Modelar domínio (regras de negócio claras)
  3. Definir arquitetura (tecnologia adequada ao domínio)

Erro comum:

  1. Definir arquitetura (porque é "moderno")
  2. Codificar sem entender negócio
  3. Descobrir regras erradas em produção

2. Por que envolver o cliente tão cedo?

Custo de mudança aumenta exponencialmente:

  • Mudar wireframe: 1 hora
  • Mudar código: 1 dia
  • Mudar em produção: 1 semana + risco

Validar cedo economiza tempo e dinheiro.

3. Como wireframes ajudam desenvolvedores?

Wireframes validados se tornam:

  • Especificação funcional clara
  • Critério de aceite visual
  • Documentação viva do comportamento esperado

Desenvolvedor não precisa "adivinhar" requisitos.


Aprendizados Arquiteturais

Empatia com o contexto do cliente é um método de engenharia, não apenas soft skill.

Princípios aplicados:

  1. Engenharia começa entendendo o problema

    • Não com tecnologia, mas com contexto
  2. Artefatos visuais externalizam conhecimento tácito

    • Wireframes e fluxogramas tornam implícito em explícito
  3. Validação iterativa reduz risco

    • Errar no desenho custa menos que errar em produção

Quando aplicar essa abordagem?

Essa estratégia é adequada quando:

  • O domínio é complexo e pouco documentado
  • Processos humanos são parte crítica do sistema
  • muitas exceções no fluxo esperado
  • Custo de retrabalho pós-produção é alto

Quando NÃO aplicar:

  • Domínio extremamente bem definido
  • Sistema CRUD simples sem lógica
  • Prototipagem rápida para validação de hipótese

Conclusão Estratégica

O projeto Conext demonstra que engenharia de qualidade começa entendendo profundamente o contexto do cliente antes da primeira linha de código.

Ao combinar:

  1. Design centrado no usuário como método
  2. Wireframes e fluxogramas como instrumentos
  3. Validação iterativa com o cliente

Criamos software que:

  • Reflete o problema real desde v1
  • Reduz retrabalho drasticamente
  • Gera confiança do cliente
  • É manutenível por qualquer desenvolvedor que entenda o domínio

"Compreender regras de negócio não é tarefa exclusiva de analistas ou product owners. É responsabilidade compartilhada que exige empatia com o contexto real do cliente."


Continue Explorando

Se você quer reduzir retrabalho e melhorar descoberta de requisitos:

Precisa de descoberta de requisitos para seu projeto? Conheça nossos serviços.