Simyl
simylflow
Início do Curso
Módulo 3: Práticas de Planejamento
Lição 5 de 5
11 min

O Cliente Presente

Clientes reais, disponíveis para responder perguntas e tomar decisões em tempo real.

1Por Que os Clientes Devem Estar Disponíveis

XP originalmente exigia um cliente presente—um usuário real ou seu representante, fisicamente presente com a equipe.

Por que tão extremo?

O desenvolvimento de software é uma tomada de decisão constante:

  • Como esse caso extremo deve se comportar?
  • Qual desses dois designs é melhor para os usuários?
  • Esse bug vale a pena corrigir ou é uma limitação conhecida?
  • O que é mais importante: funcionalidade A ou funcionalidade B?

Se o cliente não está disponível, os desenvolvedores adivinham. Eles adivinham errado. Eles constroem a coisa errada. Ou eles esperam, bloqueando o progresso até conseguirem uma resposta.

Clientes disponíveis:

  • Desbloqueiam decisões em minutos, não em dias
  • Capturam mal-entendidos cedo
  • Tomam decisões de prioridade no contexto
  • Constroem confiança através de colaboração próxima

O custo de uma resposta errada capturada imediatamente: minutos. O custo de uma resposta errada capturada após o lançamento: dias ou semanas. A disponibilidade do cliente se paga.

2Direitos e Responsabilidades do Cliente

O papel do cliente em XP vem com direitos e responsabilidades.

Direitos do cliente:

  • Conhecer o custo estimado de cada história
  • Conhecer a velocidade da equipe e quando as coisas serão concluídas
  • Mudar prioridades a qualquer momento (dentro dos limites da iteração)
  • Cancelar o projeto e obter um sistema funcional (o que quer que tenha sido feito)
  • Ver o progresso através de software funcional, não apenas relatórios

Responsabilidades do cliente:

  • Estar disponível para responder perguntas rapidamente
  • Tomar decisões de prioridade quando solicitado
  • Fornecer critérios de aceitação para histórias
  • Aceitar trade-offs quando o escopo excede a capacidade
  • Dar feedback sobre o software entregue prontamente

Isso é uma parceria. O cliente não é um stakeholder distante jogando requisitos por cima do muro. Eles são um membro da equipe tomando decisões diariamente.

3O Proxy do Product Owner

Na prática, o "cliente real" geralmente não está disponível. Eles têm empregos. Eles não podem sentar com desenvolvedores o dia todo.

Entre o proxy do product owner—alguém que representa o cliente:

  • Gerentes de produto
  • Analistas de negócios
  • Product owners (terminologia Scrum)
  • Especialistas internos no assunto

O modelo de proxy funciona quando:

  • O proxy realmente entende as necessidades do usuário
  • O proxy tem autoridade para tomar decisões
  • O proxy está genuinamente disponível (não com agenda dupla)
  • Clientes reais fornecem input regular (demos, sessões de feedback)

O modelo de proxy falha quando:

  • O proxy não entende o domínio
  • O proxy não pode tomar decisões sem escalonamento
  • O proxy está ocupado demais para estar disponível
  • Clientes reais nunca veem o software
Bom Envolvimento do Cliente

O gerente de produto senta com a equipe e responde perguntas ao longo do dia. Eles estão no standup diário. Eles fazem demo para usuários reais a cada duas semanas e trazem feedback de volta para a equipe.

Ausência do Cliente

O gerente de produto participa de reuniões de planejamento, mas está indisponível de outra forma. Perguntas se acumulam no email. Decisões levam dias. Desenvolvedores constroem o que acham que está certo e frequentemente adivinham errado.

4Testes de Aceitação como Entendimento Compartilhado

Testes de aceitação são como clientes e desenvolvedores verificam que se entendem.

Para cada história, o cliente define critérios de aceitação:

  • Dado [este contexto]
  • Quando [esta ação acontece]
  • Então [este deve ser o resultado]

Estes se tornam testes executáveis. Quando os testes passam, a história está concluída. Sem debate sobre se está "realmente concluída."

Benefícios:

  • Requisitos inequívocos (se o teste passa, funciona)
  • Documentação viva (testes descrevem o que o sistema faz)
  • Segurança de regressão (testes capturam quando o comportamento muda)
  • Engajamento do cliente (escrever critérios requer pensar)

Em XP moderno, testes de aceitação são frequentemente escritos em colaboração entre o cliente e desenvolvedores. O cliente descreve o comportamento; desenvolvedores ajudam a traduzir para forma testável.

5Clientes Remotos e Distribuídos

Equipes modernas são frequentemente distribuídas. O cliente "presente" é um canal do Slack, uma chamada no Zoom ou uma mensagem assíncrona.

Fazendo funcionar remotamente:

  • Supercomunique (assuma que nada é óbvio)
  • Use vídeo para interação face a face quando possível
  • Crie formas de baixo atrito para fazer perguntas (chat em vez de email)
  • Registre decisões para que sejam encontráveis depois
  • Respeite fusos horários (não espere respostas instantâneas às 3 da manhã)

Envolvimento assíncrono do cliente:

  • Escreva perguntas claras com contexto
  • Ofereça opções em vez de perguntas abertas
  • Defina expectativas para tempo de resposta
  • Use documentos para decisões complexas (mais fácil de revisar assincronamente)

O princípio permanece: minimize o tempo entre pergunta e resposta. Trabalho remoto torna isso mais difícil, mas não impossível.

Se seu cliente não pode estar disponível sincronamente, construa checkpoints assíncronos no seu fluxo de trabalho. Não comece uma história sem critérios de aceitação. Não termine sem aprovação do cliente.

Principais Conclusões
  • Disponibilidade do cliente desbloqueia decisões em minutos em vez de dias
  • Clientes têm direitos (transparência, software funcional) e responsabilidades (disponibilidade, decisões)
  • Proxies de product owner funcionam quando realmente entendem e podem decidir
  • Testes de aceitação criam entendimento compartilhado e documentação viva
  • Clientes remotos requerem supercomunicação e canais de perguntas de baixo atrito
Armadilhas Comuns a Evitar
  • Assumir que desenvolvedores podem adivinhar o que os clientes querem
  • Proxies que não podem realmente tomar decisões
  • Esperar por respostas em vez de aumentar a urgência
  • Clientes que revisam apenas no final (em vez de continuamente)

Exercícios Práticos