Questão de Engenharia de Software — XP (Extreme Programming) — INSTITUTO AOCP 2024
Engenharia de Software›XP (Extreme Programming)
Código
qa631680
Banca
INSTITUTO AOCP
Órgão
MPE PR
Ano
2024
Cargo
Tec TI ( )
Na técnica de programação em pares, um dos desenvolvedores escreve o código enquanto o outro revisa, observa e oferece feedback e sugestões. Nesse contexto, assinale a alternativa que apresenta corretamente o papel do desenvolvedor que revisa e observa.
ADriver.
BNavigator.
CManager.
DReviewer.
EInspector.
Revelar gabarito e comentário▾
GabaritoB — Navigator.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Programação em Pares no XP: Driver e Navigator
Gabarito: letra B. Na técnica de programação em pares (pair programming) do Extreme Programming (XP), o desenvolvedor que escreve o código é chamado de Driver, enquanto o que revisa, observa e oferece feedback é o Navigator — é exatamente esse papel que a alternativa B descreve. Essa nomenclatura é consagrada na literatura de metodologias ágeis, como em Beck (2000) e Pressman.
A programação em pares é uma das 12 práticas fundamentais do XP e consiste em duas pessoas trabalhando juntas na mesma estação de trabalho, com um teclado e um mouse compartilhados. O objetivo é duplo: resolver problemas em tempo real (duas cabeças pensam melhor que uma) e garantir qualidade em tempo real (o código é revisado à medida que é criado). Essa prática está diretamente ligada aos valores de comunicação e feedback do XP, pois promove a troca constante de ideias e a revisão contínua do trabalho.
A divisão de papéis é simples e complementar. O Driver é quem "dirige" o teclado, ou seja, quem digita o código, focando na implementação da tarefa imediata. O Navigator (navegador) é quem "navega" pelo contexto, observando o que está sendo escrito, pensando à frente, identificando erros, sugerindo melhorias e garantindo que o código esteja alinhado com o design e os padrões do projeto. Os dois papéis são intercambiáveis: é recomendado que os desenvolvedores troquem de posição com frequência para que ambos contribuam ativamente e o conhecimento seja compartilhado.
É importante não confundir esses papéis com outras funções que existem em metodologias ágeis. No Scrum, por exemplo, temos o Product Owner, o Scrum Master e o Time de Desenvolvimento — papéis de gestão e organização do trabalho. No XP, os papéis são mais técnicos e operacionais, focados na execução da codificação. A pegadinha da banca aqui é justamente tentar confundir o candidato com termos genéricos como "Reviewer" ou "Inspector", que não são a nomenclatura oficial da prática, ou com papéis de outras metodologias, como "Manager".
Guarde a fronteira entre os dois papéis: quem escreve é o Driver; quem revisa e orienta é o Navigator. É exatamente nessa distinção que as alternativas se dividem.
Papel
Quem executa
Função principal
Driver
Escreve o código
Digita e implementa a tarefa imediata
Navigator
Revisa e observa
Dá feedback, sugere melhorias e pensa à frente
Programação em pares (XP): Driver (escreve o código, "dirige" o teclado); Navigator (revisa e observa, feedback e sugestões, pensa à frente); Papéis intercambiáveis (troca frequente de posição)
Alternativa A — ❌ Incorreta
O termo Driver designa o desenvolvedor que escreve o código, ou seja, aquele que está "dirigindo" o teclado. A alternativa inverte os papéis: o Driver não é quem revisa e observa, mas sim quem executa a digitação. O papel descrito no enunciado (revisar, observar, dar feedback) pertence ao Navigator.
Alternativa B — ✅ Correta ⟵ GABARITO
O Navigator é exatamente o desenvolvedor que revisa, observa e oferece feedback e sugestões enquanto o Driver escreve o código. Ele "navega" pelo contexto do problema, pensa estrategicamente sobre o código que está sendo produzido, identifica possíveis erros e sugere melhorias. Essa é a nomenclatura clássica da programação em pares do XP, descrita por Kent Beck e amplamente adotada na literatura de engenharia de software.
Alternativa C — ❌ Incorreta
Manager é um papel de gestão, não um papel técnico da programação em pares. No XP, não existe a figura de um gerente que toma decisões técnicas; a equipe é auto-organizada e os desenvolvedores trabalham em pares sem hierarquia rígida. O termo "Manager" não se aplica ao contexto da prática descrita no enunciado.
Alternativa D — ❌ Incorreta
Reviewer é um termo genérico que pode ser usado em processos de revisão de código, mas não é a nomenclatura oficial da programação em pares do XP. Na prática de pair programming, o papel de quem revisa e observa é especificamente chamado de Navigator. A banca usa esse termo como distrator para confundir o candidato que conhece o conceito de revisão, mas não a terminologia exata do XP.
Alternativa E — ❌ Incorreta
Inspector é outro termo genérico que remete a inspeção de código, mas também não é a nomenclatura oficial da programação em pares. Assim como "Reviewer", é um distrator que tenta induzir o candidato a escolher um termo que parece correto, mas não é o consagrado na literatura do XP. O papel correto é o Navigator.
NÃO CAIA NESSA!
A banca explora a confusão entre termos genéricos de revisão (Reviewer, Inspector) e a nomenclatura específica do XP. O candidato que conhece o conceito de "revisão de código" pode ser tentado a escolher "Reviewer", mas a prática de programação em pares tem nomes próprios: Driver (quem escreve) e Navigator (quem revisa). Memorize essa dupla — ela é cobrada com frequência em provas de metodologias ágeis.
Gabarito: letra B — o papel do desenvolvedor que revisa e observa na programação em pares é o Navigator.