Questão de Engenharia de Software — Processos de Software - Desenvolvimento Ágil — FCC 2022
Engenharia de Software›Processos de Software - Desenvolvimento Ágil
Código
fc062353
Banca
FCC
Órgão
PGE-AM
Ano
2022
Cargo
Técnico em Gestão Procuratorial Especialidade Engenharia de Software
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.
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.
Revelar gabarito e comentário▾
GabaritoB — Incremental 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.
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”.
XP (eXtreme Programming) – Práticas
Gabarito: letra B. A prática de Incremental Design no XP busca reduzir custos de alterações, permitindo decisões de projeto baseadas nas informações mais recentes, mantendo o projeto simples e sem duplicação. As demais alternativas apresentam nomes ou descrições incorretas das práticas do XP.
Prática XP
Descrição Correta
Descrição da Alternativa
Correta?
Incremental Design
Projetar apenas o suficiente para a iteração atual, reduzindo custos de mudanças futuras, mantendo o design simples e eliminando duplicação.
Visa reduzir o custo das alterações, permitindo decisões de projeto quando necessário com base nas informações mais atuais e deixando o projeto mais simples, removendo a duplicação.
✅ Sim (Alternativa B)
Continuous Integration (10-minute build)
Compilar e executar todos os testes rapidamente (idealmente em 10 minutos) sempre que uma alteração é integrada.
15-Minute Build, compilar todo o sistema e executar todos os testes em 15 minutos, usado diariamente.
❌ Não (Alternativa A)
Test-Driven Development (TDD)
Escrever o teste antes do código, codificar para passar no teste e refatorar.
Incluir pequenas folgas no planejamento para absorver imprevistos.
Não deixar que tarefas de baixa prioridade sejam adicionadas nos ciclos, para cumprir estimativas.
❌ Não (Alternativa D)
Pair Programming
Dois programadores no mesmo computador: um digita (driver) e o outro revisa em tempo real (navigator).
Trabalhar em máquinas separadas e revisar ao final do dia.
❌ Não (Alternativa E)
Práticas do XP: Planejamento (Planning Game, Small Releases); Design (Simple Design, Incremental Design, Refactoring); Codificação (Pair Programming, TDD, Collective Code Ownership); Teste (Continuous Integration, Testes de Aceitação); Equipe (Stand-up Meeting, Slack)
Alternativa A — ❌ Incorreta
O “15-Minute Build” não é uma prática do XP. A prática real é o Continuous Integration com build automatizado (geralmente chamado de 10-minute build), que compila e executa testes rapidamente, mas não com nome fixo de 15 minutos. A descrição é aproximada, mas o nome e a precisão estão errados.
Alternativa B — ✅ Correta ⟵ GABARITO
O Incremental Design é uma prática central do XP: projeta-se apenas o suficiente para a iteração atual, reduzindo custos de mudanças futuras, mantendo o design simples e eliminando duplicação. A descrição está alinhada com os princípios do XP.
Alternativa C — ❌ Incorreta
“Test-Fast Programming” não existe no XP. O ciclo correto é o Test-Driven Development (TDD): escrever o teste antes do código, depois codificar para passar no teste e refatorar. A ordem apresentada (desenvolver código → escrever testes → executar) inverte o fluxo do TDD.
Alternativa D — ❌ Incorreta
O conceito de Slack no XP é incluir pequenas folgas (tempo extra) no planejamento para absorver imprevistos, e não excluir tarefas de baixa prioridade. A descrição está equivocada.
Alternativa E — ❌ Incorreta
No Pair Programming, dois programadores trabalham juntos no mesmo computador: um digita (driver) e o outro revisa em tempo real (navigator). A alternativa descreve erroneamente que trabalham em máquinas separadas e revisam ao final do dia, o que não corresponde à prática.
PEGA ESSA DICA!
Para fixar as práticas do XP, lembre-se dos grupos: Práticas de Planejamento (Planning Game, Small Releases), Práticas de Design (Simple Design, Incremental Design, Refactoring), Práticas de Codificação (Pair Programming, TDD, Collective Code Ownership), Práticas de Teste (Continuous Integration, Testes de Aceitação) e Práticas de Equipe (Stand-up Meeting, Coding Standards). A FCC costuma cobrar a definição correta de cada uma.