Una definición rápida y sucia de User Story :
"As a <role>, I want <goal/desire> so that <benefit>"
En esta definición comúnmente aceptada, hay poco espacio para definir reglas comerciales, restricciones o aportes del usuario.
Ejemplo trivial solo para ilustrar:
"As a <librarian>, I want to <register new books> so that
<students can find their availability online>"
En este ejemplo tonto, ¿dónde definiría uno los campos necesarios al registrar un libro? ¿Debería estar escrito en alguna parte? ¿O el propietario del producto debe aprobar las reglas comerciales requeridas de boca en boca?
fuente
Por lo general, en una historia de usuario amplia y amplia que tiene muchas facetas, trato de obtener el ejemplo más general de la historia, y luego, para obtener detalles, creo historias de usuarios secundarios que heredan de ella. Muchas herramientas de gestión de proyectos ágiles como RallyDev le permiten hacer esto fácilmente y creo que tiene sentido.
El registro de nuevos libros es amplio, por lo que quizás haya otras 10 historias de usuarios infantiles sobre cómo
<role>
le gustaría que se registren los libros.Detalles extremos de estas cosas o detalles marginales extraños que generalmente defino en una o más tareas en esa historia de usuario. Las tareas ayudan a definir el trabajo de desarrollo y diseño que se debe hacer (a nivel general) para cumplir con la historia del usuario (por ejemplo, escribir el validador para garantizar que la entrada en el campo de descripción tenga menos de 50 caracteres ...) EDITAR: solo quería agregar que probablemente sea mejor mantener los detalles extremos fuera de las historias de los usuarios porque probablemente no sea algo que realmente le importe a un usuario. Los usuarios quieren explicar el software en términos generales y dependen de los desarrolladores de software para descubrir y ocultarles los detalles.
Así es como abordo el problema, pero estoy seguro de que hay varias formas diferentes.
fuente
La respuesta es simple: incorporar las reglas de negocio en los criterios de aceptación.
Ejemplo trivial solo para ilustrar:
Como bibliotecario, quiero registrar nuevos libros, para que los estudiantes puedan encontrar su disponibilidad en línea.
Estaré satisfecho cuando: * Puedo registrar los siguientes campos: - ISDN - Autor - Dewey Decimal blah blah * Puedo ver la confirmación de que el libro ha sido registrado por el sistema * Puedo ver el libro en el sistema
fuente
Para eso no son las historias de los usuarios. No son requisitos de software que capturan todos los detalles o las reglas comerciales necesarias para escribir la implementación. Son solo una descripción de lo que debe hacer la aplicación desde la perspectiva del usuario.
Recuerde lo que es importante: crear el software adecuado. Utiliza lo que sea necesario para hacer eso y las historias de los usuarios son solo para asegurarte de haber reunido las características necesarias que la aplicación debe tener para que luego puedas hablar sobre ellas, priorizarlas, estimarlas, etc. La parte que falta del usuario clásico La historia (como ... Quiero ... para que) sea sobre la comunicación entre aquellos involucrados en la construcción del software.
Tener los detalles como criterios de aceptación, historias secundarias, tareas técnicas adjuntas a la historia del usuario, en un documento de especificación o lo que sea, va más allá de lo que la historia del usuario le ayuda. El usuario stoy es solo el "sujeto" de la conversación al decidir cómo construir el software.
fuente
En el ejemplo dado, hay muchos detalles sobre el registro de libros de los que los desarrolladores migratorios saben poco, como Dewey u otros sistemas de clasificación, ISBN, números de adquisición, copias / títulos / autores duplicados, otras ediciones, etc. Para un nuevo sistema, el cliente debe proporcionar dichos detalles (y un bibliotecario, de todas las personas, seguramente se preocupará por ellos).
Para citar a Steve O'Connell, "Es aterrador contemplar cuánta política empresarial es creada por los desarrolladores que carecían de los detalles necesarios en las especificaciones, por lo que se la inventaron ellos mismos".
fuente