Questão de Engenharia de Software — Processos de Software - Desenvolvimento Ágil — INSTITUTO AOCP 2024
Engenharia de Software›Processos de Software - Desenvolvimento Ágil
Código
qg263141
Banca
INSTITUTO AOCP
Órgão
UFS
Ano
2024
Nível
Superior
Cargo
Analista de Tecnologia da Informação - Classe E
O departamento de Ciência da Computação da Universidade Federal de Sergipe (UFS) decide iniciar um projeto de desenvolvimento de um novo sistema para gerenciamento acadêmico usando a metodologia ágil XP (eXtreme Programming). O time de desenvolvimento é composto por programadores seniores e juniores. Eles enfrentam um dilema sobre como incorporar práticas de programação em pares e integração contínua efetivamente. Qual das alternativas a seguir seria a abordagem mais apropriada de acordo com os princípios XP?
AIncentivar que programadores juniores formem pares apenas entre si, para não retardar o progresso dos programadores seniores.
BEmpregar uma abordagem de programação em pares misturando programadores seniores e juniores e aplicar integração contínua desde o início.
CImplementar integração contínua apenas nas fases finais do projeto para economizar tempo.
DDesconsiderar programação em pares e focar unicamente em revisões de código após a implementação.
ELimitar a programação em pares aos programadores seniores e deixar os juniores trabalharem de forma independente.
Revelar gabarito e comentário▾
GabaritoB — Empregar uma abordagem de programação em pares misturando programadores seniores e juniores e aplicar integração contínua desde o início.
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 e Integração Contínua no XP
Gabarito: letra B. No XP (eXtreme Programming), a programação em pares é uma prática central que deve envolver a colaboração entre todos os desenvolvedores, independentemente do nível de senioridade, e a integração contínua deve ser aplicada desde o início do projeto, pois o XP valoriza o feedback rápido e a entrega contínua de software funcional. A alternativa B reflete exatamente esses princípios.
O XP é uma metodologia ágil criada por Kent Beck em 1996, focada em práticas de engenharia de software levadas ao extremo, como desenvolvimento iterativo, testes frequentes e colaboração intensa. Diferentemente do Scrum, que foca mais na gestão, o XP foca em técnicas de desenvolvimento. Seus cinco valores fundamentais são: comunicação, simplicidade, feedback, coragem e respeito. A comunicação é exercitada, entre outras práticas, pela programação em pares, onde dois desenvolvedores trabalham juntos em um mesmo código, um escrevendo e o outro revisando em tempo real. Essa prática não apenas melhora a qualidade do código, mas também promove a transferência de conhecimento entre os membros da equipe, especialmente entre seniores e juniores.
A integração contínua, por sua vez, é uma prática que consiste em integrar o código de todos os desenvolvedores em um repositório comum várias vezes ao dia, com cada integração sendo verificada por builds e testes automatizados. No XP, essa prática é aplicada desde o início do projeto, pois permite detectar erros rapidamente e manter o software sempre em um estado funcional. Adiar a integração contínua para as fases finais contraria o princípio do feedback rápido e aumenta o risco de conflitos e erros difíceis de corrigir.
A banca explora aqui a confusão entre o que é uma boa prática de gestão tradicional (separar níveis de senioridade, revisar código após a implementação) e o que o XP preconiza: colaboração intensa, propriedade coletiva do código e feedback contínuo. A alternativa correta é a que melhor sintetiza esses princípios, misturando programadores seniores e juniores em pares e aplicando integração contínua desde o início.
XP (eXtreme Programming): Valores (Comunicação, Simplicidade, Feedback, Coragem, Respeito); Programação em pares (Todos os níveis juntos, Transferência de conhecimento, Revisão em tempo real); Integração contínua (Desde o início, Feedback rápido, Builds e testes automatizados)
Alternativa A — ❌ Incorreta
Incentivar que programadores juniores formem pares apenas entre si contraria o princípio da comunicação e da transferência de conhecimento. No XP, a programação em pares é uma oportunidade de aprendizado e colaboração, e separar por nível de senioridade impede que os juniores se beneficiem da experiência dos seniores. Além disso, a premissa de que os seniores seriam "retardados" vai contra o valor do respeito e da colaboração.
Alternativa B — ✅ Correta ⟵ GABARITO
Esta alternativa está correta porque reflete duas práticas fundamentais do XP: a programação em pares, que deve envolver todos os desenvolvedores, independentemente do nível de senioridade, e a integração contínua, que deve ser aplicada desde o início do projeto. Misturar seniores e juniores em pares promove a colaboração e o aprendizado, enquanto a integração contínua desde o início garante feedback rápido e qualidade constante.
Alternativa C — ❌ Incorreta
Implementar integração contínua apenas nas fases finais do projeto contraria o princípio do feedback rápido e da entrega contínua. No XP, a integração contínua é uma prática que deve ser aplicada desde o início, pois permite detectar erros cedo e manter o software sempre funcional. Adiar essa prática aumenta o risco de conflitos e erros difíceis de corrigir.
Alternativa D — ❌ Incorreta
Desconsiderar a programação em pares e focar unicamente em revisões de código após a implementação vai contra os princípios do XP. A programação em pares é uma prática central do XP, que promove a revisão contínua do código durante o desenvolvimento, não apenas após a implementação. Além disso, a revisão de código após a implementação é uma prática mais tradicional, que não oferece o mesmo nível de feedback imediato.
Alternativa E — ❌ Incorreta
Limitar a programação em pares aos programadores seniores e deixar os juniores trabalharem de forma independente contraria o princípio da colaboração e da transferência de conhecimento. No XP, a programação em pares é uma prática que envolve todos os desenvolvedores, e separar por nível de senioridade impede que os juniores aprendam com os seniores e que a equipe trabalhe de forma coesa.