Kent Beck e Programação Extrema: TDD, Iteração, Feedback
Explore como Kent Beck e a Programação Extrema popularizaram o TDD, iterações curtas e ciclos de feedback — e por que essas ideias ainda orientam equipes hoje.

Por que Kent Beck e XP continuam relevantes
A Programação Extrema (Extreme Programming, XP) de Kent Beck às vezes é tratada como peça de época da era inicial da web: interessante, influente e um pouco datada. Mas muitos dos hábitos que tornam equipes de software modernas eficazes — entregar com frequência, obter sinais rápidos dos usuários, manter o código fácil de alterar — mapeiam diretamente para as ideias centrais do XP.
O objetivo deste artigo é simples: explicar de onde veio o XP, o que ele tentou consertar e por que suas melhores partes ainda funcionam. Não é um tributo nem um conjunto de regras que você deve seguir. Pense nisso como um tour prático por princípios que ainda aparecem em equipes de engenharia saudáveis.
Três temas recorrentes
XP é um conjunto de práticas, mas três temas surgem repetidamente:
- TDD (Test-Driven Development): usar testes não apenas para prevenir bugs, mas para moldar o design ao forçar clareza sobre o que o código deve fazer.
- Iteração: entregar trabalho em lotes pequenos e frequentes para aprender mais cedo e evitar longos períodos de esforço sem validação.
- Ciclos de feedback: criar ciclos curtos de “tentar → observar → ajustar” por meio de testes, pareamento, integração e resultados reais de usuários.
Para quem é isto
Se você é engenheiro, tech lead, gerente de engenharia ou um leitor com visão de produto que colabora de perto com desenvolvedores, o XP oferece um vocabulário comum sobre como “avançar rápido sem quebrar tudo” na prática.
O que você vai tirar daqui
Ao final, você deverá ser capaz de:
- Reconhecer a intenção por trás das práticas do XP (não só os rituais).
- Aplicar algumas técnicas de alto impacto — como iterações menores, feedbacks mais apertados e refatoração proposital — sem adotar o “XP completo”.
- Evitar leituras equivocadas comuns (por exemplo, tratar TDD como mera checagem de caixas, ou iteração como churn constante).
O XP ainda importa porque trata o desenvolvimento de software como um problema de aprendizado, não de previsão — e dá às equipes maneiras concretas de aprender mais rápido.
Kent Beck em contexto: qual problema o XP estava resolvendo?
Kent Beck é frequentemente apresentado como quem nomeou a Programação Extrema (XP) e, depois, ajudou a moldar o movimento Ágil. Mas o XP não começou como um exercício teórico. Foi uma resposta prática a um tipo específico de dor: projetos onde requisitos mudavam, o software quebrava e as equipes só aprendiam os “problemas reais” quando já era tarde demais.
As pressões de projeto que geraram o XP
O XP surgiu de restrições reais de entrega — prazos apertados, escopo em evolução e o custo crescente de surpresas tardias. Equipes eram pedidas para construir sistemas complexos enquanto o negócio ainda descobria o que precisava. Planos tradicionais presumiam estabilidade: coletar requisitos no início, projetar tudo, implementar e testar perto do final. Quando essa estabilidade não existia, o plano desmoronava.
Contra o que o XP reagia
O principal inimigo que o XP atacava não era “documentação” ou “processo” em geral — era o feedback tardio.
Métodos pesados e em fases tendiam a adiar o aprendizado:
- Clientes viam software funcionando tardiamente, então suposições erradas persistiam por meses.
- Testes aconteciam no fim, então defeitos se acumulavam e se tornavam caros de corrigir.
- Integração ocorria no final, então equipes descobriam conflitos quando o cronograma não tinha margem.
O XP mudou a ordem: encurtar o tempo entre ação e informação. Por isso práticas como Test-Driven Development (TDD), integração contínua, refatoração e programação em pares se encaixam — todas são ciclos de feedback.
XP é mais do que “mover rápido”
Chamá‑lo de “Extreme” era um lembrete para empurrar boas ideias mais longe: testar mais cedo, integrar com mais frequência, comunicar continuamente, melhorar o design enquanto se aprende. XP é um conjunto de práticas guiadas por valores (como comunicação e simplicidade), não um aval para atalhos. O objetivo é velocidade sustentável: construir a coisa certa e mantê‑la funcionando conforme a mudança continua.
Os valores por trás das práticas
Extreme Programming (XP) não é um amontoado de truques de engenharia. Kent Beck o enquadrou como um conjunto de valores que orientam decisões quando a base de código muda todo dia. As práticas — TDD, programação em pares, refatoração, integração contínua — fazem mais sentido quando se entende o que tentam proteger.
Os cinco valores do XP (em termos simples)
Comunicação significa “não deixar conhecimento preso na cabeça de uma pessoa”. Por isso o XP aposta em programação em pares, propriedade compartilhada do código e checagens pequenas e frequentes. Se uma decisão de design importa, ela deve ser visível na conversa e no código — não escondida em um modelo mental privado.
Simplicidade significa “fazer a coisa mais simples que funciona hoje”. Isso aparece em pequenos lançamentos e refatoração: construa o que precisa agora, mantenha limpo e deixe o uso real moldar o próximo passo.
Feedback significa “aprender rápido”. XP transforma feedback em hábito diário por meio do TDD (feedback instantâneo sobre correção e design), integração contínua (feedback rápido sobre risco de integração) e revisões regulares com cliente/equipe.
Coragem significa “fazer a mudança que melhora o sistema, mesmo quando é desconfortável”. Coragem é o que torna refatoração e excluir código morto algo normal, não assustador. Bons testes e CI tornam essa coragem racional.
Respeito significa “trabalhar de forma sustentável para as pessoas”. Está por trás de práticas como pareamento (apoio), ritmo razoável e tratar qualidade do código como responsabilidade compartilhada.
Como os valores orientam trade-offs reais
Uma escolha comum no XP: você pode construir um framework flexível “para o caso de” ou implementar uma solução direta agora. XP escolhe simplicidade: entregue a versão simples com testes e refatore quando surgir um segundo caso real. Isso não é preguiça — é uma aposta de que feedback vence especulação.
A origem do TDD: de teste a feedback de design
Antes do XP, testar muitas vezes significava uma fase separada perto do fim do projeto. Equipes construíam funcionalidades por semanas ou meses e então entregavam para QA ou faziam um grande teste manual antes do lançamento. Bugs eram descobertos tardiamente, correções eram arriscadas e o ciclo de feedback era lento: quando um defeito aparecia, o código já havia crescido ao redor dele.
De “testar depois” à disciplina de testar primeiro
O empurrão de Kent Beck com Test-Driven Development (TDD) foi um hábito simples mas radical: escrever um teste primeiro, ver ele falhar, então escrever a menor mudança para fazê‑lo passar. A regra do “teste que falha primeiro” não é teatro — força você a esclarecer o que quer que o código faça antes de decidir como fazê‑lo.
Red–Green–Refactor em termos simples
TDD costuma ser resumido como Red–Green–Refactor:
- Red: Escreva um teste para um comportamento mínimo. Exemplo: “Quando adiciono dois itens com preço 5 e 7, o total é 12.” Rode os testes e veja falhar.
- Green: Implemente o menor código que faça o teste passar (talvez uma função
total()que some os preços dos itens). - Refactor: Limpe o código sem mudar comportamento — renomeie variáveis, remova duplicação, melhore a estrutura — e rode os testes novamente para manter confiança.
Por que não era apenas “mais testes”
A mudança mais profunda foi tratar testes como uma ferramenta de feedback de design, não apenas uma rede de segurança adicionada no fim. Escrever o teste primeiro te empurra para interfaces menores e mais claras, menos dependências ocultas e código mais fácil de mudar. Em termos do XP, o TDD apertou o ciclo de feedback: a cada poucos minutos você aprende se a direção de design está funcionando — enquanto o custo de mudar de ideia ainda é baixo.
O que o TDD mudou na engenharia do dia a dia
TDD não só adicionou “mais testes”. Mudou a ordem do pensamento: escreva uma pequena expectativa primeiro, depois o código mais simples que a satisfaça, depois limpe. Com o tempo, esse hábito desloca a engenharia de depurações heroicas para progresso constante e de baixo drama.
Como são os bons testes de unidade
Os testes de unidade que apoiam bem o TDD tendem a compartilhar algumas características:
- Rápidos: executam em milissegundos e podem ser rodados constantemente — localmente, antes de cada commit.
- Focados: cada teste verifica um comportamento; falhas indicam um problema específico.
- Legíveis: o nome do teste e a configuração explicam a intenção (“o que deve acontecer”) mais do que a mecânica (“como acontece”).
Uma regra útil: se você não consegue dizer rapidamente por que um teste existe, ele não está justificando sua existência.
O impacto silencioso do TDD no design de APIs
Escrever o teste primeiro faz você ser o caller antes de ser o implementador. Isso frequentemente leva a interfaces mais limpas porque o atrito aparece imediatamente:
- Construtores estranhos e muitos parâmetros ficam óbvios.
- Dependências ocultas (globais, singletons, tempo, aleatoriedade) forçam a criação de seams.
- Você naturalmente projeta funções menores e compostáveis porque são mais fáceis de exercitar.
Na prática, o TDD empurra equipes para APIs que são mais fáceis de usar, não apenas de construir.
Equívocos comuns
Dois mitos causam muita decepção:
- “TDD significa testar tudo.” Significa testar os comportamentos valiosos no nível certo. Parte do código é melhor validada com testes de integração ou até simples asserções.
- “Se fazemos TDD, não precisamos de testes de integração.” Testes de unidade protegem comportamentos pequenos; testes de integração protegem o enredo, configuração e dependências reais.
Onde o TDD é mais difícil (e o que fazer em vez disso)
TDD pode ser doloroso em código legado (acoplamento forte, falta de seams) e em código de UI (dirigido a eventos, com muito estado e cola de frameworks). Em vez de forçar:
- Para código legado, comece com testes de caracterização ao redor do comportamento existente e depois refatore em passos pequenos.
- Para áreas com UI intensa, mova lógica para unidades testáveis e confie mais em testes de integração/aceitação nas fronteiras.
Usado assim, o TDD vira uma ferramenta prática de feedback de design — não um teste de pureza.
Iteração: entregar em lotes pequenos
Iteração no XP significa entregar trabalho em fatias pequenas e com limite de tempo — lotes pequenos o suficiente para terminar, revisar e aprender rapidamente. Em vez de tratar o lançamento como um evento raro, XP vê a entrega como um ponto de verificação frequente: construa algo pequeno, prove que funciona, obtenha feedback e decida o próximo passo.
Por que ciclos mais curtos reduzem risco
Planos grandes pressupõem que você pode prever necessidades, complexidade e casos de borda com meses de antecedência. Em projetos reais, requisitos mudam, integrações surpreendem e funcionalidades “simples” revelam custos ocultos.
Ciclos curtos reduzem esse risco ao limitar por quanto tempo você pode estar errado. Se uma abordagem não funciona, você descobre em dias — não em trimestres. Também torna o progresso visível: stakeholders veem incrementos reais de valor em vez de relatórios de status.
Planejamento leve: histórias de usuário + critérios de aceitação
O planejamento de iteração no XP é intencionalmente simples. Times costumam usar histórias de usuário — descrições curtas de valor do ponto de vista do usuário — e adicionam critérios de aceitação para definir o “pronto” em linguagem clara.
Uma boa história responde: quem quer o quê e por quê? Critérios de aceitação descrevem comportamento observável (“Quando eu faço X, o sistema faz Y”), o que ajuda todo mundo a alinhar sem escrever uma especificação gigante.
Exemplos de cadência prática (e o que revisar)
Uma cadência comum no XP é semanal ou quinzenal:
- Iterações semanais funcionam bem quando o domínio é incerto ou o feedback é crucial. Mantém o escopo pequeno: um par de histórias, uma fatia vertical fina e um lançamento rápido.
- Iterações quinzenais dão um pouco mais de espaço para trabalhos em múltiplos passos, mantendo ainda integração e revisão regulares.
No fim de cada iteração, equipes normalmente revisam:
- O que foi entregue (demonstração de software funcionando)
- Se os critérios de aceitação foram atendidos
- Que feedback mudou prioridades
- O que atrasou a equipe (uma retro pequena com uma ou duas melhorias concretas)
O objetivo não é cerimônia — é um ritmo constante que transforma incerteza em próximos passos informados.
Ciclos de feedback: o motor do XP
Extreme Programming (XP) costuma ser descrito por suas práticas — testes, pareamento, integração contínua —, mas a ideia unificadora é mais simples: encurtar o tempo entre fazer uma mudança e aprender se ela foi boa.
De onde o feedback realmente vem
XP empilha múltiplos canais de feedback para que você nunca espere muito para descobrir que está fora do rumo:
- Testes (especialmente de unidade): sinal imediato de que o comportamento se mantém.
- Revisão de código / pareamento: um segundo olhar pega equívocos enquanto são baratos.
- Builds de CI: a equipe aprende rápido se mudanças quebram a integração, não dias depois.
- Demonstrações ao cliente (ou checagens com stakeholders): valida se você construiu a coisa certa, não apenas se ela “funciona”.
Por que feedback rápido vence previsão perfeita
Previsão é cara e frequentemente errada porque requisitos reais e restrições aparecem tarde. XP assume que você não vai prever tudo, então otimiza para aprender cedo — quando mudar de direção ainda é barato.
Um loop rápido transforma incerteza em dados. Um loop lento transforma incerteza em discussão.
Idea → Code → Test → Learn → Adjust → (repeat)
O custo do feedback lento
Quando o feedback leva dias ou semanas, problemas se multiplicam:
- Retrabalho cresce: você constrói mais sobre uma suposição errada.
- Defeitos endurecem: pequenos bugs viram problemas sistêmicos quando copiados e dependidos.
- Expectativas divergem: stakeholders imaginam um resultado enquanto a equipe entrega outro.
O “motor” do XP não é nenhuma prática isolada — é a forma como esses loops se reforçam para manter o trabalho alinhado, a qualidade alta e as surpresas pequenas.
Programação em pares como controle de qualidade em tempo real
Programação em pares costuma ser descrita como “duas pessoas, um teclado”, mas a ideia real no XP é revisão contínua. Em vez de esperar por um pull request, o feedback acontece minuto a minuto: nomes, casos de borda, escolhas arquiteturais e até se a mudança vale a pena.
Revisão contínua + contexto compartilhado
Com duas mentes no mesmo problema, pequenos erros são pegos enquanto ainda são baratos. O navegador nota a checagem de nulo faltante, o nome de método confuso ou a dependência arriscada antes que vire um bug.
O pareamento também espalha contexto. A base de código deixa de parecer um conjunto de territórios privados. Quando o conhecimento é compartilhado em tempo real, a equipe não depende de poucas pessoas que “sabem como funciona” e o onboarding deixa de ser uma caça ao tesouro.
Benefícios de feedback perceptíveis
Por causa do loop imediato, equipes frequentemente veem menos defeitos escapando para estágios posteriores. O design também melhora: é mais difícil justificar uma abordagem complicada quando você precisa explicá‑la em voz alta. O ato de narrar decisões tende a emergir designs mais simples, funções menores e fronteiras mais claras.
Preocupações comuns (e como times XP as tratam)
- “Não é o dobro do custo?” Não se isso previne retrabalho, longas revisões e problemas em produção. Você troca limpeza posterior por clareza antecipada.
- Fadiga: parear o dia todo pode cansar. Muitas equipes pareiam seletivamente (novas features, refatores difíceis) e permitem tempo solo para tarefas rotineiras.
- Níveis de habilidade distintos: isso é normal. Bem feito, é mentoria sem reunião formal — e ainda entrega.
Padrões práticos de pareamento
Driver/Navigator: Um digita, o outro revisa, pensa à frente e faz perguntas. Troquem de papel regularmente.
Pares rotativos: Mude parceiros diariamente ou por história para evitar silos de conhecimento.
Sessões com tempo boxeado: Pareiem por 60–90 minutos, depois façam uma pausa ou mudem de tarefa. Isso mantém o foco e reduz burnout.
Refatoração: manter o código saudável conforme cresce
Refatoração é a prática de mudar a estrutura interna do código sem alterar o que o software faz. No XP, não era tratada como um dia ocasional de limpeza — era trabalho rotineiro, feito em passos pequenos junto com o desenvolvimento de funcionalidades.
Por que o XP fez da refatoração um hábito
XP presumiu que os requisitos mudariam e que a melhor maneira de permanecer responsivo é manter o código fácil de alterar. Refatoração previne a “decadência do design”: o acúmulo lento de nomes confusos, dependências emaranhadas e lógica copiada que torna cada mudança futura mais lenta e arriscada.
Como o TDD torna a refatoração segura
Refatorar é confortável quando você tem uma rede de segurança. O TDD suporta a refatoração construindo uma suíte de testes rápida e repetível que diz se o comportamento mudou por acidente. Quando os testes estão verdes, você pode renomear, reorganizar e simplificar com confiança; quando falham, recebe feedback rápido sobre o que quebrou.
Objetivos comuns da refatoração
Refatorar não é sobre esperteza — é sobre clareza e flexibilidade:
- Legibilidade: nomes melhores, funções menores, intenção mais clara.
- Remover duplicação: uma peça bem nomeada em vez de três cópias ligeiramente diferentes.
- Fronteiras mais claras: isolar responsabilidades para que mudanças não se propaguem por todo o sistema (por exemplo, separar regras de negócio do banco de dados ou da UI).
Anti‑padrões a evitar
Dois erros aparecem com frequência:
- Refatorar sem testes: você “melhora” código às cegas, então a equipe fica com medo de mexer.
- Um “grande reescrever” disfarçado de refactor: comportamento muda, prazos explodem e perde‑se o aprendizado contínuo que o XP exige. Refatoração deve ser incremental, verificável e reversível — passos pequenos que mantêm o sistema saudável enquanto cresce.
Integração Contínua: detectar problemas enquanto são pequenos
Integração Contínua (CI) é uma ideia do XP com um objetivo simples: mesclar trabalho frequentemente para que problemas apareçam cedo, quando ainda são baratos de corrigir. Em vez de cada pessoa desenvolver em isolamento por dias (ou semanas) e depois “descobrir” no final que as coisas não se encaixam, a equipe mantém o software em um estado que pode ser reunido com segurança — muitas vezes ao dia.
CI em termos do XP: integrar com frequência
XP trata integração como uma forma de feedback. Cada merge responde questões práticas: Quebrou algo sem querer? Nossas mudanças continuam funcionando com as dos outros? Quando a resposta é “sim”, você quer saber em minutos, não no fim da iteração.
O que um pipeline faz (sem jargão)
Um pipeline de build é basicamente uma lista de verificação repetível que roda sempre que o código muda:
- Monta o produto (para saber se ainda “compila”).
- Roda checagens automatizadas (para saber se comportamentos-chave ainda funcionam).
- Reporta resultados rapidamente (para você consertar enquanto o contexto ainda está fresco).
Mesmo para stakeholders não técnicos, o valor é fácil de perceber: menos quebras-surpresa, demos mais suaves e menos correria de última hora.
Por que acelera iterações
Quando o CI funciona bem, equipes podem entregar lotes menores com mais confiança. Essa confiança muda comportamento: as pessoas ficam mais dispostas a fazer melhorias, refatorar com segurança e entregar valor incremental em vez de acumular mudanças.
Adições modernas (sem dogma)
O CI de hoje frequentemente inclui checagens automatizadas mais ricas (scans de segurança, verificações de estilo, testes de fumaça de performance) e fluxos como desenvolvimento baseado no trunk, onde mudanças são mantidas pequenas e integradas rapidamente. O ponto não é seguir um template “correto” — é manter o feedback rápido e a integração rotineira.
Críticas, usos indevidos e quando adaptar o XP
XP provoca opiniões fortes porque é incomumente explícito sobre disciplina. Isso também facilita mal‑entendidos.
O repúdio usual (e o que tem de verdade)
Você vai ouvir: “XP é rígido demais” ou “TDD nos deixa mais lentos.” Ambos podem ser verdade — temporariamente.
Práticas do XP adicionam atrito de propósito: escrever o teste primeiro, parear ou integrar constantemente parece mais lento que “só codar”. Mas esse atrito pretende prevenir um imposto maior depois: requisitos confusos, retrabalho, código frágil e longos ciclos de depuração. A questão real não é a velocidade hoje; é se você consegue continuar entregando no mês que vem sem que a base de código te atrapalhe.
Quando o XP se encaixa melhor — e quando adaptar
XP brilha quando requisitos são incertos e aprender é a tarefa principal: produtos iniciais, domínios bagunçados, necessidades de clientes em evolução ou equipes tentando encurtar o tempo entre ideia e feedback real. Iterações pequenas e ciclos de feedback apertados reduzem o custo de estar errado.
Pode ser preciso adaptar quando o trabalho for mais restrito: ambientes regulados, dependências pesadas ou equipes com muitos especialistas. XP não exige pureza. Exige honestidade sobre o que te dá feedback — e o que esconde problemas.
Modos de falha comuns
As maiores falhas não são “XP não funcionou”, mas:
- Pular práticas de feedback (testes, revisão do cliente, CI) mantendo apenas reuniões.
- Culto de rituais (“programamos em pares” ou “fazemos standups”) sem mudar como decisões são validadas.
- Tratar TDD como burocracia em vez de feedback de design.
Começando pequeno
Escolha um loop e fortaleça‑o:
- Se a qualidade dói: comece com testes nas partes mais sujeitas a mudanças.
- Se a direção dói: encurte ciclos de iteração e adicione momentos reais de revisão/demonstração.
Quando um loop for confiável, adicione o próximo. XP é um sistema, mas você não precisa adotá‑lo de uma vez.
O impacto cultural duradouro: as ideias do XP em times modernos
XP é lembrado por práticas específicas (pareamento, TDD, refatoração), mas seu legado maior é cultural: uma equipe que trata qualidade e aprendizado como trabalho diário, não uma fase final.
Como o XP moldou silenciosamente formas modernas de trabalhar
Muito do que hoje se chama Agile, DevOps, entrega contínua e até descoberta de produto ecoa os movimentos centrais do XP:
- Encolher o lote: enviar mudanças menores com mais frequência para reduzir risco.
- Apertar feedback: obter sinais de testes, colegas e produção mais cedo.
- Tornar o trabalho visível: preferir planos simples que você pode atualizar a planos “perfeitos” e imutáveis.
Mesmo quando equipes não chamam de “XP”, você verá os mesmos padrões em desenvolvimento trunk‑based, pipelines de CI, feature flags, experimentos leves e contatos frequentes com clientes.
XP na era da construção assistida por IA
Uma razão para o XP ainda soar atual é que seus “loops de aprendizado” se aplicam igualmente quando você usa ferramentas modernas. Se você está experimentando uma ideia de produto, ferramentas como Koder.ai podem comprimir ainda mais o ciclo de iteração: você descreve uma feature em chat, gera um app web funcional (React) ou um serviço backend (Go + PostgreSQL) e então usa o uso real para refinar a próxima história.
A parte amigável ao XP não é “geração mágica de código” — é a capacidade de manter lotes pequenos e reversíveis. Por exemplo, o modo de planejamento do Koder.ai ajuda a esclarecer intenção antes da implementação (semelhante a escrever critérios de aceitação) e snapshots/rollback tornam mais seguro refatorar ou testar uma mudança arriscada sem transformar em um reescrever em grande escala.
Efeitos culturais duradouros
XP empurra equipes para:
- Propriedade compartilhada: o código pertence ao time, então melhorias não esperam por “a pessoa certa”.
- Orientação ao aprendizado: erros são informação; o sistema muda para que o erro seja mais difícil de repetir.
- Qualidade como hábito: testes, refatoração e revisão não são “extras”, são a forma como o trabalho é feito.
Um mini‑checklist prático (use esta semana)
- Você pega um resultado de teste ou build em minutos, não horas?
- Dá para entregar em horas/dias, não semanas?
- Você refatora em passos pequenos como parte do trabalho normal?
- Tem um ritual real de feedback (pareamento, revisão ou mobbing) em mudanças importantes?
- O CI falha rápido, e a equipe trata builds vermelhos como urgentes?
Se quiser continuar explorando, leia mais ensaios em /blog ou veja como um plano de adoção leve poderia parecer em /pricing.
Perguntas frequentes
O que é Extreme Programming (XP)?
XP é uma forma de desenvolver software por meio de pequenas mudanças, lançamentos frequentes e feedback rápido. Kent Beck a criou para ajudar equipes a lidar com requisitos que mudam sem deixar a qualidade cair.
Qual foi a contribuição de Kent Beck para o XP?
Kent Beck ajudou a definir o XP e popularizou o Desenvolvimento Orientado por Testes. Seu trabalho se concentrou em ajudar equipes a aprender mais cedo com software funcionando, em vez de depender de longos planejamentos iniciais.
Como funciona o Desenvolvimento Orientado por Testes?
O TDD começa com um pequeno teste que descreve o comportamento desejado. Você faz o teste passar com código simples e depois melhora o design enquanto os testes protegem o comportamento.
O que significa Vermelho-Verde-Refatorar?
O ciclo habitual é Vermelho, Verde, Refatorar. Escreva um teste que falha, faça-o passar com a menor mudança útil e depois melhore o código sem alterar seu resultado.
Por que o XP usa iterações curtas?
Iterações curtas limitam a quantidade de trabalho baseada em uma suposição não testada. As equipes podem mostrar software funcionando, coletar feedback e ajustar prioridades em poucos dias ou em uma ou duas semanas.
Quais ciclos de feedback o XP usa?
Os testes verificam o comportamento, o trabalho em dupla ou a revisão detecta mal-entendidos, a CI verifica se as mudanças funcionam em conjunto e as demonstrações para usuários testam se o recurso resolve o problema certo. Usar vários ciclos dá às equipes sinais mais rápidos de direções diferentes.
O TDD substitui os testes de integração?
Não. O TDD funciona melhor para comportamentos que se beneficiam de verificações rápidas e focadas. As equipes ainda precisam de testes de integração para bancos de dados, serviços, configuração e outras partes que só funcionam juntas no limite do sistema.
A programação em dupla vale o tempo investido?
O trabalho em dupla dá a duas pessoas a chance imediata de questionar um design, identificar casos extremos e compartilhar contexto. Muitas equipes o usam em trabalhos complexos, código desconhecido ou mentoria, em vez de usá-lo em todas as tarefas o dia todo.
Como uma equipe pode refatorar com segurança?
A refatoração muda a estrutura do código sem alterar seu comportamento. Faça isso em pequenos passos, executando os testes com frequência, para que uma limpeza não se transforme em uma reescrita imprevisível.
Como uma equipe pode começar a usar XP sem adotar todas as práticas?
Comece por um ciclo problemático. Adicione testes rápidos ao redor de código que muda com frequência, reduza o tempo até uma demonstração ou faça toda mudança passar pela CI. Mantenha a prática que produz feedback útil e adicione outra quando a equipe conseguir sustentá-la.