miércoles, 20 de mayo de 2020

¿Cómo afectan los requerimientos no funcionales a la pila de producto?

Los requerimientos funcionales como restricciones
Los requerimientos no funcionales, o NFRs (nonfunctional requirements), representan cualidades generales y restricciones que afectan aplicaciones y sistemas enteros; por tanto afectan a los epics e historias de usuario, que a diferencia de los NFRs definen junto a y sus criterios de aceptación comportamientos y funciones específicas. Una historia de usuario no se puede considerar hecha si no cumple con los requisitos no funcionales asociados.

Los requerimientos no funcionales aseguran que el sistema cumple con cualidades como la usabilidad, seguridad y otras como las que siguen:

Accesibilidad Confiabilidad Disponibilidad Interoperabilidad Operabilidad Fiabilidad Seguridad
Extensibilidad Trazabilidad Rendimiento Recuperabilidad Mantenibilidad Certificación Robustez
Compatibilidad Conformidad Escalabilidad Implementabilidad Configurabilidad Eficiencia Usabilidad

La implementación de nuevos NFRs suele requerir de nuevos elementos en la pila de producto en forma de historias técnicas, estas, una vez incluidas en un sprint, evolucionan el sistema a nuevas restricciones.

Para el cumplimiento de los NFRs se suelen reflejar las restricciones en los criterios de aceptación de las historias de usuario; si se trata de restricciones persistentes se suelen añadir como elementos nuevos en la en la definición de hecho (DoD).

Como todo requerimiento los NFRs se han de describir y cuantificar para arrojar claridad sobre los mismos. Un patrón para describir NFRs es el siguiente:

Paso 1
Nombre (Name): [en forma de cualidad.subcualidad]
Escala (Scale): [Qué medir (unidad)]
Métrica (Meter): [Cómo medir (método)]

Paso 2
Objetivo (Target): [Nivel de éxito a alcanzar]
Restricción (Constraint): [Nivel de fallo a evitar]
Línea base (Baseline): [Nivel actual]

Veamos un ejemplo partiendo de la siguiente historia de usuario relacionada con una librería on-line:

Como cliente
Quiero poder explorar libros
Para poder escoger el que voy comprar

para la que hemos determinado el tiempo de respuesta como requerimiento no funcional, ya que si la página tarda en cargar más de 3 segundos el comprador buscará otras opciones a poco más de un click de distancia:

Paso 1
Nombre: usabilidad.rendimiento
Escala: milisegundos entre que el comprador clica "buscar" y se le presenta la página con el resultado
Métrica: promedio de los tiempos de búsqueda de libros

Paso 2
Objetivo: <200 milisegundos (lo que Google considera como tiempo de respuesta máximo)
Restricción: >3000 milisegundos (cuando el comprador empieza a sentir ansiedad)
Línea base: 1800 milisegundos

No hay comentarios:

Publicar un comentario