Vou dar meu humilde comentario sobre o XP e sobre a engenharia de software tradicional usando Requisitos, UML, implementação etc etc etc…
Eu nao sou especialista em XP, mas aqui na empresa trabalhamos um pouco usando técnicas de XP e outras da engenharia tradicional (RUP).
Eu acho que o XP tem idéias muito interessantes como, fazer apenas o que o cliente quer, nao ficar inventando coisa. O Desenvolvedor ir visitar o Cliente, o desenvolvedor tirar a dúvida diretamente com o cliente e assim vai (essas são técnicas que usamos aqui).
Só que eu acho o RUP bem interessante, por exemplo, ao contrário que o XP fala, eu acho que manter uma documentação de requisitos, montar o Use Case certinho (no caso do XP os Use Stories), isso facilita muito para o desenvolvedor e o principal, mantem o Sistema documentado para o futuro… Vamos supor que entra um desenvolvedor novo na equipe, ele pode pegar a documentação, ler e entender seu funcionamento. Coisa que no XP (pelo que eu entendi) vc tem que tirar duvida com um desenvolvedor mais experiente do projeto, acho isso muito interessante, mas uma documentação também é importante (no meu ponto de vista).
No meu ponto de vista uma documentação da UML (nao precisa sair fazendo todos os 9 diagramas, faz apenas o que vc acha que vai ser importante) é bom principalmente pra fazer os primeiros testes do sistema antes mesmo de codificar, pois é mais facil vc alterar um diagrama do que linhas de códigos. Concordo que funcionalidades mais imples como simples cadastros e coisas básicas o melhor é voce descrever de uma forma simples no requisitos, montar seu Use Stories bem simples e começar a codificar (isso a gente faz aqui tb), mas tem funcionalidades mais complexas (que o XP diz pra dividir em outras funcionalidades) que uma documentação no meu ponto de vista é extremamente necessario, principalmente pra fazer correções de bugs antes de codificar.
Acho que as duas técnicas são interessantes e acho legal usar o ponto forte das duas. Perder tempo fazendo design de sistema, documentando tudo, fazendo Use Case de tudo (que geralmente não é importante documentar tudo), fazer os milhoes de diagramas da UML, isso ja é perca de tempo, ae o XP entra muito bem, mas tem coisa que um requisitos bem levantado, a descrição dos passos do Use Case feita e levantada, e os diagramas que vc realmente vai te ajudar, é muito importante.
Essa é minha opinião :lol: