Cómo definir un requerimiento de proyecto?

Cómo definir un requerimiento de proyecto?

Nuestra metodología de desarrollo de proyectos personalizados, para nuestros clientes de Zoho, se basa en las metodologías ágiles y principalmente en el marco de trabajo conocido como SCRUM, con e fin de entregar productos de alto valor para el cleinte.

Si quieres conocer más sobre la Gestión de Proyectos basados en la métodología AGILE , aquí encontrarás un información que te ayuda a entender mejor sus orígnees, características y componentes:  What is Agile Project Management? (by Zoho)
Utilizamos Scrum como herramienta para implementar cosas complejas de una forma simple. Para ello, un problema complejo lo partimos en pequeños "pedazos", trabajamos cada uno de ellos en cortos períodos de tiempo (SPRINTS)  que producen una pieza funcional (parte de la solución global) al final de cada ciclo de tiempo, para ir armando un todo al final del proyecto.

La definición de los pequeños pedazos que constituyen el proyecto se plasman en "Historias de Usuario" que redacta el cliente, para plasmar la necesidad o requerimiento.   

1. Qué debe incluir la Historia de Usuario?



2. Redacción de las Historias 

Una historia debe responder estas preguntas:

  1. Quién: Usuario/Persona
  1. Qué: objetivo a lograr
  1. Para qué: motivo por qué se debe lograr

Las Historias : deben ser creadas por el cliente (un PO) y siempre pensando en una finalidad del producto.

Las Tareas: será la manera en que los desarrolladores consigan el desarrollo de estos requisitos optimizando los resultados/entregando Valor!


3. Criterios de aceptación (Propia de cada Historia de Usuario)

Toda Historia debe definir unos criterios con los cuales se dará por aceptada la entrega de la solución al requerimiento.

Ejemplo 1 :
Historia de Usuario: COMO usuario QUIERO acceder a la agenda de enfermería de forma segura PARA usar sus funcionalidades

Criterios de Aceptación:

C1: El nombre de usuario DEBE tener valor, en caso contrario se mostrará el mensaje de error pertinente

C2: El nombre de usuario DEBE tener forma de email, en caso contrario se mostrará el mensaje de error pertinente

C3: La contraseña DEBE tener valor, en caso contrario se mostrará el mensaje de error pertinente

C4: El nombre de usuario DEBE existir en la base de datos en caso contrario se mostrará el mensaje de error pertinente

C5: La contraseña DEBE coincidir con la que el nombre de usuario tiene asociada en la base de datos, en caso contrario se mostrará el mensaje de error pertinente

Si el usuario y la contraseña son correctos, el usuario podrá acceder a la aplicación.

Muchas veces estos criterios de aceptación pueden parecer triviales o innecesarios, pero ser riguroso con ellos, es la mejor manera de desarrollar la funcionalidad.

Ejemplo 2 Historia con Redacción de Criterios de Aceptación:
Partimos de la siguiente historia de usuario:

Como cliente 
Quiero retirar dinero del cajero automático
Para poder evitar ir al banco a hacer una cola

Criterios de Aceptación (Redacción de ejemplo Dado-Cuando-Entonces) :

Escenario 1 : La cuenta tiene crédito


Dado que la cuenta tiene crédito 
y que la tarjeta es válida 
y que el cajero tiene dinero disponible

Cuando el cliente pide dinero

Entonces la cuenta es debitada 
y el dinero es entregado al cliente 
y el cliente recupera su tarjeta

Escenario 2 : La cuenta excede el límite negativo acordado con el banco

Dado que la cuenta excede el límite negativo acordado con el banco
y que la tarjeta es válida

Cuando el cliente pide dinero

Entonces el cajero muestra un mensaje negando el pedido
y el dinero no es entregado al cliente
y el cliente recupera su tarjeta

4. Definición de Terminado (Definition of Done)

Es la forma de considerar/medir La Calidad en TODAS las HU dentro de 1 Sprint. Si todas las HU cumplen el DoD , entonces la HU se considera terminada por parte del PO.

Este es un ejemplo de Criteriso de Aceptación + Definción de Terminado de un proyecto llamado "Incremento".


Si quieres conocer otros ejemplos puedes continuar leyendo;

5. Ejemplos complementarios

Estos ejemplos fueron obtenidos de Mountain Goat Software. Two Examples of Spliting Epics


REPORTES DE DESEMPEÑO DE VENTAS


Ejemplo 1: 

Aquí la épica:

 

Como Vicepresidente de mercadeo y ventas, quiero revisar el desempeño histórico de las ventas, para poder identificar las regiones geográficas y productos de mejor desempeño

 

Esta épica se puede subdividir en:

                          

Como VP de Mercadeo, quiero seleccionar el período de tiempo en el cual realizaré la revisión de las ventas
Como VP de Mercadeo, puedo clasificar la información de ventas por región geográfica y productos.
 

Ejemplo 2: Maximizar los ingresos de un hotel

 

Como un operador hotelero, quiero establecer las tarifas óptimas para las habitaciones de mi hotel.

 

Esta historia se puede subdividir en:

                          

Como un operador hotelero, quiero establecer la tarifa óptima para las habitaciones en base a los precios del año anterior
Como un operador hotelero, quiero establecer la tarifa óptima para las habitaciones en base a las tarifas de otros hoteles comparables con el mío.

 

AUTOGESTIÓN DE T.V. POR SUSCRIPCIÓN


Ejemplo 3: Como Cliente, quiero suscribirme a un nuevo plan de T.V. por cable por medio del sitio web.

Ejemplo 4: Como Cliente, quiero pagar mi suscripción mensual vía sitio web por medio de transferencia bancaria o tarjeta de crédito.

Ejemplo 5: Como Cliente, quiero suscribirme a un canal de T.V Premium por períodos flexibles de tiempo por medio del sitio web.

Ejemplo 6: Como Cliente, consultar un listado de las suscripciones de Pay per View que se han realizado en mi cuenta.



SISTEMA DE VENTAS Y DISTRIBUCIÓN


Ejemplo 7: Como Vendedor, quiero registrar los productos y cantidades que me solicita un cliente para crear un pedido de venta.

Ejemplo 8: Como Supervisor de ventas, quiero consultar un listado de los pedidos de venta que han sido registrados y aún no han sido procesados.

Ejemplo 9: Como Gerente de ventas, quiero consultar los pedidos de venta procesados clasificándolos por vendedor, región y líneas de producto.

Ejemplo 10: Como Analista de logística, quiero seleccionar un pedido de venta y enviarlo al almacén para que procedan con su preparación.

Ejemplo 11: Como Analista de almacén, quiero listar todos los pedidos de venta recibidos que debo preparar.

Ejemplo 12: Como Analista de logística, quiero poder consultar todos los pedidos preparados listos para ser despachados.

 

Ejemplo 13: Como Analista de logística, quiero que el sistema me sugiera la ruta más corta en base a una serie de despachos de mercancía y un transporte.


SISTEMA DE COMPRAS


Ejemplo 14: Como Analista de compras, quiero crear una nueva solicitud de cotización.

Ejemplo 15: Como Analista de compras, quiero definir si una solicitud de cotización es de adjudicación directa o de licitación.

Ejemplo 16: Como Gerente de compras, quiero que el sistema requiera de mi aprobación para toda solicitud de cotización de adjudicación directa con monto mayor a USD 5.000.

Ejemplo 17: Como Analista de compras, quiero que el sistema notifique vía correo electrónico a los proveedores cuando se ha enviado una cotización de licitación.

Ejemplo 18: Como Representante de proveedor, quiero poder consultar los procesos de licitación que están en curso.

Ejemplo 19: Como Representante de proveedor, quiero ofertar una cotización para un proceso que esté abierto por licitación.


SISTEMA BANCARIO


Ejemplo 20: Como Ejecutivo de cuenta, quiero consultar los datos de un cliente suministrándole al sistema su documento de identidad o código de cliente.

Ejemplo 21: Como Ejecutivo de cuenta, quiero poder abrir una nueva cuenta de cheques a un cliente, seleccionando el código de cliente y producto bancario.

Ejemplo 22: Como Ejecutivo de cuenta, quiero registrar una nueva solicitud de crédito hipotecario a mi cliente.

Ejemplo 23: Como Ejecutivo de cuenta, quiero que el sistema me indique cuales son los documentos que debo solicitar al cliente para procesar su solicitud de crédito hipotecario.

Ejemplo 24: Como Analista de crédito hipotecario, quiero aprobar una solicitud de crédito hipotecario para que sea evaluada por el comité de crédito.

Ejemplo 25: Como Presidente Ejecutivo, quiero que el sistema requiera de mi aprobación para todo crédito a otorgar cuyo monto exceda los USD 10 MM.


EJEMPLOS DE HISTORIAS DE USUARIO DE REQUISITOS NO FUNCIONALES


Ejemplo 26: Como cliente, quiero poder ejecutar tu producto en todas las versiones de Windows, desde Windows 95 en adelante.

Ejemplo 27: Como Vicepresidente de Tecnología, quiero que el sistema utilice la base de datos de pedidos existente en lugar de crear una nueva, con la finalidad de evitar el tener que mantener una nueva base de datos.

Ejemplo 28: Como usuario, quiero que el sitio web responda a toda transacción o funcionalidad de negocio en menos de 5 segundos.

Ejemplo 29: Como usuario, quiero que el sitio web esté disponible el 99,999% de las veces que intente accederlo.

Ejemplo 30: Como una persona que habla un idioma basado en el latín, yo podría querer ejecutar tu software algún día.