Pular para o conteúdo principal

Questão de Engenharia de Software — Conceitos e Princípios das Metodologias Ágeis — FUNDATEC 2023

Engenharia de SoftwareConceitos 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.

  1. AWrite-ahead.
  2. BMock test.
  3. CExtreme programming.
  4. DConcurrent programming.
  5. 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.

Gabarito: letra C

Link permanente: /questoes/qa541326