A Programação Extrema sugere práticas que devem ser utilizadas durante o desenvolvimento de software, que quando utilizadas em conjunto ajudam a mitigar os riscos do processo de desenvolvimento e geram alta qualidade no resultado: I) grupo de participação do cliente: neste grupo, temos quatro práticas que priorizam o feedback do cliente, pois nada melhor que a opinião das partes interessadas para garantir a qualidade do software e atingir o sucesso do projeto. No Desenvolvimento Orientado a Testes (Test-Driven Development - TDD), os testes devem ser escritos antes da etapa de desenvolvimento e devem ser executados de preferência de forma automatizada. O jogo de planejamento (Planning Game) é uma reunião de planejamento para estimar histórias e priorizar. O jogo consiste em criar uma distância emocional do planejamento, tratando este como se fosse um jogo. Neste jogo, as peças são as histórias de usuários. O objetivo é colocar o maior valor possível nas histórias em produção ao longo do jogo. Os jogadores são equipes de negócios e desenvolvedores com várias possibilidades de movimentações; II) grupo de atividade contínua: neste grupo, temos três práticas para garantir a integração e a qualidade do software. Na integração contínua (Continuous Integration), o processo de integração contínua produz, em intervalos regulares, versões executáveis que adicionam funcionalidades a cada versão. A refatoração (refactoring) considera o código pertencente ao projeto, e não a um desenvolvedor individualmente Por exemplo, a verificação de códigos duplicados ou variáveis desnecessárias no código devem ser corrigidas na refatoração, ou seja, refatoração é mudar a implementação sem alterar a funcionalidade. Realizar pequenos lançamentos (small releases) é uma prática central do XP. Com ciclos curtos, deve-se fornecer um conjunto pequeno de funcionalidades, ou seja, implementar apenas algumas histórias de usuários a cada ciclo; III) grupo de entendimento compartilhado: neste grupo, temos três práticas para a compreensão compartilhada do projeto. No Design Simples (Simple Design), a ideia principal é implementar apenas o que tem valor para o negócio. Os quatro mandamentos da simplicidade do código são: 1. passa em todos os testes; 2. claro, expressivismo e consistente; 3. não duplicar comportamento ou configuração; 4. mínimo de métodos, classes e módulos. A propriedade coletiva do código (Collective Ownership) tem como objetivo melhorar o design do código. Para trabalhar neste modo, é necessário, pelo menos: padrão de codificação que todos utilizam; ferramenta de gerenciamento de código; testes unitários de forma abrangente para garantir qualidade; refatoração para encontrar métodos antigos e realizar a substituição por novos; integração contínua para eliminar a chance de conflitos. Questão 1Escolha uma opção: a. a) II e III corretas. b. d) I e II incorretas. c. b) II e III incorretas. d. c) I e II corretas.