Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PROFESORES:
JAVIER POZZO
DIEGO VIOLA
PROVINCIA DE BUENOS AIRES
ÍNCIDE
1. METODOLOGÍAS ÁGILES: HISTORIA DE USUARIO (USER STORY) ........................................................................... 3
7. FLUJO DE UNA HISTORIA DE USUARIO (USER STORY) DEL SPRINT EN EL BOARD .............................................. 8
BIBLIOGRAFÍA ..................................................................................................................................................................... 10
1. METODOLOGÍAS ÁGILES: HISTORIA DE USUARIO (USER STORY)
SCRUM:
Product backlog:
1. Card (tarjeta): Toda historia de usuario (user story) debe poder describirse en una ficha de papel pequeña (postic).
Si una historia de usuario (user story) no puede describirse en ese tamaño, es una señal de que estamos traspasando
las fronteras y comunicando demasiada información que debería compartirse cara a cara.
2. Conversation (conversación): Toda historia de usuario (user story) debe tener una conversación entre el equipo
de desarrollo (ED) y el Product Owner (PO). Una comunicación cara a cara que intercambia no sólo información sino
también pensamientos, opiniones y sentimientos. Esta conversación permite asegurar que este bien lo definido en
la historia de usuario (user story). Se alinea el "qué quiero hacer" (PO) con el "cómo se puede hacer" (ED).
3. Confirmation (confirmación): Toda historia de usuario (user story) debe estar lo suficientemente explicada para
que el equipo de desarrollo (ED) sepa qué es lo que debe construir y qué es lo que el Product Owner (PO) espera.
Esto se conoce también como pruebas de aceptación.
yo puedo <actividad> (permite segmentación de la funcionalidad el producto y ayuda a identificar otros roles)
de forma tal que <valor de negocio que recibo> (comunica porqué es necesaria la actividad, para qué se utilizará en el
negocio)
Ejemplo 1°:
Como Conductor quiero buscar un destino a partir de sus coordenadas para conocer el camino a recorrer y así llegar
destino deseado.
Criterios de Aceptación: Las coordenadas se representan con tres números que indican longitud y tres números que
indican latitud. Cada número representa los grados, minutos y segundos respectivamente. Además se debe indicar la
orientación (norte, sur, este, oeste).
• Probar buscar un destino en un país y ciudad existentes, de dos coordenadas existentes (pasa).
• Probar buscar un destino en un país y ciudad existentes, de una coordenada inexistente (falla).
• Probar buscar un destino en un país y ciudad existentes, de dos coordenadas existentes sin indicar la orientación
(falla).
• Probar ingresar coordenadas de latitud y longitud válidas (pasa).
• Probar ingresar coordenadas de latitud y longitud inválidas (falla).
Ejemplo 2°:
Como usuario de OBI deseo conocer qué saldo real tengo disponible al momento de transferir en el caso de que el importe
ingresado no se permita para poder avanzar con la operación.
Consideraciones:
• Se deberá ajustar la validación contra saldo ( al momento de ingresar el importe de la transferencia) tomando el
campo "Operativo_con_bloqueo" según devuelva la API (a confirmar)
• Se deberá ajustar el mensaje "El importe ingresado es superior al saldo en tu cuenta." indicándole cuál es su saldo
disponible ( Mensaje :
"Saldo insuficiente. Tu disponible es de $ [Operativo con bloqueo] (sin contemplar acuerdos)" para el caso de CC,
y el mensaje "Saldo insuficiente. Tu disponible es de $ [Operativo con bloqueo]" para el caso de CA.
• No se deberá modificar ningún comportamiento ya desarrollado para el resto del flujo de transferencias.
Criterios de aceptación:
• Dado un usuario que ingresa a OBI y , para la cuenta seleccionada CA$ 100-2981703-2, API devuelve en el
campo "Operativo_con_bloqueo" un saldo de $1500 cuando ingresa un importe de $2000 entonces no puede
avanzar en el flujo y visualiza un mensaje
• Dado un usuario que ingresa a OBI y , para la cuenta seleccionada CA$ 100-2981703-2, API devuelve en el
campo "Operativo_con_bloqueo" un saldo de $1500 cuando ingresa un importe de $1000 entonces puede
avanzar en el flujo habilitándose el botón Continuar.
• Dado un usuario que ingresa a OBI y , para la cuenta seleccionada CC$ 100-2981703-2, API devuelve en el
campo "Operativo_con_bloqueo" un saldo de $1500 cuando ingresa un importe de $2000 entonces no puede
avanzar en el flujo y visualiza un mensaje
• Dado un usuario que ingresa a OBI y , para la cuenta seleccionada CC$ 100-2981703-2, API devuelve en el
campo "Operativo_con_bloqueo" un saldo de $1500 cuando ingresa un importe de $1000 entonces puede
avanzar en el flujo habilitándose el botón Continuar.
• Dado un usuario que ingresa a OBI y , para la cuenta seleccionada CC$ 100-2981703-2, API devuelve en el
campo "Operativo_con_bloqueo" un saldo de - $2500 (negativo) cuando ingresa un importe de
$2000 entonces no puede avanzar en el flujo y visualiza un mensaje.
• Dado un usuario que ingresa a OBI y , para la cuenta seleccionada CC$ 100-2981703-2, API devuelve en el
campo "Operativo_con_bloqueo" un saldo de $1500 y la suma de los acuerdos es de $1000 cuando ingresa un
importe de $2000 entonces puede avanzar en el flujo habilitándose el botón Continuar.
Ejemplo 3°:
Se requiere que por BO se genere un nuevo campo de cupo diario que permita limitar la cantidad de veces que se muestra
el banner de ingreso a la encuesta de medición del NPS de OBI.
Escenario 1:
• Dado un usuario de OBI cuando realiza el logout de la aplicación, la encuesta esta encendida y aún no se
cumplió el cupo diario entonces deberá visualizar la invitación para responder la encuesta.
• Dado un usuario de OBI cuando realiza el logout de la aplicación, la encuesta esta encendida y el cupo diario
ya está cubierto entonces no deberá visualizar la invitación para responder la encuesta.
• Dado un usuario de OBI cuando realiza el logout de la aplicación, la encuesta esta apagada entonces no
deberá visualizar la invitación para responder la encuesta.
Definición técnica:
• el contador deberá acumular solamente cuando el cliente seleccionó ingresar a responder la encuesta, caso
contrario no se deberá incrementar.
• El cupo se renueva diariamente.
• Se deberá mantener el mismo comportamiento para los días de descanso, tanto para el que ingresó (hoy en 90
dias) como para el cliente que seleccionó "En otro momento" (hoy en 15 dias)
Las ventajas de escribir las historias de usuario (user stories) de esta forma son, principalmente:
• Primera persona: La redacción en primera persona de la historia de usuario (user story) invita a quien la lee a
ponerse en el lugar del usuario.
• Priorización: Tener esta estructura para redactar la historia de usuario (user story) ayuda al responsable del
producto a priorizar. Le permite visualizar mejor cuál es la funcionalidad, quien se beneficia y cuál es el valor de esta.
• Propósito: Conocer el propósito de una funcionalidad permite al equipo de desarrollo plantear alternativas que
cumplan con el mismo objetivo en el caso de que el costo de la funcionalidad solicitada sea alto o su construcción
no sea viable.
5. MODELO INVEST
El modelo INVEST es conjunto de características recomendadas para evaluar la calidad de una historia de usuario
(user story), el uso de la regla mnemotécnica “INVEST”, ayuda a su recordación:
• Independientes: Las historias de usuario (user stories) deben ser independientes de forma tal que no se
superpongan en funcionalidades y que puedan planificarse y desarrollarse en cualquier orden.
• Negociable: Una buena historia de usuario (user story) es negociable. No es un contrato explicito por el cual se
debe entregar todo-o-nada.
• Valuable: Debe tener valor para el cliente y para el negocio del cliente.
• Estimable: Debe poder asignarse un indicador de peso a esa historia de usuario (user story).
• Small (Pequeña): Su tamaño debe ser tal que puede terminarse y entregarse en el tiempo comprometido (iteración).
• Testeable (verificable): Poder demostrar que una historia de usuario (user story) fue implementada.
Wake, W. (2003). INVEST in Good Stories, and SMART Tasks, recuperado de: http://xp123.com/xplor/xp0308/index.shtml.
[Consulta: 12/08/2021].