🔍 CAPÍTULO 06: ELICITAÇÃO E LEVANTAMENTO DE REQUISITOS
🎯 1. Objetivos de Aprendizagem & Competências
Estimativa de Dedicação: 2 horas de estudo autoguiado.
Ao final deste capítulo, você será capaz de:
- 🔹 Compreender as principais técnicas de elicitação: Entrevistas estruturadas/semiestruturadas, Workshops (JAD), Questionários, Etnografia (Observação) e Prototipagem.
- 🔹 Identificar e gerenciar conflitos de interesses entre diferentes perfis de stakeholders corporativos.
- 🔹 Construir Personas e Mapas de Empatia para desvendar dores reais e comportamentos dos usuários finais.
- 🔹 Implementar scripts em Python 3.11+ para processamento e estruturação de dados colhidos em questionários de elicitação.
🏢 2. Cenário Corporativo & Estudo de Caso (TecProExpress)
Na TecProExpress, a diretoria de operações quer automatizar o processo de triagem de pacotes nos centros de distribuição. No entanto, os operadores de galpão usam luvas grossas e trabalham em ritmo acelerado, enquanto os gerentes de logística querem relatórios complexos com dezenas de campos para preenchimento.
O Desafio: Se o analista de requisitos apenas entrevistar a diretoria em uma sala com ar-condicionado, o aplicativo será um fracasso no chão de fábrica. Você deve aplicar técnicas de observação direta (etnografia) e prototipação rápida para elicitar as restrições ergonômicas e funcionais reais.
🧠 3. Fundamentação Teórica & Modelos Visuais
3.1. O Processo de Elicitação de Requisitos
Elicitar não é apenas "coletar" (como se os requisitos estivessem prontos em uma gaveta), mas sim descobrir, articular e negociar as necessidades com os stakeholders:
flowchart LR
D["🔍 Descoberta<br>(Entrevistas & Etnografia)"] --> C["📊 Classificação & Organização<br>(Agrupamento por Domínio)"]
C --> N["🤝 Negociação & Priorização<br>(MoSCoW & Trade-offs)"]
N --> DOC["📝 Especificação Preliminar<br>(User Stories / Casos de Uso)"]
DOC -.-> D
style D fill:#e0f2fe,stroke:#0284c7
style C fill:#ede7f6,stroke:#5e35b1
style N fill:#fef3c7,stroke:#d97706
style DOC fill:#dcfce7,stroke:#16a34a
3.2. Comparativo de Técnicas de Elicitação
| Técnica de Elicitação | Quando Utilizar | Vantagens | Desafios |
|---|---|---|---|
| Entrevistas Individuais | Detalhamento profundo de processos com especialistas. | Riqueza de contexto e respostas abertas. | Consome muito tempo; risco de viés individual. |
| Workshops (JAD / Design Sprint) | Alinhamento de visões divergentes entre departamentos. | Consenso rápido e decisão coletiva. | Dificuldade de reunir agendas de executivos. |
| Questionários / Surveys | População grande e geograficamente dispersa (> 1000 usuários). | Coleta quantitativa e análise estatística. | Respostas superficiais; impossível aprofundar dúvidas. |
| Observação Etnográfica (Shadowing) | Tarefas operacionais complexas e rotinas de campo. | Revela regras tácitas que os usuários esquecem de falar. | Pode alterar o comportamento natural do operador. |
| Prototipação Rápida | Usuários têm dificuldade de visualizar a solução em texto. | Feedback visual imediato e validação de usabilidade. | Cliente pode confundir protótipo com sistema final pronto. |
💻 4. Aplicação Prática & Código Executável (Python 3.11+)
Script para estruturação de dados de entrevistas de elicitação e extração de requisitos preliminares.
📋 Pré-requisitos e Instalação
Este módulo utiliza exclusivamente recursos nativos do Python 3.11+ (dataclasses). Nenhuma instalação externa é necessária:
# Ambiente padrão Python 3.11+ (sem dependências externas)
💻 Código Completo e Autocontido (analise_elicitacao.py)
Crie o arquivo analise_elicitacao.py e insira o código abaixo:
"""
Módulo: analise_elicitacao.py
Domínio: Consolidação de respostas de stakeholders e mapeamento de dores.
Stack: Python 3.11+
"""
from dataclasses import dataclass
@dataclass
class RespostaEntrevista:
stakeholder_id: str
papel: str # Operador, Gerente, Cliente
dor_relatada: str
funcionalidade_desejada: str
impacto_estimado: int # 1 a 5 (5 = Crítico)
def processar_requisitos_prioritarios(respostas: list[RespostaEntrevista], corte_impacto: int = 4) -> list[str]:
"""Filtra e consolida as funcionalidades com maior impacto para compor o MVP."""
prioritarias = [
f"[{r.papel.upper()}] {r.funcionalidade_desejada} (Motivação: {r.dor_relatada})"
for r in respostas if r.impacto_estimado >= corte_impacto
]
return prioritarias
if __name__ == "__main__":
dados_campo = [
RespostaEntrevista("STK-01", "Operador", "Leitor de código de barras falha com pouca luz", "Modo lanterna automática no app", 5),
RespostaEntrevista("STK-02", "Gerente", "Falta de visão dos pacotes atrasados no dia", "Dashboard de alertas em tempo real", 5),
RespostaEntrevista("STK-03", "Cliente", "Desejo escolher a cor do tema da tela de rastreio", "Tema escuro personalizado", 2)
]
mvp_items = processar_requisitos_prioritarios(dados_campo)
print("📋 ITENS ELICITADOS PRIORITÁRIOS PARA O BACKLOG:")
for item in mvp_items:
print(f" ✔️ {item}")
🚀 Como Executar
Execute o script no terminal:
python analise_elicitacao.py
🖥️ Saída Esperada no Terminal
📋 ITENS ELICITADOS PRIORITÁRIOS PARA O BACKLOG:
✔️ [OPERADOR] Modo lanterna automática no app (Motivação: Leitor de código de barras falha com pouca luz)
✔️ [GERENTE] Dashboard de alertas em tempo real (Motivação: Falta de visão dos pacotes atrasados no dia)
💡 5. Checkpoint de Engenharia & Boas Práticas
- Escuta Ativa & Perguntas Abertas: Em entrevistas, nunca faça perguntas indutivas como "Você não acha que seria melhor ter um botão vermelho aqui?". Pergunte: "Como você realiza essa tarefa hoje e quais são suas maiores dificuldades?".
- Anti-Pattern The Customer is Always Right on Solutions: O cliente é especialista no problema dele, mas não necessariamente na melhor solução técnica. Seu papel é entender a dor profunda e projetar a arquitetura ideal.
🔗 6. Conexão com os Projetos Integradores
| Projeto Integrador | Como o conceito deste capítulo é aplicado no PI |
|---|---|
| PI-03: PDVLite | Elicitação ergonômica: frente de caixa deve permitir fechar venda apenas com atalhos de teclado (sem mouse). |
| PI-08: CattleFlow | Observação no curral: necessidade de leitura de brinco eletrônico e pesagem rápida sem digitação manual. |
🧪 7. Quiz de Fixação e Autoavaliação (Formative Assessment)
🧪 Quiz de Autoavaliação — Capítulo 06
🧪 Quiz de Autoavaliação — Capítulo 06
1. Qual técnica de elicitação é mais eficiente para descobrir regras de negócio tácitas que os usuários executam no piloto automático mas esquecem de verbalizar em reuniões?
- A) Questionários com perguntas de múltipla escolha enviadas por e-mail.
- B) Observação Etnográfica (Shadowing / Acompanhamento no local de trabalho).
- C) Análise de concorrência na internet.
- D) Leitura da documentação do banco de dados.
💡 Ver Resposta e Justificativa
Resposta Correta: B
Justificativa: A observação direta permite ao engenheiro ver o operador trabalhando no seu ambiente real, revelando atalhos manuais, exceções e problemas que nunca seriam lembrados em uma entrevista formal.
2. O que representa uma 'Persona' no contexto da Engenharia de Requisitos e Design Centrado no Usuário?
- A) Um pseudônimo fictício para ocultar o nome dos programadores do projeto.
- B) Um arquétipo realista construído com base em dados reais de pesquisa que sintetiza as características, metas, dores e comportamentos do usuário-alvo.
- C) O diagrama de classes de autenticação de usuários.
- D) Um robô de inteligência artificial de testes.
💡 Ver Resposta e Justificativa
Resposta Correta: B
Justificativa: Personas personificam os usuários reais para os quais o sistema está sendo projetado, mantendo a equipe focada em resolver as dores daquele perfil específico ao priorizar histórias.
3. Durante uma sessão de JAD (Joint Application Design / Workshop), o papel do facilitador é:
- A) Escrever o código-fonte dos endpoints da API.
- B) Mediar discussões, neutralizar conflitos e garantir que todos os stakeholders colaborem para atingir o consenso de escopo.
- C) Decidir sozinho todas as regras de negócio sem consultar os usuários.
- D) Registrar o domínio na internet.
💡 Ver Resposta e Justificativa
Resposta Correta: B
Justificativa: O facilitador atua de forma neutra conduzindo a dinâmica do workshop para evitar que participantes mais extrovertidos dominem a reunião e garantindo o alinhamento de escopo.
🛠️ 8. Ponte para a Ação: Laboratório Prático
Coloque esta teoria em prática executando o roteiro de laboratório autoguiado:
👉 ATIVIDADE 01: ESCOPO E PERSONAS
📌 9. Resumo Executivo & Key Takeaways
- Elicitação é Investigação: Requisitos são descobertos através da combinação de entrevistas, observação e prototipação.
- Diversidade de Fontes: Ouvir apenas a liderança gera sistemas que a operação rejeita; ouvir apenas a operação gera sistemas fora da estratégia da empresa.
- Etnografia e Contexto: O chão de fábrica e o campo impõem restrições que nenhuma reunião de escritório revela.
- Personas: Ferramenta poderosa para manter o time focado no valor real do usuário durante todo o ciclo de vida do software.