Historias de Usuario
Las Historias de Usuario describen funcionalidades desde la perspectiva del usuario final. Son la unidad básica de requisitos en metodologías ágiles y la forma más efectiva de capturar el "qué" y "por qué" del desarrollo de software.
El Problema que Resuelve
Los requisitos técnicos tradicionales fallan porque:
| Problema | Consecuencia |
|---|---|
| Documentos extensos | Nadie los lee completos |
| Lenguaje técnico | Stakeholders no entienden |
| Sin contexto de valor | Difícil priorizar |
| Foco en "cómo" | Limita creatividad del equipo |
| Cambios costosos | Documentos obsoletos rápidamente |
Las historias de usuario resuelven esto expresando valor desde la perspectiva del usuario, no especificaciones técnicas. El equipo entiende el "por qué" y puede decidir el "cómo".
Formato Estándar
Una historia de usuario sigue el formato:
Como [tipo de usuario] Quiero [acción/funcionalidad] Para que [beneficio/valor]
Componentes del Formato
| Componente | Propósito | Ejemplo |
|---|---|---|
| Como | Define quién necesita esto | Cliente, Admin, Usuario nuevo |
| Quiero | Describe la funcionalidad | Ver historial de pedidos |
| Para que | Explica el valor/beneficio | Rastrear compras anteriores |
Ejemplos por Tipo
E-commerce:
Como cliente registrado
Quiero guardar productos en lista de deseos
Para que pueda comprarlos después sin buscar de nuevo
SaaS:
Como administrador del equipo
Quiero exportar reportes a Excel
Para que pueda compartirlos en reuniones de directivos
App móvil:
Como usuario frecuente
Quiero login con huella digital
Para que pueda acceder rápido sin escribir contraseña
Criterios INVEST
Las buenas historias cumplen INVEST:
| Criterio | Significado | Verificación |
|---|---|---|
| Independiente | No depende de otras historias | ¿Puede entregarse sola? |
| Negociable | Detalles se discuten | ¿Hay espacio para conversación? |
| Valiosa | Aporta valor al usuario | ¿El usuario lo quiere? |
| Estimable | Se puede estimar esfuerzo | ¿El equipo entiende qué hacer? |
| Small (Pequeña) | Cabe en un sprint | ¿Se puede terminar en 1-2 semanas? |
| Testable | Se puede verificar | ¿Hay criterios claros de éxito? |
Lo Que Ves
Lista de Historias
La vista principal muestra:
| Columna | Descripción |
|---|---|
| Título | Nombre descriptivo de la historia |
| Puntos | Estimación de esfuerzo (1, 2, 3, 5, 8, 13...) |
| Prioridad | Must/Should/Could/Won't Have |
| Estado | Pendiente, En progreso, Completada |
| Épica | Funcionalidad padre que agrupa historias |
| Sprint | En qué iteración está planificada |
| Asignado | Quién trabaja en ella |
Vista de Detalle
Al hacer clic en una historia ves:
Panel principal:
- Descripción completa en formato estándar
- Criterios de aceptación
- Notas y contexto adicional
Panel lateral:
- Épica asociada
- Puntos de historia
- Prioridad
- Sprint asignado
- Responsable
Tabs adicionales:
- Tareas: Trabajo técnico derivado
- Comentarios: Discusión del equipo
- Adjuntos: Mockups, documentos
- Historial: Cambios realizados
Creando Historias
Proceso Paso a Paso
- Identificar al usuario
- ¿Quién se beneficia?
- ¿Qué rol tiene?
- ¿Cuál es su contexto?
- Definir la necesidad
- ¿Qué quiere lograr?
- ¿Qué funcionalidad necesita?
- ¿Cuál es la acción principal?
- Explicar el valor
- ¿Por qué es importante?
- ¿Qué problema resuelve?
- ¿Qué beneficio obtiene?
- Escribir criterios de aceptación
- ¿Cómo sabemos que está completa?
- ¿Qué escenarios debe cubrir?
- ¿Qué no debe hacer?
- Estimar (opcional)
- Planning Poker con el equipo
- Puntos de historia relativos
Criterios de Aceptación
Los criterios definen cuándo la historia está DONE:
Formato Given-When-Then:
DADO que soy un cliente registrado
CUANDO accedo a mi perfil
ENTONCES veo el historial de mis últimos 10 pedidosFormato checklist:
- [ ] Usuario puede ver lista de pedidos
- [ ] Cada pedido muestra fecha, total, estado
- [ ] Puede filtrar por rango de fechas
- [ ] Puede descargar factura de cada pedido
- [ ] Muestra mensaje si no hay pedidos
Criterios de Calidad:
| Aspecto | Criterio |
|---|---|
| Performance | Carga en menos de 2 segundos |
| Accesibilidad | Navegable con teclado |
| Mobile | Responsive en todos los breakpoints |
| Seguridad | Solo muestra pedidos del usuario autenticado |
Organizando Historias
Por Épica
Las épicas agrupan historias relacionadas:
ÉPICA: Gestión de Pedidos
├── Historia: Ver historial de pedidos
├── Historia: Filtrar pedidos por fecha
├── Historia: Descargar factura
├── Historia: Repetir pedido anterior
└── Historia: Cancelar pedido recienteJerarquía típica:
| Nivel | Descripción | Duración |
|---|---|---|
| Épica | Funcionalidad completa | Semanas/meses |
| Historia | Unidad de valor | 1-2 semanas |
| Tarea | Trabajo técnico | Horas/días |
Por Prioridad (MoSCoW)
| Prioridad | Significado | % del Esfuerzo |
|---|---|---|
| Must Have | Sin esto no funciona | ~60% |
| Should Have | Importante pero no crítico | ~20% |
| Could Have | Bueno tenerlo | ~20% |
| Won't Have | No ahora, quizás después | 0% (este release) |
Por Sprint
Planifica qué historias van en cada iteración:
| Sprint | Historias | Puntos |
|---|---|---|
| Sprint 1 | Registro, Login, Perfil básico | 21 |
| Sprint 2 | Ver productos, Carrito | 18 |
| Sprint 3 | Checkout, Pago | 26 |
Convertiendo a Tareas
Una historia se descompone en tareas técnicas:
Historia: Como usuario quiero buscar productos por nombre
Tareas derivadas:
| # | Tarea | Puntos | Asignado |
|---|---|---|---|
| 1 | Diseñar UI de búsqueda | 2 | Frontend |
| 2 | Crear endpoint de búsqueda | 3 | Backend |
| 3 | Implementar indexación | 2 | Backend |
| 4 | Conectar frontend con API | 2 | Frontend |
| 5 | Escribir tests E2E | 1 | QA |
Proceso en GitScrum:
- Abre la historia
- En la tab Tareas, haz clic en Crear Tarea
- Define título y descripción técnica
- Asigna responsable
- Estima horas/puntos
- Repite para cada tarea
Votación de Estimación
Planning Poker
El equipo estima colaborativamente:
Escala Fibonacci: 1, 2, 3, 5, 8, 13, 21
| Puntos | Significado |
|---|---|
| 1 | Trivial, muy pequeño |
| 2 | Pequeño, claramente definido |
| 3 | Pequeño-mediano |
| 5 | Mediano, algo de complejidad |
| 8 | Grande, cierta incertidumbre |
| 13 | Muy grande, considerar dividir |
| 21+ | Demasiado grande, DEBE dividirse |
Proceso en GitScrum:
- Product Owner presenta la historia
- El equipo hace preguntas de clarificación
- Cada miembro selecciona su estimación (oculta)
- Se revelan todas las votaciones
- Se discuten las diferencias
- Se vuelve a votar si es necesario
- Se confirma la estimación final
Métricas de Estimación
| Métrica | Descripción |
|---|---|
| Velocidad | Puntos completados por sprint |
| Precisión | Estimado vs. real |
| Dispersión | Varianza en votaciones |
Story Mapping
Concepto
El Story Map visualiza el producto completo:
Eje X: Flujo del usuario (de izquierda a derecha)
Eje Y: Prioridad (de arriba a abajo)
┌─────────────────────────────────────────────────┐
│ Descubrir → Evaluar → Comprar → Recibir → Usar │ <- Backbone
├─────────────────────────────────────────────────┤
│ Buscar | Ver | Pagar | Track | Usar │ <- Must Have
│ productos | detalles| tarjeta | envío | │
├─────────────────────────────────────────────────┤
│ Filtrar | Reviews | PayPal | Notif. | Rate │ <- Should Have
├─────────────────────────────────────────────────┤
│ Comparar | Videos | Crypto | SMS | Share│ <- Could Have
└─────────────────────────────────────────────────┘Crear Story Map
- Define las actividades principales (backbone)
- Lista historias bajo cada actividad
- Ordena verticalmente por prioridad
- Dibuja línea de corte para MVP
Splitting (División)
Cuándo Dividir
Divide una historia si:
- Estimación > 13 puntos
- Múltiples criterios de aceptación no relacionados
- Diferentes tipos de usuarios
- Múltiples pasos en el flujo
Patrones de División
| Patrón | Ejemplo |
|---|---|
| Por operación CRUD | Crear, Leer, Actualizar, Eliminar por separado |
| Por tipo de usuario | Admin vs. Usuario normal |
| Por escenario | Flujo exitoso vs. manejo de errores |
| Por plataforma | Web vs. Mobile |
| Por datos | Con pocos vs. con muchos registros |
| Por UI | Funcional básico vs. con animaciones |
Ejemplo de división:
Historia grande:
Como usuario quiero gestionar mis tarjetas de pago
Dividida en:
- Ver lista de tarjetas guardadas
- Agregar nueva tarjeta
- Editar tarjeta existente
- Eliminar tarjeta
- Establecer tarjeta por defecto
Mejores Prácticas
Escribir Buenas Historias
- Centradas en usuario - No en tecnología
- Pequeñas - Terminables en un sprint
- Conversacionales - Invitan a discusión
- Con valor claro - El "para que" es evidente
- Testeables - Criterios verificables
Errores Comunes
| Error | Problema | Solución |
|---|---|---|
| Historias técnicas | No expresan valor | Reformular como beneficio |
| Sin criterios | No sabemos cuándo termina | Definir acceptance criteria |
| Muy grandes | No caben en sprint | Dividir con patrones |
| Dependencias | Bloquean otras | Reorganizar o combinar |
| Sin prioridad | Todo es urgente | Aplicar MoSCoW |
Checklist de Calidad
- [ ] Sigue formato estándar (Como/Quiero/Para)
- [ ] Cumple criterios INVEST
- [ ] Tiene criterios de aceptación claros
- [ ] Está estimada por el equipo
- [ ] Tiene prioridad asignada
- [ ] Está asociada a épica (si aplica)
- [ ] Es lo suficientemente pequeña
Permisos
| Acción | Propietario | Manager | Developer | Client |
|---|---|---|---|---|
| Ver historias | ✓ | ✓ | ✓ | ✓ |
| Crear historia | ✓ | ✓ | ✓ | — |
| Editar | ✓ | ✓ | ✓ | — |
| Eliminar | ✓ | ✓ | — | — |
| Estimar | ✓ | ✓ | ✓ | — |
| Priorizar | ✓ | ✓ | — | — |
| Convertir a tareas | ✓ | ✓ | ✓ | — |
Recursos Relacionados
- Crear Historia - Guía paso a paso
- Criterios de Aceptación - Escribir buenos criterios
- Épicas - Agrupar historias
- Planning Poker - Estimar en equipo
- Sprints - Planificar iteraciones
Criterios de Aceptación
Los criterios de aceptación definen las condiciones que deben cumplirse para que una historia de usuario se considere completa. Transforman requisitos vagos en especificaciones comprobables, eliminando ambigüedad y previniendo la expansión del alcance.
Propósito
Los criterios de aceptación sirven múltiples roles:
Para desarrolladores: Requisitos claros antes de comenzar a codificar Para testers: Condiciones exactas a verificar Para stakeholders: Definición transparente de entregables Para product owners: Aplicación del límite del alcance
Sin criterios de aceptación, "hecho" se vuelve subjetivo. Con ellos, la completación es binaria—todos los criterios pasan o el trabajo continúa.
Acceder al Editor
Abre los criterios de aceptación desde los detalles de la historia de usuario:
- Navega a cualquier historia de usuario
- Haz clic en la pestaña Detalles
- Encuentra la sección Criterios de Aceptación
- Haz clic en el botón Editar (ícono de lápiz)
El editor se abre en un modal con opciones de formato de texto enriquecido.
Características del Editor
Barra de Herramientas de Formato
El editor de criterios de aceptación soporta:
| Herramienta | Propósito | Ejemplo de Uso |
|---|---|---|
| Negrita | Enfatizar términos clave | Requerido: Usuario debe estar autenticado |
| Cursiva | Términos técnicos, notas | Datos guardados asincrónicamente |
| Subrayado | Advertencias críticas | No debe eliminar sin confirmación |
| Encabezado 1 | Secciones principales | # Requisitos Funcionales |
| Encabezado 2 | Subsecciones | ## Validación de Entrada |
| Lista ordenada | Pasos secuenciales | 1. Clic en Enviar 2. Ver confirmación |
| Lista con viñetas | Ítems no secuenciales | • Chrome • Firefox • Safari |
| Bloque de código | Especificaciones técnicas | status: 200 |
| Línea horizontal | Divisores de sección | --- |
Soporte de Texto Enriquecido
El editor preserva el formato al pegar desde:
- Google Docs
- Confluence
- Notion
- Microsoft Word
Pega contenido formateado directamente—la estructura se transfiere automáticamente.
Escribir Criterios Efectivos
El Formato Given-When-Then
Esta estructura crea condiciones inequívocas y comprobables:
Dado [precondición]
Cuando [acción]
Entonces [resultado esperado]Ejemplo:
Dado que estoy logueado como administrador
Cuando hago clic en "Eliminar Usuario" y confirmo el diálogo
Entonces el usuario es eliminado del sistema
Y veo una notificación de éxito
Y el usuario ya no aparece en la lista de usuariosFormato de Lista de Verificación
Para validaciones más simples, usa checkboxes:
- [ ] El formulario valida formato de email
- [ ] La contraseña requiere 8+ caracteres
- [ ] El botón Enviar está deshabilitado hasta que el formulario sea válido
- [ ] Los mensajes de error se muestran debajo de campos inválidos
- [ ] El éxito redirige al dashboardEspecificación por Ejemplo
Muestra el comportamiento esperado exacto:
Entrada: "juan@ejemplo.com"
Esperado: Válido, proceder al siguiente paso
Entrada: "juan@"
Esperado: Error "Formato de email inválido"
Entrada: ""
Esperado: Error "El email es requerido"Categorías de Criterios
Criterios Funcionales
Lo que la característica debe hacer:
Dado un usuario con ítems en el carrito
Cuando hace clic en "Checkout"
Entonces ve el formulario de pago
Y el total del carrito se muestra correctamente
Y las opciones de envío se calculanCriterios No Funcionales
Cómo la característica debe comportarse:
Rendimiento:
- La página carga en menos de 2 segundos
- La búsqueda retorna resultados en menos de 500ms
- Soporta 100 usuarios concurrentes
Accesibilidad:
- Todos los campos del formulario tienen etiquetas
- La navegación con Tab funciona correctamente
- Compatible con lectores de pantallaCasos Límite
Condiciones de frontera y estados de error:
Casos límite manejados:
- Búsqueda vacía retorna mensaje de ayuda
- Timeout de red muestra opción de reintentar
- Expiración de sesión redirige a login
- Datos inválidos muestran errores específicosCriterios de Seguridad
Requisitos de protección:
Requisitos de seguridad:
- Contraseñas hasheadas antes de almacenar
- Sesión expira después de 30 min de inactividad
- Intentos de login fallidos limitados a 5
- Datos sensibles no se registran en logsAnti-Patrones a Evitar
Muy Vago
❌ Malo:
- Debe funcionar correctamente
- Debe ser rápido
- Necesita manejar errores✅ Bueno:
- Retorna status 200 con entrada válida
- Responde en menos de 500ms bajo carga normal
- Muestra "Error de red, por favor reintente" en timeoutMuy Técnico
❌ Malo (a menos que el equipo sea todo desarrolladores):
- Usa Redis pub/sub para actualizaciones en tiempo real
- Implementa bloqueo optimista con ETag
- Despliega via rolling update de Kubernetes✅ Bueno:
- Los cambios aparecen para todos los usuarios en 3 segundos
- Ediciones simultáneas muestran advertencia de conflicto
- El despliegue causa cero tiempo de inactividadProbando la Implementación
❌ Malo:
- Usa hooks de React correctamente
- Las consultas de base de datos están optimizadas
- El código sigue la guía de estilo✅ Bueno:
- El componente se re-renderiza solo cuando los datos cambian
- La lista carga en menos de 1 segundo para 10,000 ítems
- Consistente con patrones de UI existentesExpansión del Alcance
❌ Malo (añade trabajo no incluido en la historia):
- También añadir soporte de modo oscuro
- Incluir exportación a PDF
- Añadir atajos de teclado✅ Bueno (mantener el alcance de la historia):
- El dashboard muestra todos los widgets
- Los widgets cargan la configuración guardada del usuario
- El layout persiste entre sesionesIntegración con el Flujo de Trabajo
Durante la Planificación
- Creación de historia: Redactar criterios iniciales
- Refinamiento: El equipo discute, añade casos límite
- Estimación: Los criterios informan la asignación de story points
- Planificación del sprint: Los criterios verifican que la historia está lista
Durante el Desarrollo
- Referencia: El desarrollador revisa criterios mientras codifica
- Auto-prueba: El desarrollador verifica cada criterio antes del PR
- Revisión de código: El revisor verifica cobertura de criterios
Durante el Testing
- Creación de casos de prueba: Cada criterio se convierte en caso de prueba
- Verificación: El tester valida todos los criterios
- Reportes de bugs: Referencia criterios específicos que fallaron
Durante la Demo
- Recorrido: Muestra cada criterio siendo cumplido
- Aprobación: El stakeholder confirma aceptación
Atajos de Teclado
En el editor de criterios de aceptación:
| Acción | Atajo |
|---|---|
| Negrita | Cmd/Ctrl + B |
| Cursiva | Cmd/Ctrl + I |
| Subrayado | Cmd/Ctrl + U |
| Guardar | Cmd/Ctrl + Enter |
| Cancelar | Escape |
Mejores Prácticas
1. Escribe Criterios Antes del Desarrollo
Los criterios escritos después de codificar tienden a coincidir con la implementación en lugar de los requisitos. Escribe primero, codifica después.
2. Involucra al Equipo
Los desarrolladores detectan vacíos técnicos. Los testers encuentran casos límite. Incluye ambas perspectivas al escribir criterios.
3. Mantén los Criterios Atómicos
Cada criterio prueba una cosa:
❌ Combinado:
El usuario puede iniciar sesión con credenciales correctas y ve el dashboard con sus datos✅ Atómico:
- Credenciales válidas otorgan acceso
- Credenciales inválidas muestran error
- El dashboard se muestra después del login
- El dashboard muestra solo los datos del usuario4. Usa Lenguaje Consistente
Establece convenciones del equipo:
- "Usuario" vs "Cliente" vs "Miembro"
- "Clic" vs "Seleccionar" vs "Elegir"
- "Mostrar" vs "Visualizar" vs "Renderizar"
5. Incluye Casos Negativos
Lo que NO debe pasar también importa:
- La contraseña nunca se muestra en logs
- Los datos eliminados no pueden recuperarse
- La sesión expirada no puede acceder a rutas protegidas6. Versiona los Criterios
Cuando los requisitos cambian, actualiza los criterios y nota por qué:
Actualizado 2024-01-15: Añadido requisito de 2FA por auditoría de seguridad
Anterior: Login requiere email + contraseña
Actual: Login requiere email + contraseña + código 2FAPlantillas Comunes
Operaciones CRUD
Crear:
- Entrada válida crea registro
- Entrada inválida muestra errores específicos
- Prevención de duplicados funciona
Leer:
- Usuarios autorizados ven datos
- Usuarios no autorizados ven error
- Estado vacío muestra mensaje de ayuda
Actualizar:
- Cambios se guardan correctamente
- Validación aplica a actualizaciones
- Manejo de edición concurrente funciona
Eliminar:
- Confirmación requerida
- Soft delete preserva datos
- Hard delete elimina completamenteValidación de Formulario
Campo: Email
- Requerido (muestra error cuando está vacío)
- Validación de formato (usuario@dominio.com)
- Longitud máxima: 254 caracteres
- Verificación de unicidad (muestra error si existe)
Campo: Contraseña
- Requerido
- Mínimo 8 caracteres
- Al menos un número
- Al menos un carácter especial
- Indicador de fortaleza se muestraEndpoint de API
Endpoint: GET /api/users/{id}
Éxito (200):
- Retorna objeto de usuario
- Excluye campos sensibles (contraseña, tokens)
- Tiempo de respuesta < 200ms
No Encontrado (404):
- Retorna formato de error estándar
- Mensaje: "Usuario no encontrado"
No Autorizado (401):
- Token faltante retorna error
- Token expirado retorna error
- Token inválido retorna errorSolución de Problemas
El formato no se guarda:
- Revisa la consola del navegador para errores
- Intenta limpiar caché del navegador
- Asegura conexión de red estable
El editor no abre:
- Verifica permiso
edituserstories - Comprueba que la historia no esté archivada
- Actualiza la página y reintenta
El contenido pegado pierde formato:
- Intenta Pegar y Coincidir Estilo (
Cmd/Ctrl + Shift + V) - Usa formato Markdown para contenido complejo
- Divide en operaciones de pegado más pequeñas
Los cambios no son visibles para el equipo:
- Verifica que el guardado se completó (modal cerrado)
- Busca errores de sincronización en el feed de actividad
- Los miembros del equipo pueden necesitar actualizar
Crear Historia de Usuario
Las historias de usuario capturan requisitos desde la perspectiva del usuario final. Cada historia sigue el formato: "Como [quién], quiero [qué], para que [por qué]." Esta estructura asegura que cada característica tenga propósito claro y valor medible.
Abrir el Modal
Accede al modal de creación a través de múltiples caminos:
- Encabezado del proyecto: Haz clic en el botón "Nuevo" en la sección de historias de usuario
- Atajo de teclado:
Cmd/Ctrl + Shift + Udesde cualquier lugar en el proyecto - Estado vacío: Haz clic en el enlace "Crea tu primera historia de usuario"
- Creación rápida: Usa el menú de creación rápida global y selecciona "Historia de Usuario"
El modal se abre con tu proyecto actual preseleccionado. Si lo abriste desde el menú global, selecciona primero el espacio de trabajo y proyecto.
Modos de Creación
Modo Tradicional
Escribe historias de usuario en el formato estándar:
Estructura de la plantilla:
Como [tipo de usuario],
Quiero [algún objetivo],
Para que [alguna razón].Ejemplo:
Como gerente de proyecto,
Quiero ver gráficos de burndown del sprint,
Para que pueda rastrear la velocidad del equipo.El formato tradicional asegura:
- Identificación clara de la persona usuaria
- Declaración de objetivo específica y accionable
- Justificación del valor de negocio
Escribir historias efectivas:
- Sé específico sobre el usuario. "Como usuario" es muy vago. Usa "Como administrador de facturación" o "Como visitante por primera vez"
- Enfócate en un objetivo. Si escribes "y" en la cláusula de quiero, considera dividir en múltiples historias
- Declara valor medible. "Para que pueda ahorrar tiempo" es débil. "Para que pueda procesar 50% más facturas" es accionable
Modo IA
Describe lo que necesitas en lenguaje natural. La IA genera una historia de usuario correctamente formateada:
Entrada:
Necesito una forma para que los managers aprueben entradas de tiempo antes de que vayan a facturaciónHistoria generada:
Como gerente de equipo,
Quiero revisar y aprobar entradas de tiempo antes de exportar,
Para que mejore la precisión de facturación y disminuyan las disputas.El modo IA sobresale cuando:
- Conviertes solicitudes de stakeholders en formato de historia de usuario
- Transformas reportes de bugs en historias de mejora
- Descompones requisitos vagos en necesidades específicas
Campos del Modal
Título (Requerido)
En modo Tradicional, este es tu texto completo de historia de usuario. En modo IA, esta es tu descripción en lenguaje natural.
Límite de caracteres: 500 caracteres Mejor práctica: Mantén los títulos escaneables. La primera línea debe resumir la historia.
Criterios de Aceptación
Define qué significa "hecho" para esta historia. Usa condiciones comprobables:
Criterios débiles:
- Debe funcionar correctamente
- Debe ser rápido
- Debe verse bienCriterios fuertes:
- Las entradas de tiempo se muestran en orden cronológico
- El manager puede aprobar/rechazar entradas individuales
- Las entradas rechazadas regresan al remitente con comentario requerido
- Las entradas aprobadas se marcan con timestamp y nombre del aprobador
- La página carga en menos de 2 segundos para hasta 500 entradasOpciones de formato:
Dado/Cuando/Entonces:
Dado que soy un manager logueado
Cuando veo las entradas de tiempo pendientes
Entonces veo las entradas agrupadas por miembro del equipoEstilo de lista de verificación:
- [ ] Filtrar por rango de fechas funciona
- [ ] Aprobar masivamente entradas seleccionadas funciona
- [ ] Exportar entradas aprobadas a CSV funcionaInformación Adicional
Contexto que ayuda durante la implementación:
- Enlaces a mockups de diseño
- Restricciones técnicas
- Documentación relacionada
- Contactos de stakeholders
- Casos límite a considerar
Este campo soporta formato Markdown completo incluyendo enlaces, bloques de código e imágenes.
Prioridad
Establece el nivel de urgencia de la lista de prioridades de tu proyecto:
| Prioridad | Cuándo Usar |
|---|---|
| Crítica | Bloqueando otro trabajo, problema en producción |
| Alta | Compromiso del sprint, solicitud clave de stakeholder |
| Media | Importante pero no urgente |
| Baja | Deseable, consideración futura |
La prioridad afecta:
- Ordenamiento predeterminado en vistas de backlog
- Sugerencias de planificación de sprint
- Cálculos de carga de trabajo del equipo
Épica
Vincula la historia a una épica padre para organización:
Sin Épica seleccionada: La historia aparece en el backlog sin agrupación Épica seleccionada: La historia se agrupa bajo la épica en vistas de roadmap y planificación
Crear Épica en línea: Haz clic en "Crear nueva épica" para añadir una épica sin salir del modal. Ingresa el título y guarda—la nueva épica es inmediatamente seleccionable.
Esto es valioso cuando:
- Una historia revela necesidad de una nueva iniciativa
- Un stakeholder solicita una característica fuera de épicas existentes
- Estás descomponiendo un requisito grande en épica + historias
Validación del Formulario
El botón crear se habilita cuando:
- Proyecto seleccionado: Requerido para todas las historias
- Título proporcionado: Mínimo 3 caracteres
- Contenido apropiado al modo: Ya sea formato tradicional o descripción IA
Los errores de validación aparecen en línea:
- Título vacío: "El título es requerido"
- Título muy corto: "Mínimo 3 caracteres"
- Sin proyecto: "Selecciona un proyecto primero"
Después de la Creación
Estado de Éxito
El modal confirma la creación con opciones:
Ir a Historias de Usuario: Navegar al tablero de historias de usuario del proyecto Crear Otra: Limpiar formulario, permanecer en modal para creación por lotes
Qué Sucede
- Historia creada con estado "Abierta"
- Aparece en backlog lista para planificación de sprint
- Vinculada a épica si se seleccionó
- Equipo notificado via feed de actividad del proyecto
- Sincronización en tiempo real en las vistas de todos los miembros del equipo
Atajos de Teclado
| Acción | Atajo |
|---|---|
| Enviar formulario | Cmd/Ctrl + Enter |
| Cerrar modal | Escape |
| Cambiar a Tradicional | Cmd/Ctrl + 1 |
| Cambiar a IA | Cmd/Ctrl + 2 |
Mejores Prácticas
Escribe Independientemente
Cada historia debe ser completable sin dependencias:
Dependiente (evitar):
Como usuario, quiero ver el dashboard que fue creado en US-123Independiente (preferido):
Como usuario, quiero ver métricas clave en mi dashboardDimensiona Apropiadamente
Las historias deben completarse dentro de un sprint. Si son más grandes:
- Divide en múltiples historias
- Usa épica para agrupar historias relacionadas
- Considera el patrón "Como usuario, quiero [parte 1]"
Incluye Criterios de Aceptación
Cada historia necesita condiciones comprobables. Esto no es opcional—es cómo tu equipo sabe cuándo el trabajo está completo.
Inversión de tiempo: 5 minutos escribiendo criterios ahorra 2 horas de preguntas de clarificación después.
Conecta con Épicas
Las historias huérfanas crean caos en la planificación. Incluso "mejoras misceláneas" merecen una épica para agrupar.
Patrones Comunes
Historia de Característica
Como [tipo de usuario],
Quiero [capacidad],
Para que [valor de negocio].Conversión de Bug a Historia
Como [usuario afectado],
Quiero que [cosa rota] se arregle,
Para que [impacto cuando se arregle].Historia Técnica
Como desarrollador,
Quiero [mejora técnica],
Para que [beneficio de mantenimiento/rendimiento].Historia de Investigación
Como product manager,
Quiero entender [lo desconocido],
Para que [decisiones futuras].Solución de Problemas
El modal no abre:
- Verifica permisos del proyecto (necesitas
createuserstories) - Asegura que el proyecto está seleccionado en la navegación
- Intenta actualizar la página
El modo IA no genera:
- Proporciona más detalle en la descripción
- Incluye contexto sobre tipo de usuario y objetivo
- Verifica conexión de red
No puedo seleccionar épica:
- Las épicas cargan después de la selección de proyecto
- Crea nueva épica si no existe ninguna
- Verifica que la épica no esté archivada
Desplegable de prioridad vacío:
- Las prioridades vienen de la configuración del proyecto
- El admin puede añadir prioridades en Configuración del Proyecto → Prioridades