Questão de Engenharia de Software — XP (Extreme Programming) — VUNESP 2023
Engenharia de Software›XP (Extreme Programming)
Código
vu196897
Banca
VUNESP
Órgão
SP Regula
Ano
2023
Cargo
ARSP ( )
A metodologia de desenvolvimento XP (Extreme Programming) apresenta diversas peculiaridades, sendo correto afirmar que
Aa chamada velocidade de projeto representa o desempenho médio obtido pela última versão do software.
Ba programação em pares é uma técnica utilizada na etapa de codificação.
Ca eventual criação de um protótipo denominado solução de ponta é feita na etapa de planejamento.
Das histórias de usuário são avaliadas e toma-se a decisão de quais implementar na etapa de teste.
Ecada software comporta exclusivamente uma única história de usuário.
Revelar gabarito e comentário▾
GabaritoB — a programação em pares é uma técnica utilizada na etapa de codificação.
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”.
Extreme Programming (XP): atividades e práticas
Gabarito: letra B. A programação em pares (pair programming) é uma das práticas mais marcantes do XP e é utilizada na atividade de codificação, na qual dois desenvolvedores trabalham juntos na mesma estação de trabalho para criar código para uma história de usuário. As demais alternativas distorcem conceitos do XP, como velocidade de projeto, solução de ponta, histórias de usuário e o papel do planejamento.
O XP (Extreme Programming) é uma metodologia ágil criada por Kent Beck em 1996, focada em práticas de engenharia de software levadas ao extremo, como desenvolvimento iterativo, feedback constante e comunicação intensa. Segundo Pressman, o XP emprega uma abordagem orientada a objetos e envolve quatro atividades metodológicas: planejamento, projeto (design), codificação e testes. Cada uma dessas atividades possui práticas e artefatos específicos, e é exatamente essa distribuição que a questão explora.
Na atividade de planejamento (também chamada de jogo do planejamento), o processo se inicia com a atividade de ouvir, que conduz à criação de um conjunto de histórias de usuário. O cliente atribui um valor (prioridade) a cada história, e os membros da equipe XP avaliam cada uma, atribuindo um custo medido em semanas de desenvolvimento. Clientes e desenvolvedores trabalham juntos para decidir como agrupar as histórias para a próxima versão. Após a entrega da primeira versão, a equipe calcula a velocidade do projeto, que é o número de histórias de clientes implementadas durante a primeira versão — utilizada para estimar datas de entrega e cronograma para versões subsequentes.
Na atividade de projeto, o XP segue rigorosamente o princípio KISS (keep it simple), desencorajando o projeto de funcionalidade extra. O XP estimula o uso de cartões CRC (classe-responsabilidade-colaborador) como mecanismo para pensar o software em contexto orientado a objetos. Se um problema de projeto difícil for encontrado, a XP recomenda a criação imediata de um protótipo operacional dessa parte do projeto, denominado solução pontual (spike solution). Esse protótipo é implementado e avaliado, mas não é um artefato da etapa de planejamento.
Na atividade de codificação, após o desenvolvimento das histórias e o trabalho preliminar de projeto, a equipe desenvolve uma série de testes de unidade que exercitarão cada história a ser incluída na versão corrente. Um conceito-chave nessa atividade é a programação em dupla (pair programming): o XP recomenda que duas pessoas trabalhem juntas em uma mesma estação de trabalho para criar código para uma história. Isso fornece um mecanismo para resolução de problemas em tempo real e garantia de qualidade em tempo real, pois o código é revisado à medida que é criado.
Na atividade de testes, os testes de unidade individuais são organizados em um conjunto de testes universal, permitindo que os testes de integração e validação do sistema ocorram diariamente. Os testes de aceitação da XP, também denominados testes de cliente, são especificados pelo cliente e mantêm o foco nas características e funcionalidades do sistema total que são visíveis e podem ser revisadas pelo cliente.
A pegadinha central desta questão é a associação incorreta entre práticas e atividades metodológicas. A banca mistura conceitos de fases diferentes do XP, como colocar a solução de ponta no planejamento (quando ela pertence ao projeto) ou as histórias de usuário na etapa de teste (quando elas são criadas no planejamento). Guarde a fronteira entre as quatro atividades e suas práticas: é exatamente nela que as alternativas se dividem.
Atividades do XP: Planejamento (Histórias de usuário, Velocidade do projeto); Projeto (Cartões CRC, Solução pontual (spike)); Codificação (Testes de unidade, Programação em pares); Testes (Testes de integração, Testes de aceitação)
Alternativa A — ❌ Incorreta
A velocidade de projeto não representa o desempenho médio obtido pela última versão do software. A velocidade do projeto é o número de histórias de clientes implementadas durante a primeira versão do software, utilizada para estimar datas de entrega e cronograma para versões subsequentes. A alternativa confunde o conceito de velocidade do projeto com uma métrica de desempenho da última versão, o que não corresponde à definição do XP.
Alternativa B — ✅ Correta ⟵ GABARITO
A programação em pares é, de fato, uma técnica utilizada na etapa de codificação. O XP recomenda que duas pessoas trabalhem juntas em uma mesma estação de trabalho para criar código para uma história, fornecendo resolução de problemas em tempo real e garantia de qualidade em tempo real, pois o código é revisado à medida que é criado. Essa é uma das práticas mais discutidas e características do XP.
Alternativa C — ❌ Incorreta
A solução de ponta (spike solution) não é criada na etapa de planejamento, mas sim na etapa de projeto. Quando um problema de projeto difícil é encontrado, a XP recomenda a criação imediata de um protótipo operacional dessa parte do projeto, denominado solução pontual. A alternativa desloca essa prática para a fase errada do processo.
Alternativa D — ❌ Incorreta
As histórias de usuário não são avaliadas na etapa de teste. Elas são criadas e avaliadas na etapa de planejamento (jogo do planejamento), onde o cliente atribui prioridade e a equipe atribui custo. A decisão de quais histórias implementar também ocorre no planejamento, quando clientes e desenvolvedores trabalham juntos para agrupar histórias para a próxima versão. A etapa de testes foca na execução dos testes de unidade, integração e aceitação.
Alternativa E — ❌ Incorreta
Cada software não comporta exclusivamente uma única história de usuário. Na verdade, o XP trabalha com múltiplas histórias de usuário que descrevem resultados, características e funcionalidades solicitados para o software. As histórias são agrupadas e priorizadas para cada versão, e novas histórias podem ser escritas a qualquer momento. A alternativa contraria a natureza incremental e iterativa do XP.