Identificar los requisitos no funcionales

Completado

Los requisitos se conocen comúnmente como funcionales o no funcionales. Los requisitos funcionales describen lo que debe hacer la solución o sus comportamientos y los requisitos no funcionales describen aspectos de la solución que no son comportamientos, como los requisitos de rendimiento. En este tema se tratan los requisitos no funcionales.

Con frecuencia, los requisitos no funcionales pueden depender de factores que están fuera de su control, como la antigüedad de los equipos, el ancho de banda o el firewall de la red, el software de seguridad de Internet y los responsables del cumplimiento. En consecuencia, debe identificar cualquier factor que pueda afectar a su capacidad para abordar las dependencias o puede que haya dependencias que pongan en riesgo su programación de entrega. Si el cliente necesita reemplazar el hardware, es probable que se produzcan demoras. Si el cliente tiene aplicaciones heredadas que requieren un navegador antiguo y no puede usar navegadores modernos, sus objetivos de rendimiento se verán afectados. El objetivo es identificar estos problemas al principio del proyecto; Si no se abordan con anticipación, corre el riesgo de que el cliente perciba que la aplicación es defectuosa.

Además, esta situación frecuentemente requiere tener una sesión de descubrimiento técnico con el equipo de TI del cliente. Es mejor no abrumar a la empresa con debates técnicos profundos.

Los requisitos no funcionales capturan elementos que a los usuarios podrían no importarles directamente pero son importantes para respaldar la arquitectura propuesta y la viabilidad operativa de la solución. Los requisitos no funcionales a menudo influyen en la adopción del usuario y la satisfacción percibida con la solución. Al igual que con los requisitos funcionales, los no funcionales se deben priorizar y se pueden entregar de forma incremental.

Algunos ejemplos de requisitos no funcionales comunes son:

  • Disponibilidad

  • Cumplimiento/normas

  • Retención de datos/residencia

  • Rendimiento (tiempo de respuesta, etc.)

  • Privacidad

  • Tiempo de recuperación

  • Seguridad

  • Escalabilidad

Ejemplos de requisitos no funcionales

Los siguientes ejemplos son requisitos no funcionales bien compuestos:

  • El tiempo promedio de carga de la pantalla para usuarios internos que no son móviles será inferior a tres segundos.

  • El portal externo debe poder gestionar 100 usuarios simultáneos que realizan envíos de casos.

Los siguientes ejemplos son requisitos no funcionales mal redactados:

  • Todas las pantallas de la aplicación deberían cargarse lo más rápido posible.

  • El portal externo debe poder manejar el tráfico en hora punta.

  • El sistema debe ser recuperable después de un desastre.

Viabilidad

Si bien todos los requisitos deberían ser factibles, los requisitos no funcionales suelen ser más específicos; por lo tanto, se recomienda una consideración adicional a las realidades del presupuesto y los recursos. Por ejemplo, especificar una disponibilidad del 99,999 por ciento cuando la disponibilidad de la aplicación principal es del 99,9 por ciento no es realista. Además, es posible especificar un requisito que se pueda lograr con un presupuesto suficiente pero que no haya presupuesto para cumplir el requisito.

Medir el cumplimiento

Cuando un requisito no funcional implica una medición, debe especificar cómo se medirá y comparará para el cumplimiento. Por ejemplo, si tiene un requisito de tiempo de carga de formulario de tres segundos, determine si es solo en el campus o si esto incluye a los usuarios móviles.

Ejercicio: Buscar los requisitos no funcionales

Revise la lista de tipos de requisitos no funcionales:

  • Disponibilidad

  • Cumplimiento/normas

  • Retención de datos/residencia

  • Rendimiento (tiempo de respuesta, etc.)

  • Privacidad

  • Tiempo de recuperación

  • Seguridad

  • Escalabilidad

Determine cuáles de estos requisitos no funcionales probablemente serán motivo de preocupación para Woodgrove Bank. Considere qué tipo de inquietudes podría anticipar y cómo podría abordar esas inquietudes. Evalúe si pueden existir otras preocupaciones que aún no haya pensado.