Example Mapping: reglas, ejemplos, preguntas
En resumen: El Example Mapping es una sesión corta con tarjetas de cuatro colores: la historia (amarilla), las reglas (azules), los ejemplos (verdes) y las preguntas (rojas). El tablero muestra lo que sabemos y lo que no. Muchas tarjetas azules significan que la historia es demasiado grande; muchas rojas, que no está clara.
Problema
La reunión que no acaba nunca
El dueño, QA y el programador discuten la historia de los descuentos. Después de una hora, todos han dicho algo sobre el código promocional, la fidelidad y los productos rebajados. Una pregunta («¿y si se devuelve el pedido?») se ha hecho tres veces y las tres se ha quedado sin respuesta.
Al final el dueño dice «el programador ya lo resolverá», y se acaba la reunión. Nadie ha anotado lo que se decidió. Una semana después cada uno lo recuerda de una manera.
La conversación ocurrió. Pero no quedó nada de ella, y nadie vio que la historia era demasiado grande.
La idea
Cuatro colores
El Example Mapping es una sesión corta en la que una historia se descompone en tarjetas de cuatro colores:
- amarilla: la historia. Una, arriba;
- azules: las reglas. Cada regla es una columna bajo la historia;
- verdes: los ejemplos. Cada uno está bajo la regla que muestra;
- rojas: las preguntas. Lo que nadie en la sesión sabe. Van a un lado.
Para la historia «Como cliente quiero poner varias unidades de un producto en el carrito», el tablero podría verse así:
| Regla (azul) | Ejemplos (verdes) |
|---|---|
| Como mucho 10 unidades de un producto | Hay 9 en el carrito, añado 1: pasa a 10 · Hay 10 en el carrito, añado 1: se rechaza, se queda en 10 |
| Se añade al menos 1 unidad | Añado 0 unidades: se rechaza |
| Pregunta (roja) | ¿El límite se aplica también a los productos rebajados? |
Las tarjetas son pequeñas. En cada una va una sola cosa, en pocas palabras. Así nadie da un discurso, y todo el tablero se ve de una vez.
Más precisamente, para curiosos
La técnica la describió Matt Wynne, del equipo de Cucumber, en el artículo «Introducing Example Mapping» (2015). Sugiere poner a los ejemplos nombres breves, como a los episodios de una serie: «aquel en que María paga dos veces con el código». Un nombre se recuerda mejor que una tabla de números.
El Example Mapping no está en los temarios de ISTQB. ISTQB CTFL v4.0.1 habla de la misma idea de forma más general: los criterios de aceptación se escriben en colaboración y los ejemplos se convierten en pruebas de aceptación (ATDD). El Example Mapping es una forma concreta de hacerlo.
La idea
Cómo transcurre la sesión
Participan tres personas: alguien del negocio, QA y un programador. A menudo se las llama los tres amigos (three amigos).
- Pones la tarjeta amarilla con la historia.
- Dices las reglas que ya conoces. Cada una se convierte en una tarjeta azul.
- Para cada regla alguien pide «dame un ejemplo». Cada ejemplo se convierte en una tarjeta verde bajo su regla.
- Cuando alguien dice «no lo sé», o dos personas discrepan, eso se convierte en una tarjeta roja. No discutes. Anotas la pregunta y sigues.
- Al final miras el tablero y decides: ¿está lista la historia?
La sesión dura unos 25 minutos. Si la historia no cuaja en ese tiempo, eso también es una respuesta: es demasiado grande o demasiado poco clara.
Pruébalo
¿Qué color?
La idea
Qué dice el tablero
El tablero no muestra solo lo que sabemos, sino cuánto. Basta una mirada desde arriba:
| En el tablero | Significa |
|---|---|
| muchas tarjetas azules | la historia lleva muchas reglas: demasiado grande, divídela, a menudo una regla por historia |
| muchas tarjetas rojas | todavía no sabemos qué queremos: poco clara, primero las respuestas |
| una tarjeta azul sin ninguna verde | la regla no se entiende: nadie puede dar un ejemplo |
| muchas tarjetas verdes bajo una azul | la regla es compleja y puede ser una historia por sí sola |
| pocas tarjetas azules, cada una con ejemplos, pocas rojas o ninguna | lista para trabajar |
Esto es una medida, no una fórmula. No hay un número a partir del cual las tarjetas cuenten como «muchas». Pero cuando ves cinco columnas azules, sabes qué proponer.
Pruébalo
Monta el tablero del envío
Coloca cada tarjeta: como regla, como ejemplo bajo su regla o como pregunta. Después decide qué es la historia.
Como cliente quiero envío gratis en un pedido mayor para no pagar 4,90 € de envío.
En cada tarjeta pulsa «Poner como…» y elige: regla (se convierte en columna), ejemplo de una regla o pregunta. Las flechas cambian de opción, Esc cierra. También se puede con el ratón: arrastra la tarjeta a su sitio.
Reglas
Todavía no hay reglas. Pon una tarjeta como regla y se convierte en columna.
Preguntas
- Todavía no hay preguntas.
Tarjetas sin colocar
Un carrito sin productos: el pedido se rechaza
Un carrito de 49,99 €: el envío cuesta 4,90 €
¿El umbral de 50,00 € se cuenta antes de los descuentos o después?
Un carrito vacío no se puede pedir
El cliente aún no ha pagado y ve en el carrito: «Envío: 4,90 €»
El cliente ve el coste del envío en el carrito antes de pagar
El envío es gratis desde 50,00 € inclusive, y en otro caso cuesta 4,90 €
Un carrito de 50,00 €: el envío es gratis
El tablero ordenado
- El envío es gratis desde 50,00 € inclusive, y en otro caso cuesta 4,90 €
- Un carrito de 49,99 €: el envío cuesta 4,90 €
- Un carrito de 50,00 €: el envío es gratis
- El cliente ve el coste del envío en el carrito antes de pagar
- El cliente aún no ha pagado y ve en el carrito: «Envío: 4,90 €»
- Un carrito vacío no se puede pedir
- Un carrito sin productos: el pedido se rechaza
Preguntas
- ¿El umbral de 50,00 € se cuenta antes de los descuentos o después?
¿Qué es la historia? Lista para trabajar. La pregunta sobre los descuentos es una sola y hay quien puede decidirla: el dueño. Su respuesta será un ejemplo más bajo la primera regla, y el trabajo en el resto puede empezar.
Tres reglas, cada una con un ejemplo, y una pregunta. La pregunta es real: el dueño tiene que decidir si 50,00 € es antes o después de los descuentos. Pero no detiene el trabajo en el resto, y la respuesta será una tarjeta verde más.
La idea
Una pregunta no es un fracaso
Una tarjeta roja no significa que la sesión haya ido mal. Significa que encontraste algo que de otro modo habría salido en el lanzamiento. La pregunta «¿y si se devuelve el pedido?» cuesta cinco minutos en el tablero. La misma pregunta después del lanzamiento cuesta un defecto, una corrección y un cliente descontento.
La tarjeta más peligrosa es una pregunta disfrazada de regla: «suponemos que el código no se aplica a las tarjetas regalo». Suena a decisión, pero nadie la tomó. Si no lo sabes, escribe una tarjeta roja.
Cada pregunta sale de la sesión con dos cosas: quién responderá y para cuándo. A menudo es el dueño. A veces es una parte interesada que no estaba en la sala, como contabilidad.
Ejercicio
Tableros de la tienda
1. Los descuentos. La historia del principio de la lección.
Coloca cada tarjeta y después decide qué es la historia.
Como cliente quiero un descuento con código promocional y por fidelidad para pagar menos.
En cada tarjeta pulsa «Poner como…» y elige: regla (se convierte en columna), ejemplo de una regla o pregunta. Las flechas cambian de opción, Esc cierra. También se puede con el ratón: arrastra la tarjeta a su sitio.
Reglas
Todavía no hay reglas. Pon una tarjeta como regla y se convierte en columna.
Preguntas
- Todavía no hay preguntas.
Tarjetas sin colocar
Un cliente fiel, una camiseta de 20,00 €: 19,00 €
Unos vaqueros rebajados de 40,00 € con OTONO10: siguen en 40,00 €
Un cliente fiel recibe un 5 % de descuento
Si se devuelve el pedido pagado con el código, ¿se puede volver a usar el código?
María introdujo OTONO10 pero no pagó: en un pedido nuevo el código vale
Un código promocional se puede usar en un pedido pagado
Un código promocional da un 10 % de descuento
María ya ha pagado un pedido con OTONO10: en un pedido nuevo el código se rechaza
Los descuentos no se suman: se aplica el mayor
Un cliente fiel con OTONO10, una camiseta de 20,00 €: 18,00 €, no 17,00 €
Un código promocional no se aplica a los productos rebajados
Una camiseta de 20,00 € con OTONO10: 18,00 €
El tablero ordenado
- Un código promocional da un 10 % de descuento
- Una camiseta de 20,00 € con OTONO10: 18,00 €
- Un código promocional no se aplica a los productos rebajados
- Unos vaqueros rebajados de 40,00 € con OTONO10: siguen en 40,00 €
- Un código promocional se puede usar en un pedido pagado
- María ya ha pagado un pedido con OTONO10: en un pedido nuevo el código se rechaza
- María introdujo OTONO10 pero no pagó: en un pedido nuevo el código vale
- Un cliente fiel recibe un 5 % de descuento
- Un cliente fiel, una camiseta de 20,00 €: 19,00 €
- Los descuentos no se suman: se aplica el mayor
- Un cliente fiel con OTONO10, una camiseta de 20,00 €: 18,00 €, no 17,00 €
Preguntas
- Si se devuelve el pedido pagado con el código, ¿se puede volver a usar el código?
¿Qué es la historia? Demasiado grande: hay que dividirla. Cinco reglas para dos descuentos distintos. El código promocional es una historia, la fidelidad otra, y «se aplica el mayor» una tercera, después de ellas. Cada una se puede construir y aceptar por separado.
Cinco columnas azules para dos descuentos distintos. La división ya está en el tablero: el código promocional (tres reglas), la fidelidad (una) y «se aplica el mayor» después de ellas. Es también la división por reglas de negocio de la lección sobre dividir.
2. La devolución. La historia sobre devolver un producto.
Coloca cada tarjeta y después decide qué es la historia.
Como cliente quiero devolver un producto para recuperar mi dinero.
En cada tarjeta pulsa «Poner como…» y elige: regla (se convierte en columna), ejemplo de una regla o pregunta. Las flechas cambian de opción, Esc cierra. También se puede con el ratón: arrastra la tarjeta a su sitio.
Reglas
Todavía no hay reglas. Pon una tarjeta como regla y se convierte en columna.
Preguntas
- Todavía no hay preguntas.
Tarjetas sin colocar
¿Se puede devolver un producto que ya se ha desembalado?
¿Se puede devolver un solo producto del pedido?
Solo se puede devolver un pedido entregado
¿Quién paga a la mensajería el envío de vuelta?
¿Se reembolsa también el coste del envío?
Recibido el 1 de octubre, solicitada el 15 de octubre: se acepta
Recibido el 1 de octubre, solicitada el 16 de octubre: se rechaza
Devolución dentro de 14 días desde la recepción
Un pedido enviado que aún no ha llegado: no se ofrece la devolución
El tablero ordenado
- Devolución dentro de 14 días desde la recepción
- Recibido el 1 de octubre, solicitada el 15 de octubre: se acepta
- Recibido el 1 de octubre, solicitada el 16 de octubre: se rechaza
- Solo se puede devolver un pedido entregado
- Un pedido enviado que aún no ha llegado: no se ofrece la devolución
Preguntas
- ¿Quién paga a la mensajería el envío de vuelta?
- ¿Se reembolsa también el coste del envío?
- ¿Se puede devolver un solo producto del pedido?
- ¿Se puede devolver un producto que ya se ha desembalado?
¿Qué es la historia? Poco clara: primero las respuestas. Las reglas y los ejemplos del plazo están claros, pero las cuatro preguntas tratan del dinero y de qué se puede devolver. Sin las respuestas el equipo las decidirá solo, adivinando. Primero el dueño y contabilidad, después el trabajo.
El plazo está claro, con ejemplos justo en el límite: 15 y 16 de octubre. Pero las cuatro preguntas tratan del dinero y de qué se puede devolver. Sus respuestas traerán reglas nuevas, quizá también historias nuevas. Por eso van primero, y después el trabajo.
La idea
Después del tablero
Cada color tiene un paso siguiente:
- la tarjeta amarilla sigue siendo la historia. O se divide en varias, si el tablero lo dijo;
- las tarjetas azules se convierten en los criterios de aceptación;
- las verdes se convierten en los ejemplos de los criterios. En el módulo siguiente cada ejemplo se convierte en un escenario de Gherkin, y la regla que tiene encima se convierte en la palabra clave «Regla»;
- las rojas van a quien pueda responderlas. La historia espera hasta que vuelvan.
Así, 25 minutos te dan todo lo que necesita la confirmación de las tres C: las reglas, los ejemplos y una lista de lo que todavía no sabemos.
Test
Ponte a prueba
Lecciones relacionadas
Sección «Lecciones relacionadas»- Se basa en: Qué es una historia de usuario · La buena historia: INVEST · Dividir una historia grande · Criterios de aceptación
- Continúa en: Dado, Cuando, Entonces · Esquema del escenario y Ejemplos · Documentación viva · Pruebas de componentes
- Ejercicios sobre el tema: Historias y criterios de aceptación