jueves, 11 de junio de 2020

¿Las reglas de negocio son una buena forma para dividir historias de usuario?

Esta estrategia de división propone que ciertas reglas de negocio especiales (estándares de la industria, regulaciones legales y cualquier tipo de restricciones complejas), que deban de cumplirse, sean incorporadas paulatinamente como ampliaciones incrementales de la funcionalidad inicial. 

Así el Propietario del Producto puede obtener historias de usuario iniciales que cubran un subconjunto de las reglas de negocio absolutamente necesarias, e implementar las restantes más adelante o de forma simplificada. Una regla simplificada como un mensaje en una tienda on-line que diga "No enviamos pedidos fuera de UE" puede que sea suficiente para empezar.

¿Cuándo aplicarla?

Cuando la historia de usuario involucra un conjunto de reglas de negocio implícitas o explícitas, algunas de las cuales podamos incorporar incrementalmente a posteriori.

Ejemplo de una historia de usuario de una tienda on-line:

Como comprador
Quiero pagar los artículos de mi carrito de la compra
Para poder recibirlos en mi casa

La división de esta historia genera historias igualmente complejas usando diferentes reglas de negocio:

Como propietario de la tienda
Quiero rechazar pedidos menores a 10 euros
Para poder evitar compras no rentables

Como propietario de la tienda
Quiero rechazar clientes de fuera de UE con pedidos inferiores a 100 euros
Para poder evitar gastos de envío que hacen la compra no rentable

Como propietario de la tienda
Quiero reservar stock de productos pedidos durante 48 horas
Para poder ofrecer a los clientes un stock real

Como propietario de la tienda
Quiero cancelar automáticamente pedidos para los que no he recibido el pago en 48 horas
Para poder vender esos productos a otros clientes
Las reglas de negocio se derivan de las políticas
Las reglas de negocio a menudo están implícitas por lo que para descubrirlas puede ser útil aplicar la estrategia de división por casos/escenarios de test primero.

My thanks to Christiaan Verwijs on who I have based and who inspired me for this post :-)

No hay comentarios:

Publicar un comentario