Por fim, Extreme Programming trata de um conjunto de práticas e metodologias que levam a um melhor valor comercial. A melhor ilustração disso que encontrei é de http://c2.com/cgi/wiki?ExtremeProgrammingEnabledChart
Tudo em azul faz parte do núcleo do XP.
Há partes dele que estão do lado de fora que ajudam a habilitar coisas dentro da área azul e fazem parte do XP como um todo, mas não são críticas para ele. Observe que eu pessoalmente não sou praticante de XP e li muitas críticas às pessoas "quase" após o XP que várias pessoas disseram que não é XP. Vamos deixar um pouco de lado esse aspecto do dogma do XP e ver o que temos.
Perceba que uma das primeiras e para a maioria das coisas é ter um compromisso com o processo do cliente. Um componente chave do XP é o envolvimento do cliente. Isso aparece em vários pontos, como planejamento de lançamentos, lançamentos pequenos, avaliação de clientes externos. Essas são as coisas pelas quais seus clientes precisarão se inscrever para obter sucesso no XP como desenvolvedor solo. Se, em vez disso, eles solicitarem um design, um período de desenvolvimento e, em seguida, testarem, você não terá o compromisso deles de ir mais longe.
XP não significa nenhum planejamento. Existem vários pontos em que o planejamento faz parte dele - priorização, estimativa da história do usuário, planejamento da iteração e definição de tarefas. Mesmo que você seja um desenvolvedor disso, são coisas que você precisará trabalhar com seu cliente na entrega.
Pontos como propriedade coletiva do código e programação de pares são coisas que envolvem mais de um. Decidir sobre coisas como padrões de codificação é muito mais fácil, mas isso não significa que você não precisa segui-las. A propriedade do código coletivo ainda se aplica - é apenas que a propriedade também é o próximo desenvolvedor - não escreva o código que é somente para você e você. Observe que isso está em algum grau de conflito com o 'código revela todas as intenções' que é ativado pela programação em pares - você não tem essa pessoa para verificar se está escrevendo código de manutenção, para que a documentação do código também seja crítica.
Além dessas advertências, muitos dos princípios de design do XP ainda se aplicam. Coisas como design do primeiro teste, integração contínua, reuniões com o cliente, refatoração, YAGNI, soluções de pico - essas chamadas podem ser feitas individualmente.
Perceba que o XP solo requer tanta ou mais disciplina quanto o XP regular. O XP é frequentemente considerado uma metodologia de alta disciplina, pois exige que as pessoas mantenham rigorosa adesão às melhores práticas que ele tenta incorporar. Quando você não tem um treinador ou outras pessoas para apoiar essa disciplina necessária, pode cair em apenas uma mistura de práticas que têm alguma semelhança com o XP.
Leitura relacionada:
Gostaria de obter uma citação do primeiro dos links c2:
Luminoso notável da Perl Language, e cientista louco, Damian Conway acredita que a programação extrema é realmente um nome impróprio. Como ele incorpora muitas das boas práticas de programação que os programadores são ensinados, mas quase certamente ignoram, ele acredita que realmente deveria ter sido chamado de Programação Ultra Conservadora