Too much involvements of the customer in the process make him start expressing his wishes rather than his needs to the software
Você está desenvolvendo software com base nas necessidades de um cliente? E se um cliente quiser? Você negará o cliente porque "ei cliente, eu apenas construo software com base na necessidade! ??"
Estagiei em uma loja de programação ágil e extrema. Vi interações semanais com clientes em primeira mão que às vezes deixavam o controle de qualidade e os desenvolvedores malucos. Mas eles entregaram exatamente o que o cliente queria, quando ele queria, e ficou claro durante o "Show and Tell" com o cliente o que ele fez, o que ele não fez e o que deveria ser o que ele queria.
Many products have multiple customers which lead to conflicting needs and opinions leading unnecessary blockades
Bloqueios desnecessários se a loja extrema e ágil deixar claro os objetivos da implementação e o que será e não será incorporado ao produto. Versões diferentes do mesmo produto também são possíveis e dependem do que é negociado. Isso não precisa ser um ponto de discórdia que interrompa a produtividade ou leve a bloqueios desnecessários.
Many products don’t have any external customers (products organization made for them or to be selling in future). In this case the team itself is playing the user as well as the developer hence killing the effectiveness of the process.
Não necessariamente. Até mesmo uma interface de usuário externa, na qual se entrevista pessoas aleatoriamente na rua, para determinar o que uma interface para um dispositivo em particular pareceria interessante para eles é uma possibilidade.
Not many things exists in formal documentation, this informality leads to vague vision and can create problems where the customer might say that this is not what we asked etc. etc.
Então a documentação formal precisa ser empregada. A documentação formal prende os pés do cliente ao fogo e um cartão perfurado de uma linha "isto é o que você nos disse que queria" coincide com a documentação e a interação do cliente, para que não haja desculpas. Como tive a oportunidade de ver isso em ação como estagiário em uma loja extrema e ágil, o cliente assinou a documentação semanalmente. O cliente também teve a chance de implementar mudanças e precisou assinar também. Se houver falta de documentação, há um convite para o desastre.
The questions is why such conflicting opinions exists regarding XP, is it the matter of different scenarios or is there something else and till what extent the claim (as written in the title) is true.
Eu diria que depende da inteligência da loja. XP e Agile são diretrizes e não instruções. Para operar com sucesso com o XP e o Agile, ele deve ser incorporado às práticas operacionais e utilizado em toda a organização. A quilometragem sempre varia e alguns indubitavelmente afirmam que é ruim, outros dizem que é bom. onde estagiei, foi sem dúvida bom e teve muito sucesso.
Pela minha experiência, quão rígidos são os princípios do XP e do Agile parecem determinar se, quando incorporados à "rotina diária", qual o êxito do desenvolvimento de software. Onde estagiei, a interação com o cliente levou tudo e nada foi feito sem que um cliente tivesse declarado pela primeira vez que deveria ser feito. A maneira como esta loja executou suas operações proporcionou um sucesso bom e mensurável, usando princípios sólidos de desenvolvimento como parte da estrutura XP e Agile, fortemente integrada a tudo o que fazem.