Ir al contenido
wannacode

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

  1. Pones la tarjeta amarilla con la historia.
  2. Dices las reglas que ya conoces. Cada una se convierte en una tarjeta azul.
  3. Para cada regla alguien pide «dame un ejemplo». Cada ejemplo se convierte en una tarjeta verde bajo su regla.
  4. Cuando alguien dice «no lo sé», o dos personas discrepan, eso se convierte en una tarjeta roja. No discutes. Anotas la pregunta y sigues.
  5. 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?

1. «Un pedido se puede cancelar antes de enviarse.»
2. «Una chaqueta rebajada de 60,00 € con OTONO10: sigue en 60,00 €.»
3. «¿El código se aplica a las tarjetas regalo?»
4. «Suponemos que el código no se aplica a las tarjetas regalo.» Nadie ha preguntado al dueño.

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.

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

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.

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 €

2. La devolución. La historia sobre devolver un producto.

Coloca cada tarjeta y después decide qué es la historia.

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

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

1. ¿Qué es una tarjeta azul en el Example Mapping?
2. El tablero tiene 7 tarjetas azules. ¿Qué significa?
3. El tablero tiene 5 tarjetas rojas. ¿Qué viene después?
4. ¿Por qué la sesión se limita a unos 25 minutos?
5. ¿Qué pasa con las tarjetas verdes después de la sesión?

Creado por Ivo Gergov como parte de la campaña de Evo Tech por una educación accesible en programación ·