¿Cómo definir reglas comerciales complejas utilizando User Stories?

11

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?

Pomario
fuente

Respuestas:

4

Los campos son parte de la conversación que se debe tener. Pueden escribirse si eso es útil, pero eso es una decisión judicial. Mantener la documentación actualizada puede ser un desafío, mientras que el software de trabajo podría verse como documentación hasta cierto punto.

Historia del usuario: una promesa de tener una conversación sería una entrada de blog sobre esto.

Tu ejemplo trivial tiene un par de puntos que no sé qué tan bien notarías esto. ¿Qué significa "registrar nuevos libros"? ¿Qué es "Encuentra su disponibilidad en línea"? Ahí es donde comienza la conversación y una vez que se completa la historia puede haber nuevas historias, ya que tal vez esos registros deben mantenerse en el archivo o los informes deben generarse periódicamente.

JB King
fuente
4

Las respuestas anteriores proporcionan puntos válidos, especialmente con respecto a una historia de usuario que es un recordatorio para tener una conversación . Otras cosas a considerar:

  1. Si la historia es demasiado compleja, probablemente sea épica . Puede dividir las epopeyas en historias más pequeñas ahora o una vez que se prioricen en la cartera de productos
  2. Los detalles que implican casos de prueba están separados de la historia misma. [ Mike Cohn ]

    Puede agregar en la parte posterior de la tarjeta de la historia, hacer pequeñas notas si son realmente importantes o ponerlas en el documento de pruebas de aceptación .

Como guía para evaluar si sus historias de usuario son buenas, puede seguir la sugerencia de Bill Wake :

  • Me ndependent (de otras historias)
  • N egotiable
  • V valioso (para el usuario o cliente)
  • E stimable (a una buena aproximación)
  • Centro comercial S (suficiente para ser estimable)
  • T estable

Es posible que desee leer el Capítulo 2 "Escribir historias" del libro User Stories Applied, de Mike Cohn.

Ricardo
fuente
Una explicación rápida sobre las epopeyas
Ricardo
2

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.

árbol de arce
fuente
2

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

Heath Simpson
fuente
2

¿Cómo definir reglas comerciales complejas utilizando User Stories?

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.

Bogdan
fuente
¡Esta! Las historias de usuarios son una herramienta magnífica para describir pequeñas partes de una imagen grande. Son la forma ideal de manejar la intersección entre el desarrollo y el otro mundo (gestión de productos, investigación de usuarios, ventas, ...)
uxfelix
-1

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".

Don Mills
fuente
1
Si bien estos son puntos válidos, no parecen abordar la pregunta principal del OP: "¿Cómo definir reglas comerciales complejas utilizando Historias de usuarios?"
1
La mayor parte del texto no es una respuesta, excepto por la pequeña información que " el cliente debe proporcionar tales detalles ". Qué IMHO apunta en la dirección correcta: no puede restringir ninguna cantidad de complejidad en la forma más simple de una Historia de usuario.
logc