linkedin

Si tuviera que describir una de las aplicaciones o piezas de software que utiliza a diario, probablemente describiría lo que llamamos “requisitos funcionales” Son lo que un producto debe hacer. Asociamos el uso de las cosas con su utilidad y su capacidad para hacer cosas. Sin embargo, hay muchos otros aspectos de los productos en los que confiamos que no tienen que ver específicamente con la funcionalidad. Son requisitos no funcionales.

Los requisitos funcionales definen lo que debe hacer un producto y cuáles son sus características y funciones. Los requisitos no funcionales (NFR) describen las propiedades generales de un sistema que limitan y dan forma a su estructura. En este artículo analizaremos los requisitos no funcionales, su función e importancia, y le ofreceremos una lista de comprobación de requisitos no funcionales.

¿Qué son los requisitos no funcionales (NFR)?

Los requisitos no funcionales incluyen todas las propiedades estandarizadas y fundamentales de un sistema. Incluyen la disponibilidad, la facilidad de uso, el rendimiento, la seguridad, la escalabilidad, la portabilidad y la accesibilidad. Aunque es posible que no hayas pensado en estos aspectos cuando utilizas un producto, las personas tienen preferencias y necesidades innatas en cuanto a su experiencia de usuario. Los NFR garantizan que estas necesidades se satisfagan en el momento y el lugar adecuados.

En pocas palabras, mientras que los requisitos funcionales representan las capacidades del sistema para ofrecer soluciones valiosas a los usuarios, los NFR son las operaciones críticas que las sustentan.

non-functional-requirements

¿Por qué son importantes los NFRS?

Los NFR son tan importantes como los requisitos funcionales, pero en el sentido de que dan forma al sistema en lugar de sustancia.

Por ejemplo, un sitio web puede tener un aspecto y un funcionamiento increíbles, pero si tiene una disponibilidad intermitente no puede servir a nadie. Del mismo modo, todo puede parecer excelente y funcionar a la perfección, pero si no es seguro, los usuarios corren un riesgo constante de exposición, lo cual es desastroso para cualquier empresa que intente establecer la lealtad a la marca y una reputación positiva.

Otra razón por la que los NFR son importantes es que, a menudo, no se consideran como tales, se pasan por alto, se infravaloran y se subestiman sistemáticamente, en detrimento del proyecto en su conjunto. Si se pasan por alto, el proyecto se arriesga al fracaso o a una costosa refactorización al toparse con cualquier número de limitaciones no definidas en el sistema.

Si se infravaloran, a menudo se implementan de forma incorrecta, lo que causa un montón de otros problemas inmediatos y posteriores. Si se infravaloran, el proyecto corre el riesgo de salirse del presupuesto, lo que afecta negativamente a los márgenes de beneficio del producto

Dado que son tan esenciales para el éxito de los proyectos, tanto desarrolladores como diseñadores se beneficiarán de revisar nuestra lista de comprobación de requisitos no funcionales.

Lista de requisitos no funcionales

Esta lista de comprobación de requisitos no funcionales guía al usuario a través de todas las tipologías que debe tener en cuenta al elaborar sus NFR. Tenga en cuenta que no se trata en absoluto de una lista exhaustiva, sino más bien de una guía para quienes comienzan a explorar los NFR.

non-functional-requirements-checklist

Tipologías básicas a tener en cuenta

1. Rendimiento (Eficiencia)

La velocidad a la que un sistema realiza determinadas tareas es fundamental para enriquecer la experiencia del usuario. Si los usuarios tienen que esperar a que se carguen las páginas o se actualicen los datos, su flujo de trabajo puede descarrilar. Aunque esto es principalmente responsabilidad del arquitecto de soluciones del proyecto, ciertas partes de un sistema tendrán expectativas de rendimiento que deberán cumplirse según las necesidades del cliente.

2. Seguridad

Una de las principales preocupaciones de cualquier sistema es su capacidad para bloquear el acceso no autorizado o la modificación del comportamiento, manteniendo al mismo tiempo la facilidad de uso. Todo, desde los tiempos de espera de sesión a las restricciones de contraseña, debe ser considerado para todos los roles y permisos. Una vez más, esto es en gran medida la preocupación de los arquitectos en el proyecto, pero los analistas de negocio debe coordinar entre el equipo de desarrollo y el propietario del producto para que todo el mundo está en la misma página.

3. Escalabilidad/mantenibilidad

La escalabilidad no sólo se refiere al tamaño de un sistema, sino a su capacidad para adaptarse al crecimiento y al cambio en el futuro, a menudo en circunstancias diferentes. Estas consideraciones deben tenerse en cuenta en la arquitectura y el diseño desde el principio. La escalabilidad también puede referirse al aumento de la audiencia o de la carga de procesamiento.

4. Accesibilidad

La tecnología nos conecta, y algunas personas tienen capacidades diferentes que afectan a sus prácticas de uso. Por ello, los NFR que tienen que ver con facilitar el acceso al mayor número posible de personas son extremadamente importantes. Las Normas de Diseño Accesible de la Ley de Estadounidenses con Discapacidades esbozan directrices específicas para lograr la accesibilidad.

Una vez más, estos requisitos deben tenerse en cuenta al inicio de los proyectos para evitar tener que rehacer el trabajo más adelante. Se trata de un área privilegiada para la automatización, ya que las normas se publican de forma cíclica y se distribuyen ampliamente.

5. Localización/globalización

La localización es otro NFR que es esencial tener en cuenta desde el principio, sobre todo si el producto se va a utilizar a escala internacional. Básicamente, estos requisitos facilitan el uso en diferentes entornos culturales, lingüísticos y geográficos. Incluyen aspectos como idiomas y dialectos, sensibilidades culturales o formatos de fecha y hora.

Incluso algo tan específico como las zonas horarias puede resultar desastroso si no se formatea correctamente. Además, como las transacciones financieras están cada vez más digitalizadas, los requisitos de moneda y cambio se han convertido en esenciales para el uso satisfactorio de los productos en cualquier lugar.

6. Portabilidad (compatibilidad)

Nuestro mundo está lleno de dispositivos y es esencial que determine qué dispositivos pueden utilizar sus usuarios finales para acceder a sus productos y servicios. ¿Qué tipo de hardware? ¿Se incluirán los móviles? ¿Cuántas resoluciones admitirá? ¿Cuántos navegadores? Todas estas preguntas deberán plantearse y responderse antes de iniciar el desarrollo.

7. Usabilidad

La mayoría del software que se utiliza hoy en día no ha sido creado por los usuarios. Un back-end bien codificado es tan bueno como el diseño del front-end y la experiencia del usuario. El concepto de usabilidad incluye la incorporación de consideraciones sobre los usuarios y el público objetivo general en el diseño y el comportamiento del sistema.

8. Cumplimiento

A medida que nuestras vidas se desarrollan en línea o se entrelazan con la tecnología, más leyes y normativas entran en juego sobre cómo se produce y debe comportarse nuestra tecnología. Hay distintos niveles, desde el local al estatal, pasando por el nacional y el internacional. Su compromiso depende, en su mayor parte, de su público objetivo. Sin embargo, ciertas cosas, como el cumplimiento de la HIPAA, son obligatorias para determinados mercados.

La razón por la que el cumplimiento debe ser una consideración temprana es que a menudo conlleva requisitos de datos e informes que deben incorporarse desde el principio.

9. Disponibilidad / Fiabilidad

Más importante para los productos basados en web, la disponibilidad se refiere al tiempo que el sistema está activo entre trabajos de mantenimiento o interrupciones. Para cuantificar esta característica, los analistas utilizan datos como la media del tiempo transcurrido entre fallos del sistema. Esto nos da una idea del rendimiento del sistema que podemos utilizar para establecer puntos de referencia.

Documentar los NFR

Comprender los tipos e identidades de los NFR es una habilidad esencial porque los clientes no suelen entender o apreciar su complejidad e importancia. Además, como son cualidades y restricciones persistentes que dan estructura a un sistema, sus efectos deben organizarse de forma que permitan la integridad referencial a lo largo de toda la vida del proyecto. Le recomendamos que conserve esta lista de requisitos no funcionales en un lugar fácilmente accesible, para poder consultarla en el futuro.

Una buena forma de pensar en los NFR y su documentación es asegurarse de que cada uno de ellos tiene las siguientes cualidades. Deben estar acotados, es decir, restringidos por un límite cuantificado. ¿Cómo se mide el requisito y cuál es el objetivo o límite?

Deben ser independientes, es decir, deben tener su propio conjunto de criterios de evaluación. Como son características intrínsecas del sistema y afectarán a la totalidad o a la mayor parte del trabajo que se realice, deben ser negociables. Por último, deben ser comprobables y, con el tiempo, todos los NFR tendrán guiones de prueba escritos para ellos en detalle.

nfr-qualities

Implementación de los NFR

Uno de los principales retos de los NFR es que, a diferencia de los requisitos funcionales, afectan al trabajo a lo largo del calendario del proyecto y a veces durante todo su ciclo de vida. La aplicación de los NFR debe considerarse por dos vías distintas.

Si el NFR requiere una implementación incidental, como cambios de conformidad, su equipo debe organizar el trabajo para la fecha límite. Otros requisitos requieren cambios a lo largo del tiempo y pueden introducirse mejoras sobre la marcha. En cualquier caso, la consideración más importante es cómo se interrelacionan los requisitos con las distintas partes del sistema, cómo afectan a su comportamiento y cómo repercuten en su desarrollo y mantenimiento a lo largo del tiempo.

¿Tiene alguna pregunta sobre los NFR o nuestra lista de comprobación de requisitos no funcionales? Póngase en contacto con nosotros aquí.

¿Necesita más ayuda?

¿Crees que podría ser el momento de traer ayuda adicional?

Door3.com