Questão de Engenharia de Software — Conceitos e Princípios das Metodologias Ágeis — FUNDATEC 2023
Engenharia de Software›Conceitos e Princípios das Metodologias Ágeis
Código
qa541326
Banca
FUNDATEC
Órgão
IFC
Ano
2023
Cargo
PEBTT ( )
Assinale a alternativa que apresenta corretamente um tipo de metodologia de desenvolvimento ágil.
AWrite-ahead.
BMock test.
CExtreme programming.
DConcurrent programming.
EDynamic programming.
Revelar gabarito e comentário▾
GabaritoC — Extreme programming.
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”.
Metodologias Ágeis: identificando o Extreme Programming (XP)
Gabarito: letra C. O Extreme Programming (XP) é uma metodologia ágil consagrada, focada em desenvolvimento incremental, entrega contínua e boas práticas de engenharia levadas ao extremo — é exatamente o que a alternativa C nomeia. As demais opções (write-ahead, mock test, concurrent programming e dynamic programming) são termos de outras áreas da computação, não metodologias ágeis de desenvolvimento de software.
As metodologias ágeis surgiram como reação aos modelos tradicionais e "pesados" de desenvolvimento, como o cascata, que eram vistos como burocráticos e lentos. O Manifesto Ágil, publicado em 2001, consolidou valores como: indivíduos e interações mais que processos e ferramentas; software funcionando mais que documentação abrangente; colaboração com o cliente mais que negociação de contratos; e responder a mudanças mais que seguir um plano. A partir desses valores, diversas metodologias e frameworks foram criados — e o XP é um dos mais importantes.
O Extreme Programming (XP) foi criado por Kent Beck em 1996, durante seu trabalho na Chrysler. A ideia central é levar boas práticas de engenharia de software ao "extremo": se testes são bons, faça testes o tempo todo (desenvolvimento orientado a testes); se revisões são boas, programe em pares; se o feedback é bom, entregue versões pequenas e frequentes. O XP é uma metodologia ágil voltada principalmente para a parte técnica do desenvolvimento, enquanto o Scrum, por exemplo, foca mais na gestão do projeto.
Na prática, o XP se apoia em cinco valores fundamentais: comunicação, simplicidade, feedback, coragem e respeito. E em doze práticas, entre elas: planejamento incremental com histórias de usuário, pequenos releases, programação em pares, propriedade coletiva do código, refatoração contínua e cliente presente (on-site). O código-fonte é considerado a melhor documentação, e a equipe é auto-organizada, sem hierarquia rígida.
A pegadinha desta questão é justamente o uso de termos que parecem técnicos e plausíveis, mas que pertencem a outros domínios da computação. O candidato que não conhece bem as metodologias ágeis pode se confundir e marcar uma alternativa que soa "de programação", mas que não é uma metodologia ágil. O critério decisivo é simples: metodologia ágil é um conjunto de princípios, valores e práticas para guiar o desenvolvimento de software de forma iterativa e incremental — e o XP é um dos exemplos mais clássicos.
Alternativa A — ❌ Incorreta
Write-ahead é um termo da área de banco de dados, referente à técnica de log write-ahead (WAL), usada para garantir durabilidade e atomicidade em transações. Não tem relação com metodologia ágil de desenvolvimento.
Alternativa B — ❌ Incorreta
Mock test (ou teste com mocks) é uma técnica de teste de software em que objetos simulados (mocks) substituem dependências reais para isolar o comportamento da unidade testada. É uma prática de teste, não uma metodologia ágil.
Alternativa C — ✅ Correta ⟵ GABARITO
Extreme Programming (XP) é uma metodologia ágil de desenvolvimento de software, criada por Kent Beck, que enfatiza desenvolvimento incremental, entrega contínua, testes frequentes, programação em pares e feedback rápido. É um dos exemplos mais cobrados de metodologia ágil em concursos.
Alternativa D — ❌ Incorreta
Concurrent programming (programação concorrente) é um paradigma de programação que trata da execução simultânea de múltiplas tarefas ou processos. É uma técnica de programação, não uma metodologia ágil.
Alternativa E — ❌ Incorreta
Dynamic programming (programação dinâmica) é uma técnica de otimização de algoritmos, usada para resolver problemas complexos dividindo-os em subproblemas sobrepostos. É um paradigma de programação, não uma metodologia ágil.
PEGA ESSA DICA!
Para questões que pedem para identificar metodologias ágeis, lembre-se dos principais nomes: Scrum, XP (Extreme Programming), Kanban, FDD (Feature Driven Development), DSDM (Dynamic Systems Development Method), Crystal e Lean. Se a alternativa trouxer um termo que parece técnico mas não está nessa lista, desconfie — provavelmente é um distrator de outra área da computação.