Pular para o conteúdo principal

Questão de Engenharia de Software — XP (Extreme Programming) — INSTITUTO AOCP 2024

Engenharia de SoftwareXP (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.

  1. ADriver.
  2. BNavigator.
  3. CManager.
  4. DReviewer.
  5. 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

1Driver
escreve o código
"dirige" o teclado
2Navigator
revisa e observa
feedback e sugestões
pensa à frente
3Papéis intercambiáveis
troca frequente de posição
Programação em pares (XP)
LEVELsoulevel.com.br
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.

Link permanente: /questoes/qa631680