Apostilas em PDF – Desenvolvendo com Qualidade e Agilidade

Baixe o material de estudo



baixar curso online

Fala aí, Padawan! Hoje vamos explorar um tema que vive aparecendo em provas de concurso de TI — especialmente nas bancas tipo CESPE /Cebraspe, FCC, FGV e outras: o Extreme Programming, ou simplesmente XP.

Esse nome pode parecer coisa de desenho animado ou de videogame, mas XP é uma metodologia ágil poderosa, voltada para desenvolvimento de software com foco na qualidade, colaboração e resposta rápida a mudanças. Bora entender tudo isso de forma simples?

O que é o Extreme Programming (XP)?

Extreme Programming (XP) é uma metodologia ágil de desenvolvimento de software que valoriza a comunicação constante, a entrega frequente de versões, o feedback contínuo e, claro, o código de qualidade.

Criada por Kent Beck e Ward Cunningham no final dos anos 90, a ideia do XP é levar ao extremo boas práticas de desenvolvimento que já existiam. Coisas como escrever testes, fazer reuniões com o cliente e codar em dupla — tudo isso é amplificado!

Princípios do XP: onde tudo começa

O XP se apoia em 5 valores fundamentais:

  1. Comunicação: O time precisa conversar — entre si e com o cliente!
  2. Simplicidade: Criar só o que é necessário naquele momento. Nada de “gold plating” (funcionalidade desnecessária).
  3. Feedback: Entregar software rápido e obter retorno constante.
  4. Coragem: Refatorar sem medo, propor mudanças, excluir o que não faz sentido.
  5. Respeito: Ninguém é super-herói. O time todo é responsável pelo sucesso do projeto, respeitando diferenças e contribuições. 

Esses valores sustentam as práticas que veremos a seguir.

Práticas Essenciais do XP

XP tem uma lista de práticas que caem direto nas provas. Separei as principais:

1. Programação em par (pair programming)

Dois programadores trabalham juntos no mesmo código: um escreve, o outro revisa em tempo real. Isso reduz erros e melhora o conhecimento coletivo do sistema.

2. Desenvolvimento orientado por testes (TDD – Test Driven Development)

Primeiro se escreve o teste, depois o código que o faz passar. Parece estranho no começo, mas garante um software testável e confiável.

3. Refatoração constante

Melhorar o código sem alterar seu comportamento. Deixa o sistema limpo e preparado para futuras mudanças.

4. Integração contínua

Código novo é integrado ao sistema várias vezes ao dia. Nada de deixar mudanças acumularem por semanas!

5. Entrega contínua e versões pequenas

As funcionalidades são entregues em partes pequenas e frequentes. Isso reduz riscos e permite feedback constante do cliente.

6. Propriedade coletiva do código

Qualquer um pode alterar qualquer parte do sistema. O código é do time, não do “dono da classe”.

7. Cliente presente (on-site customer)

O cliente ou representante dele participa diariamente do projeto, tirando dúvidas e ajudando nas decisões.

8. Fases Pequenas (Small Releases)

Nada de esperar meses pra entregar um sistema gigante. No XP, a entrega é feita em pequenas versões funcionais, com melhorias contínuas.

9. Metáfora(Metaphor)

 Facilita a comunicação com metáforas. Por vezes evitar termos técnicos e usar de uma linguagem mais simples. 

10. Design Simples (Simple Design)

Nada de arquiteturas complexas desnecessárias. O sistema deve ser simples o suficiente para atender às funcionalidades atuais, mas flexível o bastante para evoluir.

11. Testes Automatizados (Automated Tests)

XP prega que uso de testes automatizados, principalmente os de unidade. Eles visam que as funcionalidades básicas do sistema não quebrem quando o código for alterado.

12. Testes de Aceitação (Customer Tests)

São testes criados junto com o cliente para validar se o sistema atende aos requisitos de negócio.

13. Ritmo sustentável( Sustainable Pace)

XP valoriza o bem-estar da equipe. Nada de virar noites e finais de semana no escritório.

14. Padronização do Código (Coding Standards)

Todo mundo no time segue o mesmo estilo de codificação: nomes de variáveis, indentação, comentários, etc.

Como é o ciclo de vida de um projeto XP?

  1. Planejamento: Cliente define funcionalidades em histórias de usuário (user stories).
  2. Jogo do Planejamento (Planning Game): Time estima esforço e define o que será entregue.
  3. Iterações Curtas: Cada ciclo dura de 1 a 2 semanas, com entregas funcionando no final.
  4. Release frequente: Novas versões vão para produção com frequência.

User Stories: como o cliente comunica suas necessidades

No XP, as funcionalidades são descritas como user stories, que são frases simples escritas do ponto de vista do usuário. Por exemplo:

“Como aluno, quero receber notificações por e-mail quando houver atualização no portal.”

Cada história é estimada em pontos ou tempo, e o time decide quantas consegue entregar por iteração.

Testes no XP: onde a qualidade nasce

Além dos testes automatizados com TDD, o XP valoriza testes de aceitação, escritos junto com o cliente, e testes de unidade, escritos pelos devs.

Esses testes são executados o tempo todo — inclusive na integração contínua — pra garantir que nada quebrou.

Código Limpo e Simples: menos é mais

XP incentiva manter o código o mais simples possível. Evita-se complexidade desnecessária e se refatora sempre que possível. Isso facilita a manutenção e reduz o risco de bugs.

E aí, Padawan! Viu como o XP é uma abordagem poderosa para desenvolver software com agilidade e qualidade? Entender suas práticas, valores e funcionamento vai te deixar muito à frente na hora da prova — além de te preparar melhor para o mercado de trabalho.

Agora é com você: que tal dar uma olhada em algumas questões sobre metodologias ágeis? Bora praticar!

CESPE / CEBRASPE – 2025 – SUSEP – Analista Técnico: – Área: Tecnologia da Informação e Ciência de Dados

Julgue o item subsecutivo, relativo a práticas adotas na implementação e na manutenção de software, gerência de configuração, lógica de programação e paradigmas de programação.  

O XP (programação extrema) enfatiza a entrega frequente de versões operacionais do software, desenvolvimento test-first, refatoração e integração contínua como mecanismos para gerenciar mudanças e manter a qualidade do software

Gabarito: VERDADEIRO
Justificativa: 

A afirmativa está correta. O Extreme Programming (XP) é uma metodologia ágil que enfatiza práticas como entregas frequentes de versões operacionais do software, o que permite obter feedback contínuo do cliente e adaptar o produto conforme necessário. O desenvolvimento test-first, também conhecido como TDD (Test Driven Development), é uma prática essencial no XP, em que os testes são escritos antes do código, garantindo que o sistema atenda aos requisitos desde o início. A refatoração contínua melhora a estrutura interna do código sem alterar seu comportamento, promovendo qualidade e manutenibilidade. Já a integração contínua assegura que as mudanças feitas no código sejam integradas várias vezes ao dia, evitando conflitos e erros acumulados. Todas essas práticas são fundamentais no XP para lidar com mudanças constantes e garantir a qualidade do software durante seu ciclo de vida.

CESPE / CEBRASPE – 2025 – BDMG – Analista de Desenvolvimento – Infraestrutura e Segurança Cibernética

Julgue o próximo item, relativos a metodologias ágeis. 

Na metodologia XP, os programadores estimam cada estória e predizem a quantidade de estórias que podem ser implementadas no final do release.

Gabarito: VERDADEIRO
Justificativa: 

A afirmativa está de acordo com a dinâmica do Planning Game no XP. Nessa prática, o cliente define as estórias com base no valor de negócio e os programadores são responsáveis por estimar o esforço necessário para implementar cada uma delas. Com base nessas estimativas e no desempenho das iterações anteriores, os desenvolvedores conseguem prever quantas estórias o time será capaz de entregar até o final de um release. Essa predição é feita com base na velocidade da equipe, mas como essa velocidade é inferida pelos próprios desenvolvedores a partir das estimativas, a banca pode considerar válido afirmar que eles “predizem” a quantidade de estórias viáveis dentro do prazo. A linguagem não é a mais técnica, mas está dentro do espírito do XP, o que justifica o gabarito como verdadeiro.

CESPE / CEBRASPE – 2025 – BDMG – Analista de Desenvolvimento – Infraestrutura e Segurança Cibernética

Julgue o próximo item, relativos a metodologias ágeis. 

Na metodologia XP, o refatoramento consiste na implementação das funcionalidades cujos componentes do código-fonte devem ser integrados várias vezes, à medida que tais funcionalidades sejam desenvolvidas e testadas unitariamente. 

Gabarito: FALSO
Justificativa: 

A questão mistura dois conceitos distintos do Extreme Programming: refatoração e integração contínua, o que torna a afirmativa incorreta. Na metodologia XP, refatoração é o processo de melhorar o design interno do código sem alterar seu comportamento externo. Ela é aplicada para manter o código limpo, legível, flexível e mais fácil de manter. Já a prática de integrar componentes do código várias vezes ao dia, à medida que novas funcionalidades são implementadas e testadas unitariamente, está relacionada à integração contínua. Ao confundir esses dois conceitos, a afirmativa compromete sua precisão técnica, o que justifica o gabarito como falso.

CESPE / CEBRASPE – 2025 – BDMG – Analista de Desenvolvimento – Infraestrutura e Segurança Cibernética

Julgue o próximo item, relativos a metodologias ágeis. 

Na metodologia XP, os releases devem ser tão grandes quanto possível, de maneira a conter a maior quantidade de requisitos importantes implementados e entregues para o cliente. 

Gabarito: FALSO
Justificativa: 

A afirmativa contradiz um dos princípios fundamentais da metodologia XP, que é a entrega frequente de releases pequenos (small releases). No XP, os releases devem ser pequenos, rápidos e incrementais, permitindo que o cliente receba valor continuamente, dê feedback e ajuste os requisitos com base nas necessidades reais do negócio. Entregar releases grandes aumenta o risco, dificulta o feedback rápido e compromete a agilidade, o que vai contra os valores do XP. Portanto, a ideia de que os releases devem ser “tão grandes quanto possível” está incorreta.

CESPE / CEBRASPE – 2025 – TRF – 6ª REGIÃO – Analista Judiciário – Área: Apoio Especializado – Especialidade: Análise de Sistemas de Informação

Julgue o item a seguir, no que se refere à engenharia de software e à análise de requisitos. 

As principais características do teste em programação extrema (XP) são o desenvolvimento orientado a testes a partir de cenários com participação do usuário e o uso de frameworks automatizados para garantir qualidade contínua.

Gabarito: VERDADEIRO
Justificativa: 

A afirmativa descreve corretamente práticas centrais da metodologia XP relacionadas a testes. No XP, o desenvolvimento orientado a testes (TDD – Test Driven Development) é amplamente utilizado, em que os desenvolvedores escrevem testes antes mesmo de implementar o código funcional. Além disso, o XP valoriza os testes de aceitação, que são definidos com a participação do cliente ou usuário, baseando-se em cenários que validam se o sistema atende aos requisitos do negócio. Também é prática comum no XP o uso de frameworks de testes automatizados, tanto para testes de unidade quanto para testes de aceitação, garantindo uma verificação constante da qualidade do software ao longo do seu desenvolvimento. Assim, o item está tecnicamente correto.

IADES – 2024 – CFM – Analista de Tecnologia da Informação

Certo engenheiro de software faz parte do time de desenvolvimento responsável pelo novo sistema de controle de ponto da empresa em que trabalha. Sua equipe possui profissionais de diferentes níveis de senioridade, porém esse engenheiro é o membro mais sênior do time.

Durante o desenvolvimento do sistema, foi decidido que seria utilizada uma técnica de programação que consistiria no uso de dois programadores que trabalhariam em conjunto, na mesma máquina, ao mesmo tempo, os quais revezariam entre si com diferentes responsabilidades. Um deles seria o responsável por guiar o outro na direção geral da programação, enquanto o outro seria o responsável por realizar a programação propriamente dita. Dessa forma, qual foi a metodologia adotada?

  1. Programação orientada a objetos
  2. Programação estruturada
  3. Pair programming
  4. Modelo incremental
  5. Software design

Gabarito: C — Pair programming
Justificativa: 

A descrição apresentada na questão corresponde exatamente à prática de programação em pares (pair programming), uma técnica central da metodologia Extreme Programming (XP). Nessa abordagem, dois programadores trabalham juntos no mesmo computador: um atua como “piloto”, escrevendo o código, enquanto o outro funciona como “copiloto” ou “navegador”, revisando o código em tempo real e pensando estrategicamente sobre o que está sendo feito. Eles trocam de função com frequência. Essa prática aumenta a qualidade do código, reduz bugs e promove o compartilhamento de conhecimento entre os membros do time. As demais alternativas não se relacionam com a prática descrita. Programação orientada a objetos (A) e programação estruturada (B) são paradigmas de desenvolvimento; o modelo incremental (D) é um modelo de ciclo de vida de software; e software design (E) refere-se à atividade de projetar a arquitetura do sistema. Assim, a única alternativa correta é a letra C.

FGV – 2024 – EPE – Analista de Gestão Corporativa – Tecnologia da Informação (Soluções)

A metodologia de desenvolvimento ágil eXtreme Programming (XP) visa à qualidade do software e à capacidade de resposta às mudanças de requisitos do cliente.

Assinale a opção que apresenta práticas típicas da metodologia XP. 

A )Pair programming, sprint planning e continuous integration.

B )refactoring, continuous integration e pair programming.

C )user stories, burndown charts e test-driven development.

D )test-driven development, retrospectives e daily stand-ups.

E )planning poker, refactoring e backlog grooming.

Gabarito: B — refactoring, continuous integration e pair programming.
Justificativa: A alternativa B apresenta práticas que são típicas e centrais do Extreme Programming (XP). A refatoração consiste em melhorar o código sem alterar seu comportamento, garantindo clareza e manutenibilidade. A integração contínua refere-se à prática de integrar e testar o código com frequência, várias vezes ao dia, para detectar rapidamente falhas e conflitos. Já a programação em pares (pair programming) é uma das marcas registradas do XP, em que dois desenvolvedores trabalham juntos no mesmo código, promovendo qualidade e compartilhamento de conhecimento.
As demais alternativas misturam práticas de outras metodologias ágeis, especialmente do Scrum:
A) sprint planning é uma prática do Scrum, não do XP.
C) burndown charts são gráficos de progresso geralmente usados no Scrum, mesmo não sendo prescrito no guia.
D) retrospectives também é prática típica do Scrum.
E) planning poker e backlog grooming são métodos de estimativa e refinamento do backlog, ambos geralmente aplicados ao Scrum, mesmo não sendo prescrito no guia.
Portanto, a única alternativa composta exclusivamente por práticas da metodologia XP é a letra B.

Fonte: Gran Cursos Online

Download disponível – Desenvolvendo com Qualidade e Agilidade



Baixar video aula

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *