El mayor inconveniente del desarrollo ágil que he experimentado es que las personas que no participan en el desarrollo se centran en el mantra de que una historia de usuario (3-10 días de persona ideal) no debe contener más de 1-3 oraciones como:
Como cliente, puedo usar la búsqueda de texto libre para encontrar los productos que estoy buscando.
Al dar esta frase, los gerentes de proyecto esperan que yo, como desarrollador, me comprometa a hacer una estimación y desarrollar la historia. Asumen que el desarrollo ágil significa que oraciones como esta son todo lo que tienen que proporcionar a los desarrolladores.
No los culparé porque la literatura bien conocida sobre el desarrollo ágil crea la impresión de que esto realmente funcionaría. He leído algo así como 2 páginas en lenguaje natural por historia en "Planning XP", pero eso es todo. Debido a que se prefiere el "software de trabajo" sobre la "documentación exhaustiva", este tema parece ser generalmente evitado.
La realidad es, por supuesto, que si el desarrollador tiene la oportunidad de hacerlo, una entrevista con el cliente presenta una larga lista de requisitos que el cliente tiene sobre la historia:
- Necesitamos operadores booleanos como AND y OR.
- Necesitamos búsqueda difusa y todos los términos.
- Necesitamos buscar por palabras individuales, así como por frase.
- No queremos encontrar productos que cumplan los criterios X, Y y Z.
- Queremos ordenar el resultado. Ah, y por cierto, el usuario puede seleccionar los criterios de clasificación en un cuadro combinado con las opciones a, by c.
Entonces ves que no estoy hablando de detalles técnicos o diseño de software o incluso detalles de implementación. Es puro requisito. Cuanto más hablamos, más se da cuenta el cliente de que en realidad hay mucho que decir sobre lo que quiere.
Pero a menudo me encuentro en la situación de que esa información no se proporciona o de manera muy mala. Tampoco es posible que yo haga la entrevista, ni la persona que estaría en condiciones de hacer la entrevista me proporciona un resultado.
A veces, los gerentes incluso presentan detalles técnicos como "queremos la búsqueda de Lucene", pero no quieren pensar si solo quieren encontrar nombres de productos o también descripciones de productos. A veces pienso que son flojos;)
Para mí, este es el tema principal en los proyectos en los que trabajo (aplicación web de comercio electrónico, 500-2000 días de persona por proyecto). He abordado este problema con bastante frecuencia, y los gerentes son conscientes de que la mayoría de los desarrolladores tienen un problema con la situación. Pero creen que los desarrolladores son demasiado "perfeccionistas". Parecen molestos porque los desarrolladores "siempre quieren tener todo lo especificado".
Debido a la falta de números generalmente reconocidos, es difícil discutir. Todo el mundo sabe cuánto debe durar una iteración. Pero nadie puede decir cuántos requisitos se necesitan para estimar y desarrollar una historia.
¿Tienes alguna referencia?