Questão nº 29
Questão de Tecnologia da Informação · FCC PGE-AM 2022 (nº 29)
Um engenheiro de software, trabalhando em um projeto baseado na metodologia ágil XP, utiliza a prática
- A15-Minute Build, cujo objetivo é compilar todo o sistema e executar todos os testes em 15 minutos. Essa prática incentiva a equipe a usar esse processo de compilação automatizado para executar todos os testes diariamente.
- BIncremental Design, visando reduzir o custo das alterações, permitindo que se tomem decisões de projeto quando necessário com base nas informações mais atuais disponíveis e deixando o projeto mais simples, removendo a duplicação de processos. (alternativa correta)
- CTest-Fast Programming, que usa o ciclo "desenvolver código -> escrever testes -> executar testes", visando identificar e resolver falhas de forma rápida.
- DSlack, que busca não deixar que nenhuma tarefa ou história de baixa prioridade seja adicionada nos ciclos semanais e trimestrais, para que o engenheiro de software não se atrase e cumpra fielmente as estimativas previstas.
- EPair Programming, visando melhorar a qualidade do código, mesmo que leve o dobro do tempo. O engenheiro de software trabalha em um computador e seu par trabalha em outra máquina, lado a lado. Ao final do dia um revisa o código do outro e a melhor solução é incorporada ao sistema.
Resposta comentada
Gabarito Alternativa B
XP (Extreme Programming) é uma metodologia ágil focada em entregar software de alta qualidade de forma rápida e adaptável, através de práticas como feedback constante, comunicação intensa e simplicidade no design.
(A) Incorreta: A prática de Continuous Integration (Integração Contínua) em XP busca compilar e testar o sistema várias vezes ao dia, e o "15-Minute Build" é uma meta ou característica desejada para que essa integração seja rápida e eficaz, não uma prática nomeada por si só.
(B) Correta: O Design Incremental (ou Simple Design em XP) visa reduzir o custo de mudanças, evoluindo o design conforme a necessidade e o conhecimento aumentam, mantendo-o o mais simples possível e eliminando duplicações. Isso é feito através de decisões de projeto tomadas no último momento responsável, com base nas informações mais atuais.
(C) Incorreta: A prática fundamental de XP relacionada a testes é o Test-Driven Development (TDD), que segue o ciclo "escrever teste (que falha) -> escrever código (para passar no teste) -> refatorar". A descrição apresentada ("desenvolver código -> escrever testes -> executar testes") é o inverso de TDD e não é uma prática XP.
(D) Incorreta: Slack em metodologias ágeis refere-se a deixar uma pequena quantidade de tempo não alocado intencionalmente em uma iteração. Seu objetivo é permitir que a equipe absorva imprevistos, resolva bugs urgentes, realize refatorações ou invista em melhorias de processo, e não impedir a adição de tarefas de baixa prioridade para cumprir estimativas. (Armadilha da banca: usa um termo real, mas distorce completamente seu significado e propósito em XP.)
(E) Incorreta: Pair Programming (Programação em Par) é uma prática XP onde dois programadores trabalham juntos em um único computador, um escrevendo código e o outro revisando e pensando na estratégia. A ideia de "dobro do tempo" é um mito, pois a qualidade e a redução de bugs geralmente compensam. A descrição de trabalhar em máquinas separadas e revisar no final do dia descreve uma revisão de código tradicional, não Pair Programming.
Fonte: FCC PGE-AM 2022 Técnico em Gestão Procuratorial - Especialidade Engenharia de Software (Caderno Tipo 001). Reproduzida para fins de estudo.