Requisitos como iniciadores de conversación, no especificaciones exhaustivas.
Las historias de usuario no son documentos de requisitos. Son marcadores de posición para conversaciones.
Ron Jeffries capturó esto como las "3 C":
Tarjeta: Una descripción breve que cabe en una tarjeta índice. "Como usuario, quiero restablecer mi contraseña para poder recuperar el acceso a mi cuenta."
Conversación: El diálogo entre desarrolladores y clientes que desarrolla los detalles. ¿Qué significa "restablecer"? ¿Enlace por correo electrónico? ¿Código SMS? ¿Preguntas de seguridad?
Confirmación: Los criterios de aceptación que te indican cuándo la historia está completa. "Dado un correo electrónico válido, cuando hago clic en 'restablecer contraseña', entonces recibo un correo electrónico con un enlace de restablecimiento en 1 minuto."
La tarjeta no es el requisito. La conversación es el requisito. La tarjeta es solo un recordatorio para tener la conversación.
¿Por qué Tarjetas Índice?
Las tarjetas índice fuerzan la brevedad. No puedes ajustar un documento de requisitos en una tarjeta. Esto es intencional: los detalles deben surgir a través de la conversación, no de la documentación.
El formato clásico de historia es:
Como [tipo de usuario] Quiero [alguna capacidad] Para que [valor de negocio]
Por ejemplo:
La cláusula "para que" es crucial. Explica por qué importa la funcionalidad. Esto ayuda a los desarrolladores a tomar buenas decisiones sobre la implementación y ayuda a los propietarios de producto a priorizar.
Malas historias omiten el por qué:
Buenas historias conectan funcionalidades con valor:
El acrónimo INVEST describe las cualidades de las buenas historias:
Independiente: Las historias pueden desarrollarse en cualquier orden. Sin dependencias entre historias.
Negociable: El alcance es flexible. Los detalles se negocian a través de la conversación.
Valiosa: Cada historia entrega valor a los usuarios. Sin "historias técnicas" sin beneficio para el usuario.
Estimable: El equipo puede estimar qué tan grande es. Si no, la historia necesita aclaración o división.
Pequeña: Una historia debe tomar menos de una semana de trabajo. Idealmente unos pocos días.
Comprobable: Hay criterios de aceptación claros. Puedes verificar cuándo está completa.
Cuando una historia viola INVEST, corrígela:
Como cliente, quiero recibir un correo electrónico de confirmación después de ordenar para que tenga un registro de mi compra. Aceptación: el correo electrónico llega en 5 minutos, incluye número de orden y artículos, tiene enlace para cancelar suscripción.
Implementar el sistema de gestión de usuarios. (No independiente: demasiado grande. No comprobable: sin criterios claros. No pequeña: podría tomar meses.)
Las historias grandes necesitan dividirse. ¿Pero cómo?
Dividir por paso del flujo de trabajo: "El usuario puede completar el pago" →
Dividir por variación de datos: "El usuario puede pagar por el pedido" →
Dividir por operación: "El usuario puede gestionar su perfil" →
Dividir por rendimiento: "La búsqueda devuelve resultados rápidamente" →
Cada historia dividida debe ser desplegable independientemente. Si no puedes desplegar soporte parcial de tarjeta de crédito (solo Visa, no Mastercard), eso sigue siendo una división: entregas valor incrementalmente.
Al dividir, sigue preguntando: "¿Cuál es la cosa más pequeña que entrega valor al usuario?" Divide hasta que cada pieza sea pequeña y valiosa.
Vale la pena repetirlo: las historias no son especificaciones.
Los documentos de requisitos tradicionales intentan especificar cada detalle por adelantado. Esto falla porque:
Las historias abrazan la incertidumbre. La tarjeta captura la intención. La conversación completa los detalles justo a tiempo. La confirmación verifica la comprensión.
El cliente permanece involucrado durante todo el proceso. Cuando los desarrolladores tienen preguntas, le preguntan al cliente, no al documento. Esto mantiene al equipo alineado y se adapta al aprendizaje.
Las historias también fomentan diferir decisiones. No tienes que decidir cada caso extremo por adelantado. Maneja primero el camino principal. Cuando encuentres un caso extremo, ten una conversación entonces.
Este es el enfoque de XP para los requisitos: lo justo, justo a tiempo, a través de la conversación.