Too much involvements of the customer in the process make him start expressing his wishes rather than his needs to the software
¿Está desarrollando software basado en lo que necesita un cliente? ¿Qué pasa si un cliente quiere? ¿Negará al cliente porque "oye cliente, solo construyo software basado en la necesidad?"
Realicé prácticas en una tienda de programación extrema y ágil. Vi interacciones semanales de primera mano con los clientes que a veces volvieron locos a los desarrolladores y al control de calidad. Pero entregaron exactamente lo que el cliente quería, cuando lo quiso, y fue claro durante "Mostrar y contar" con el cliente lo que hizo, lo que no hizo y lo que debía ser como él quería.
Many products have multiple customers which lead to conflicting needs and opinions leading unnecessary blockades
No hay bloqueos innecesarios si la tienda extrema y ágil deja en claro los objetivos de implementación y qué se incorporará y qué no se incorporará al producto. Diferentes versiones del mismo producto también es una posibilidad y depende de lo que se negocie. Esto no tiene por qué ser un punto de discusión que detenga la productividad o conduzca a bloqueos innecesarios.
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.
No necesariamente. Incluso una interfaz de usuario externa mediante la cual uno está entrevistando a personas al azar en la calle para determinar qué interfaz les parecería interesante para un dispositivo en particular es una posibilidad.
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.
Entonces la documentación formal necesita ser empleada. La documentación formal mantiene los pies del cliente al fuego y una tarjeta perforada de una línea "esto es lo que nos dijo que quería" coincide con la documentación y la interacción del cliente, por lo que no hay excusas. Como tuve la oportunidad de ver esto en acción como pasante en una tienda extrema y ágil, el cliente firmó la documentación semanalmente. El cliente también tuvo la oportunidad de implementar cambios y también tuvo que firmarlos. Si falta documentación, hay una invitación al 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.
Yo diría que depende de la inteligencia de la tienda. XP y Agile son pautas y no instrucciones. Para operar con éxito con XP y Agile, debe incorporarse a las prácticas operativas y utilizarse en toda la organización. El millaje siempre variará y algunos indudablemente afirmarán que es malo, algunos dirán que es bueno. donde hice la pasantía, sin duda fue bueno y se tuvo mucho éxito.
Desde mi experiencia, lo rígido que es a los principios de XP y Agile parece determinar si, cuando se incorpora a la "rutina diaria", qué tan exitoso es el desarrollo de software. Donde hice la pasantía, la interacción con el cliente condujo todo y no se hizo nada sin que un cliente haya declarado primero que debería hacerse. La forma en que esta tienda manejó sus operaciones proporcionó un éxito bueno y medible utilizando principios sólidos de desarrollo como parte del marco XP y Agile estrechamente integrado en todo lo que hacen.