Steve Yegge habla divertido, pero hay dinero para hacer en la elaboración de los requisitos de otras personas, así que tomaría su artículo con un poco de sal.
La recopilación de requisitos es increíblemente difícil debido a la forma en que funciona la comunicación. Es un proceso de cuatro pasos que es con pérdidas en cada paso.
- Tengo una idea en mi cabeza
- que transformar esto en palabras e imágenes
- a interpretar los dibujos y palabras
- se pinta una imagen en su mente de lo que mi idea original era como
Y los humanos fallan miserablemente en esto con frecuencia preocupante a través de sus adorables imperfecciones.
Agile hace bien en promover el desarrollo iterativo. Llevar las primeras versiones al cliente es importante para identificar qué características son más importantes (lo que se envía en 0.1 - 0.5 ish), ayuda a mantener a ambos en el camino correcto en términos de cómo funcionará la aplicación e identifica rápidamente las características ocultas que usted va señorita.
Los dos escenarios principales problemas son los dos extremos de las escalas:
- No tener una pista maldita acerca de lo que está haciendo - obtener algunos expertos en el dominio
- tener demasiados requisitos - característica hoyo. - Question, cull (prioritize;)) funciones y uso desarrollo iterativo
Yegge hace bien en señalar que los expertos en el dominio son esenciales para producir buenos requisitos porque conocen el negocio y han trabajado en él. Pueden ayudar a identificar el deseo central del cliente y ayudarán a explicar cómo utilizarán el personal el sistema y lo que es importante para el personal. Las alternativas y adiciones incluyen tratar de hacer el trabajo usted mismo para entrar en la mentalidad o tener un miembro del personal del cliente de vez en cuando en el sitio, aunque esto último es poco probable que suceda.
El pozo de la característica es el otro lado, en su mayoría lleno de proyectos de TI fallidos del gobierno. Demasiado, muy pronto, falta de pensamiento o aplicación de realismo (¿pero qué espera que tengan solo unos cuatro años para sentirse importantes?).El objetivo aquí es determinar qué quiere el cliente realmente. Siempre que trabaje para conseguir que los componentes principales sean correctos, los clientes eficientes y libres de errores suelen ser tolerantes con las características que faltan que llegan en envíos posteriores, siempre que lleguen. Aquí es donde el desarrollo iterativo realmente ayuda.
Recuerde separar las ideas del cliente sobre cómo será el programa y qué quieren que el programa logre. Algunos clientes pueden crear confusión al comunicar sus requisitos en forma de características de la aplicación que pueden estar poco pensadas o ser redundantes por una funcionalidad mucho más sencilla que la que ellos creen que necesitan. Si bien no estoy abogando por llamar al cliente un idiota o no escucharlos, siento que vale la pena preguntar siempre por qué quieren una característica en particular para llegar a su propósito subyacente.
Recuerde que, en cualquier caso, es de importancia imperativa eliminar el camino más rápido para satisfacer la necesidad del cliente y ponerlo en un escenario en el que ambos se benefician de la relación.
[Documentación de requisitos - Will vs Shall] (http://izlooite.blogspot.com/2011/01/requirements-documentation-will-vs.html) –