Requerimientos No Funcionales: el puente entre la arquitectura y la calidad del software

Un enfoque práctico basado en ISO/IEC 25010 e ISO/IEC 12207 para diseñar sistemas robustos y seguros
En muchos proyectos de software —especialmente en el sector público y en organizaciones grandes— los requerimientos no funcionales (RNF) suelen quedar relegados a frases genéricas como “el sistema debe ser seguro” o “debe ser escalable”. El resultado es predecible: arquitecturas frágiles, problemas en producción y discusiones tardías sobre calidad, seguridad o desempeño.
Este artículo propone un enfoque distinto y profesional: definir y gestionar los RNF apoyándose explícitamente en la ISO/IEC 25010 y la ISO/IEC 12207, entendiendo que los RNF no son un anexo, sino el verdadero motor de la arquitectura del software.
¿Por qué los RNF son críticos desde la ingeniería de software?
Desde una perspectiva de ingeniería, los requerimientos funcionales responden al qué hace el sistema, pero los RNF definen el cómo debe comportarse en condiciones reales de operación: carga, fallas, cambios, ataques o crecimiento.
ISO/IEC 25010: definir la calidad del producto de software
La ISO/IEC 25010 establece un modelo de calidad que permite clasificar y estructurar los RNF de forma objetiva. Entre sus características más relevantes para arquitectura y seguridad se encuentran:
- Eficiencia del desempeño (rendimiento, uso de recursos, capacidad)
- Fiabilidad (disponibilidad, tolerancia a fallos, recuperabilidad)
- Seguridad (confidencialidad, integridad, autenticidad, trazabilidad)
- Mantenibilidad (modularidad, modificabilidad, capacidad de prueba)
- Compatibilidad (interoperabilidad y coexistencia)
- Portabilidad (adaptabilidad y facilidad de despliegue)
Gracias a este modelo, los RNF dejan de ser opiniones y se convierten en atributos de calidad medibles, directamente vinculados a decisiones arquitectónicas.
ISO/IEC 12207: asegurar la calidad a lo largo del ciclo de vida
Definir RNF de calidad no es suficiente si no se gestionan correctamente. Aquí entra en juego la ISO/IEC 12207, que describe los procesos del ciclo de vida del software.
Desde este enfoque, los RNF deben:
- Definirse en el proceso de análisis de requisitos
- Traducirse en decisiones de arquitectura durante el diseño
- Implementarse mediante patrones, controles y estándares
- Verificarse con pruebas técnicas objetivas
- Validarse con los interesados
- Monitorearse durante la operación
- Ajustarse durante el mantenimiento
En otras palabras, la ISO 12207 responde a una pregunta clave:
¿cómo garantizamos que los RNF definidos realmente se cumplan en producción?
Reflexión final
Aplicar la ISO/IEC 25010 y la ISO/IEC 12207 a los requerimientos no funcionales no es un ejercicio académico. Es una decisión estratégica que eleva el nivel del proyecto, reduce riesgos y alinea la arquitectura con los objetivos reales del negocio y la organización.
Los sistemas fallan menos por errores de código que por RNF mal definidos o ignorados.
Diseñar bien los RNF es diseñar bien el sistema desde el inicio.
Si en tu organización estás elaborando expedientes técnicos, TDR, arquitecturas empresariales o planes de modernización, este enfoque no solo es recomendable: es necesario.
Gestión de Proyectos
Transformación Digital
Explora mis experiencias y opiniones sobre gestión de proyectos y transformación digital, así como el impacto de la inteligencia artificial en diversas industrias. Comparte conocimientos y aprendizajes valiosos.
Inteligencia Artificial
Descubre cómo la inteligencia artificial está revolucionando los sectores empresariales. Analizo su aplicación en la gestión de proyectos y cómo puede mejorar la eficiencia y la toma de decisiones.
Conferencias y Cursos
Ofrezco conferencias, cursos y talleres sobre gestión de proyectos y transformación digital. Aprende de manera práctica y teórica para aplicar estos conocimientos en tu entorno laboral.
Inteligencia Artificial
Participa en talleres interactivos donde profundizaremos en la gestión de proyectos y la inteligencia artificial. Estas sesiones están diseñadas para fomentar el aprendizaje colaborativo y la aplicación práctica de conceptos.