Extreme Programming envolve um conjunto de práticas, algumas delas são:
- Planejamento Incremental: Os requisitos são registrados em cartões de histórias e as histórias a serem incluídas em um release são determinadas pelo tempo disponível e sua prioridade relativa. Os desenvolvedores dividem essas histórias em “tarefas”.
- Pequenos Releases: O conjunto mínimo útil de funcionalidade que agrega valor ao negócio é desenvolvido primeiro. Releases do sistema são frequentes e adicionam funcionalidade incrementalmente ao primeiro release.
- Projeto Simples: É realizado um projeto suficiente para atender aos requisitos atuais e nada mais.
- Desenvolvimento test-first: Um framework automatizado deteste unitário é usado para escrever os testes para uma nova parte da funcionalidade antes que esta seja implementada.
- Refactoring: Espera-se que todos os desenvolvedores recriem o código continuamente tão logo os aprimoramentos do código forem encontrados. Isso torna o código simples e fácil de manter.
- Programação em Pares: Os desenvolvedores trabalham em pares, um verificando o trabalho do outro e fornecendo apoio para realizar um bom trabalho.
- Propriedade Coletiva: Os pares de desenvolvedores trabalham em todas as áreas do sistema, de tal maneira que não se formem ilhas de conhecimento, com todos os desenvolvedores de posse de todo o código. Qualquer um pode mudar qualquer coisa.
- Integração Contínua: Tão logo o trabalho em uma tarefa seja concluído, este é integrado ao sistema como um todo. Depois de qualquer integração, todos os testes de unidade devem ser realizados.
- Ritmo Sustentável: Grandes quantidades de horas extras não são consideradas aceitáveis, pois, no médio prazo, há uma redução na qualidade do código e na produtividade.
- Cliente on-site: Um representante do usuário final do sistema (o cliente) deve estar disponível em tempo integral para apoiar a equipe XP. No processo da extreme programming, o cliente é membro da equipe de desenvolvimento e é responsável por trazer os requisitos do sistema à equipe para implementação.
(Fonte: Livro Engenharia de Software, Sommerville, 8ed, pag 264)
Então Alexandre, como já foi destacado pelos colegas, cada uma das alternativas está relacionada a uma prática distinta do XP. A questão pede para escolhermos a alternativa que descreve a prática de "Propriedade Coletiva". Logo, não poderia ser a letra "D" pois esta descreve a prática "Ritmo Sustentável". Gabarito letra "C".