martes, abril 01, 2014

Product Backlog Ejemplo - Social Restaurant Wall - SoReWa - Alejandro Arbelaez

Hola a todos

Les comparto un Product Backlog de ejemplo de un proyecto de grado que estoy dirigiendo basado en historias de usuario. El proyecto se llama   Social Restaurant Wall -  SoReWa - eleborado por  Alejandro Arbelaez Acevedo (dragon198658 (at )gmail.com ).

Los Criterios de Aceptación se encuentran en Formato BDD

SCENARIO– Escenario
GIVEN – DADO
WHEN – CUANDO
THEN – ENTONCES

Impor
tancia
Yo como
Deseo
Para
Criterios de Aceptación
en Formato BDD


 1000
Gerente
Crear un menú
Ofrecerle los productos a mis clientes
Escenario 1: No hay un menú creado.
DADO  que este en la pantalla de gerente
Y No haya un menú creado
CUANDO ingrese a gestionar menú
ENTONCES se crea un menú básico con 2 categorías comidas bebidas

-----

Escenario 2: Ya hay un menú creado.
DADO que este en la pantalla de gerente
Y ya hay un menú creado
CUANDO ingrese a gestionar menú
ENTONCES se muestra el menú que ya existe
 980
Gerente
Agregar producto al menú
Para agregar variedad o actualizar mi menú
Escenario 1: Agregar un producto
DADO que este en la pantalla de gestionar menú y llene los campos de un producto
CUANDO  de en el botón guardar
ENTONCES se agrega un producto al restaurante
 960
Gerente
Quitar producto del menú
Quitar productos poco pedidos o que den perdidas
DADO que estoy en la lista de productos
CUANDO oprima el botón eliminar de un producto
ENTONCES se quita ese producto de la lista de productos del restaurante
 940
Gerente
Crear categorías de productos
Para organizar mejor los productos que ofrezco
Escenario 1: hay Categorías.
DADO  que este en el menú del restaurante
CUANDO  llene los campo y de en el botón agregar categoría
ENTONCES se agrega un a nueva categoría al menú
 920
Gerente
Eliminar categoría de productos
Para organizar mejor los productos que ofrezco
Escenario 1:Hay categorías
DADO que este en el menú del restaurante
CUANDO  elija una categoría y de en el botón eliminar
ENTONCES se da una notificación de eliminar y si se confirma se elimina la categoría del menú del restaurante.

----

Escenario 2: No hay categorías
DADO que no hay categorías en el menú
CUANDO  se  de en el botón eliminar
ENTONCES el botón se deshabilita.


 900
Gerente
Editar categorías de productos
Para organizar mejor los productos que ofrezco
Escenario 1: hay categoría
DADO  hay categorías en el menú del restaurante Y se elija una.
Y se editen los campos de la categoría
CUANDO de en el botón guardar
ENTONCES se actualizan los datos de la categoría del menú del restaurante.
 880
Cliente
Ver el menú del restaurante
Poder elegir la comida que voy a pedir
Escenario 1: Elegir categoría
DADO que hay categorías
CUANDO elija una categoría
ENTONCES se muestran los productos de esa categoría


 860
Cliente
Ver detalles de un plato
Poder elegir la comida que voy a pedir
Escenario 1: Hay productos en categoría
DADO Que hay productos en una categoría
CUANDO este navegando la lista de productos
ENTONCES debo poder ver la información detallada del plato(nombre, precio y descripción)
 840
Cliente
Ver disponibilidad de plato
Para ver que productos no puedo pedir
Escenario 1: El plato no está disponible
DADO
hay un plato que no esté disponible y se haya marcado como no disponible
CUANDO esté viendo el menú del restaurante
ENTONCES el plato no se debe mostrar

-----


Escenario 2: El plato está disponible
 820
Cliente
Agregar uno o más productos a mi pedido
Hacer el pedido y poder comer
Escenario 1: Agregar producto a la orden
DADO que quiera agregar un producto
CUANDO oprima el botón “+” para agregar un plato (o más si se toca varias veces)
ENTONCES se agrega(n) el(los) plato(s) al pedido


----

Escena 2: agregar más de un mismo plato
DADO que ya agregue un plato
CUANDO vuelva a darle al botón “+”
ENTONCES este plato se agrega a la orden

----

Escena 3: se hizo un pedido
DADO que se haya hecho un pedido Y aun no se haya pedido la cuenta
CUANDO de al botón “+” de un producto este se agrega al pedido ENTONCES se pregunta si se desea hacer el pedido del producto agregado.


------

Escena 4: se pidió la cuenta
DADO que se pidió la cuenta
CUANDO se vaya a agregar un producto a la orden
ENTONCES La orden no permite agregar más productos
 800
Cliente
Quitar un producto del pedido
Elegir un plato diferente si cambie de parecer y luego hacer el pedido
Escena 1: No se ha despachado el pedido
DADO que estoy en la página del pedido
Y quiera quitar un plato de este Y este no haya sido ya despachado
CUANDO oprima el botón de quitar”-”
ENTONCES este plato se debe quitar del pedido

-----


Escena 2:Se ha despachado el pedido
DADO que un pedido ya ha sido pedido
Y el mesero lo haya marcado como despachado
CUANDO vaya a eliminar un producto de la orden
Desde el cliente de la mesa
ENTONCES se hace un llamado al mesero


-----

Escena 3: Se pidió la cuenta
DADO que se pidió la cuenta
CUANDO los productos ya hayan sido despachados
ENTOCES el cliente ya no puede eliminar el producto desde la terminal de cliente y se ocultan los botones de eliminar producto

 780
Cliente
Hacer pedido
Poder comer los platos que pedí
Escena 1: Hay uno o mas productos en la orden
DADO que estoy en la lista del pedido
Y
CUANDO una el botón de “ordenar”
ENTONCES se envía la notificación a los meseros del pedido con el pedido de la mesa

------


Escena 2: No hay productos en la orden
DADO que no hay productos en la orden
CUANDO se oprima el botón de hacer pedido
ENTONCES se saca un mensaje que diga que no se puede hacer un pedido porque no hay platos en la orden

-----

Escena 3: Ya se pidió la cuenta
DADO que ya se pidió la cuenta
CUANDO se de en el botón hacer pedido
ENTOCNES este botón de pedido se bloquea y se pone un mensaje diciendo que ya el pedido esta por pagarse


-----

Escena 4: hay productos sin despachar
DADO que haya uno o más productos sin despachar
CUANDO se oprima el botón de pedido
ENTONCES se notifica del pedido nuevamente a los meseros
 740
Cliente
Llamar a un mesero
pedir ayuda o asesoría en la mesa
DADO en cualquier parte de la aplicación
CUANDO unas el botón de llamar mesero
ENTONCES se muestra una notificación a los meseros avisándoles que en esta mesa en específico necesitan a un mesero
 720
Mesero
Ver el menú del restaurante
Poder ver buscar los productos que el cliente quiere adicionar a su pedido
Escena 1: No hay ordenes de mesa
DADO que no hay ordenes de mesa
CUANDO de al botón ver menú restaurante
ENTONCES se me presenta una ventana con el menú del restaurante, sin las opciones de agregar a orden

----

Escena 2: hay orden de mesa
DADO que hay una orden de mesa
Y de ver orden d mesa
CUANDO de al botón ver menú restaurante
ENTONCES se me presenta una ventana con el menú del restaurante, con la opción de agregar los platos a la orden de una mesa

Mesero
Ver detalles de un plato
Poder ver la información más detallada de los pedidos
DADO  que estoy viendo el menú del restaurante
CUANDO este navegando la lista de productos
ENTONCES este me debe mostrar sus detalles
 700
Mesero
Agregar uno o más productos a al pedido de un cliente
Cambiar el pedido de los clientes en caso de ellos requerir un cambio
Escena 1: no hay productos
DADO  que no hay productos en una orden
CUANDO oprima el botón”+” agregar producto a pedido
ENTONCES se agrega el producto al pedido y se actualiza el valor total del pedido

----

Escena 2: hay productos en la orden
DADO que hay productos en una orden
Cuando de al botón “+”
ENTOCNES se agrega a la orden de mesa. se actualiza el valor total del pedido

 680
Mesero
Quitar un producto del pedido
Cambiar el pedido de los clientes en caso de ellos requerir un cambio
DADO  Que quiera quitar un producto de un pedido
CUANDO oprima el botón”-” quitar producto a pedido
ENTONCES se quita el producto al pedido y se actualiza el valor total del pedido
 660
Mesero
Ver si un cliente me llama desde su mesa
Poder ir a atenderlo
Escena 1: Cliente hunde el botón llamar mesero
DADO que estoy en la página de atención de mesas
CUANDO  un cliente oprima el botón llamar mesero
ENTONCES se mostrara una notificación de la mesa donde se hace el llamado
 640
Mesero
ver una pedido de una mesa
Enviarlo a cocina
Escena 1: llega pedido
DADO que llegue un pedido de una mesa
Y Aparezca la notificación
CUANDO toque el número de la mesa
ENTONCES debo poder ver la lista de los productos y la mesa de dónde provino el pedido


----

Escena 2: mesa con pedido
DADO que hay una mesa con un pedido
CUANDO toque el botón de la mesa
ENTONCES se muestra al orden de la mesa
 620
Cliente
Ver mi pedido
Ver el estado de este y hacerle seguimiento a lo que consumo
DADO cualquier punto de la aplicación
CUANDO oprima el botón de pedido
ENTONCES se muestra la lista de productos de la orden de la mesa
 600
Cliente
Pedir la cuenta
Pagar lo que he consumido
DADO que este en la lista del pedido
CUANDO una el botón pedir cuenta
ENTONCES se muestra una notificación a los meseros que el cliente desea pagar la cuenta
 580
Mesero
Que me alerten cuando un cliente quiere pedir la cuenta
Poder generar una factura y llevársela al cliente para que este pague su cuenta
DADO  que este en la pantalla de atención de mesas 
CUANDO  que un cliente haya hundido el botón pedir cuenta
ENTONCES se muestre la notificación de la mesa  
 560
Mesero
Atender el pedido de una mesa
Para que el cliente sepa que ya se le tomo la orden
DADO que ya se haya entregado a cocina el pedido
CUANDO oprima el botón “despachar pedido”
ENTONCES se le envía una notificación a la mesa y se marcan los productos como despachados
 520
Mesero
Saber si un cliente agrego más platos a su pedido, después de haber atendido su pedido
Enviar a cocina
DADO que un cliente agregó uno o más productos a la orden
CUANDO  de "actualizar"  pedido
ENTONCES se notificará al mesero y en la lista del pedido de verá el estado de los productos pendientes
 500
Mesero
Ver el tiempo que lleva una mesa esperando atención
Saber que clientes debo atender primero
DADO  que este en la pantalla de atención de mesas
Y haya una notificación de llamado de una mesa
CUANDO se alerte
ENTONCES se muestre un cronometro que vaya contando el tiempo desde que se generó el llamado
 500
Mesero
Ver disponibilidad de plato
Para ver que productos no puedo añadir al pedido de mi cliente
DADO  que este en el menú de restaurante
CUANDO  este navegando los productos o vaya a agregar lo y no está disponible
ENTONCES se notifica que el producto no es válido para agregar al pedido
 440
Cliente
Ver si mesero recibió mi llamado
Para saber que me van a atender pronto
DADO que haya llamado un mesero
CUANDO el mesero acepte la notificación
ENTONCES se mostrara una notificación en la mesa que dice que el mesero los atenderá pronto
 420
Gerente
Ver cantidad de veces que un producto ha sido pedido
Conocer los productos más populares
DADO  que este en la pantalla de los productos del restaurante
CUANDO  esta cargue
ENTONCES se muestra el nombre del producto con su costo y la cantidad de veces que se ha pedido

8 comentarios:

  1. gracias por el ejemplo, tengo una duda estoy comenzando con scrum pero no se si los casos de usos son relevantes en la documentación agradecería si me respondes gracias de antemano.

    ResponderEliminar
  2. Alexis.. la guia de Scrum no dice si son casos de uso, historias de usuario, requerimientos en prosa, lo que ha sucedido es que en la medida que diferentes equipos han usado scrum a lo largo del mundo,, nos hemos dando cuenta que las historias de usuario son lo mejor para el desarrollo iterativo, incremental y orgánico que queremos del software.

    Si tienes casos de uso.. podrias trabajar con porciones de casos de uso... (de la aproximación de Ivar Jacobson .. casos de uso 2.0) https://mvmingenieria.wordpress.com/2015/07/27/casos-de-uso-2-0/

    ResponderEliminar
  3. Hola, estoy comenzando en el tema de escribir las historias de usuario en un proyecto, y quería saber donde encajaría el requerimiento por ejemplo de mostrar la politica de cookies al entrar en una web, ya que al tratarse de una normativa, no se si sería una historia de usuario, ya que realmente no aporta valor al usuario.
    Gracias

    ResponderEliminar
    Respuestas
    1. Yo veo la historia usuario como una necesidad del sistema, pero tiene Baja prioridad. En algún momento se le dará prioridad y será construida.

      Eliminar
  4. Gracias Jorge, creo que voy a usarlo para un curso de PO que estoy diseñando. Te molesta ? Si lo hago te mando el diseño de la actividad como pago :)

    ResponderEliminar

  5. Un gusto Jubel


    Adelante.. Úsalo.. Y el pago esta excelente..

    Saludos

    ResponderEliminar

  6. Un gusto Jubel


    Adelante.. Úsalo.. Y el pago esta excelente..

    Saludos

    ResponderEliminar
  7. Buenas noches, me encuentro realizando mi tesis de maestria y la metodologia es Scrum, soy nueva en esto y me gustaria poder contar con su asesoria. mi correo es dikapa9@gmail.com

    ResponderEliminar