Questão
ID 67202Disciplina: Tecnologia da Informação
Assuntos: Conceitos Básicos de Metodologias Ágeis, Conceitos Básicos de Processos de Desenvolvimento, Modelo em Cascata
Ano: 2025 Banca: PERFIL - ENADE Órgão: Terceiro Simulado Pnd
Em uma disciplina de Engenharia de Software, o professor quer que os alunos compreendam as diferenças entre as abordagens de desenvolvimento de software 'Cascata' (Waterfall) e 'Ágil' (Agile). Ele apresenta um trecho de um artigo de Martin Fowler: "O modelo em Cascata trata a análise, o projeto, a codificação e o teste como fases distintas e sequenciais. Supõe-se que todos os requisitos podem ser conhecidos e congelados no início, e o projeto flui como uma cachoeira de uma fase para a outra. A abordagem Ágil, por outro lado, abraça a mudança. Ela opera em ciclos curtos e iterativos (sprints), entregando pequenas fatias de software funcional a cada ciclo. O feedback do cliente é incorporado continuamente, e o plano é adaptado a cada iteração. A escolha entre as abordagens depende da natureza do projeto. A Cascata pode ser adequada para projetos onde os requisitos são extremamente estáveis, bem definidos e o domínio do problema é bem compreendido. A Ágil é mais adequada para projetos onde os requisitos são voláteis, o cliente não tem certeza do que quer, e a exploração e a adaptação são necessárias." O professor então propõe dois cenários de projeto:
Cenário 1: O desenvolvimento de um software de controle para o sistema de suporte de vida de uma espaçonave. Os requisitos são definidos por leis da física, são imutáveis e a segurança e a correção são absolutamente críticas.
Cenário 2: O desenvolvimento de um novo aplicativo de rede social para um mercado de startups altamente competitivo. As preferências dos usuários são desconhecidas e a capacidade de responder rapidamente às tendências e ao feedback dos primeiros usuários é crucial para a sobrevivência do produto.
Qual abordagem de desenvolvimento seria mais apropriada para cada cenário?