2012 The Requirements Week Airbus Military Antonio Monzón La calidad de los requisitos lecciones aprendidas
1. La Calidad de los Requisitos:
Lecciones Aprendidas
Dr. Antonio Monzon, CSEP
Airbus Military
2. La Calidad de los Requisitos: Lecciones Aprendidas
¿Por qué es importante medir la calidad de los
requisitos?
•Los requisitos definen el problema: errores en los requisitos se
propagan hasta el producto final si no se atajan adecuadamente.
•Dedicar un esfuerzo en las etapas de definición del problema para
mejorar la calidad en los requisitos supone un ahorro evidente en
retrabajo y una mejora sustancial en la satisfacción del cliente.
•En entornos certificados (e.g. software embarcado para aviónica)
es imprescindible demostrar que los requisitos tienen un
determinado nivel de calidad para cumplir con criterios de
“safety” (en aeronáutica, SAE ARP4754 y RTCA DO-178B).
•Se espera que organizaciones maduras (CMMI) sean capaces de
resolver los problemas derivados de una mala calidad en sus
requisitos y gestionar su volatilidad de forma adecuada.
2
3. La Calidad de los Requisitos: Lecciones Aprendidas
¿Cuáles son los “pecados capitales” de los
requisitos?
Nº 1: Ambigüedad
•Los requisitos descritos en lenguaje natural son
intrínsecamente ambiguos: pueden ser interpretados de forma
diferente por diferentes “stakeholders” (usuario, cliente,
verificador, implementador, especialista, jefe de proyecto, etc.)
•Las descripciones de los requisitos contienen habitualmente
expresiones confusas, sinónimos, polisémicas, etc. cuyo uso
debe minimizarse.
•Ejemplo: “El dispositivo sobrevivirá a condiciones no
operacionales de temperatura de -40 a +60ºC”
• El término “dispositivo” es inconcreto y el término “sobrevivirá”
puede ser interpretado de forma diferente en función del contexto.
3
4. La Calidad de los Requisitos: Lecciones Aprendidas
¿Cuáles son los “pecados capitales” de los
requisitos?
Nº 2: Atomicidad
•Los requisitos típicamente se redactan con criterios literarios en
lugar de ingenieriles: existe una tendencia natural a expresar ideas
sencillas con excesivos recursos lingüísticos y superponiendo
frases que funcionalmente no tienen que ver unas con otras.
•Los requisitos deben ser lo más atómicos posible para conseguir
un doble objetivo: dividir el problema en partes abordables
individualmente y mejorar aspectos como la implementabilidad y la
verificabilidad.
•El patrón de requisito atómico ideal es: una frase por tópico. Cada
requisito debe contener un único verbo y no debe abusarse del uso
de conjunciones copulativas.
4
5. La Calidad de los Requisitos: Lecciones Aprendidas
¿Cuáles son los “pecados capitales” de los
requisitos?
Nº 3: Verificabilidad
•La característica fundamental de la calidad de un requisito es su
verificabilidad: la capacidad de ser demostrado.
•Uno de los errores clásicos que se cometen con los requisitos es
considerarlos mera documentación y no dedicar ningún esfuerzo a
pensar en los ensayos hasta que no se tiene el producto construido.
•Este error lleva inevitablemente al establecimiento de requisitos
indemostrables, con los consiguientes problemas de cara al cliente.
•Ejemplo: “La interfaz de usuario será fácil de usar”
• Alternativamente: “La interfaz de usuario será usada por el 80% de la
población estándar en menos de 5 minutos sin entrenamiento previo”
5
6. La Calidad de los Requisitos: Lecciones Aprendidas
¿Cuáles son los “pecados capitales” de los
requisitos?
Nº 4: Justificación
•Uno de los problemas más graves relacionados con los requisitos es
el de la sobre-especificación.
•Existe una tendencia natural en ingeniería a proporcionar más
funcionalidad de la absolutamente requerida.
•Esta mala práctica lleva asociados varios problemas: sobrecostes de
desarrollo y verificación y problemas de certificación (e.g.
demostración de cobertura estructural de código).
•Es muy recomendable comprobar que todo requisito contenido en
una especificación está justificado de alguna manera (bien por
trazabilidad o por derivación)
•Cualquier requisito cuya procedencia sea dudosa debe ser eliminado
6
7. La Calidad de los Requisitos: Lecciones Aprendidas
¿Cómo se mide la calidad de los requisitos?
•Antes de ponerse a medir (automatizar métricas en una
herramienta) es necesario primero definir el patrón de calidad que
se va a aplicar, basado en una serie de objetivos de calidad.
•Los cuatro objetivos de calidad enumerados en esta presentación
(ambigüedad, atomicidad, verificabilidad y justificación) pueden
ser un buen punto de partida, pero no son necesariamente los
únicos ni los mejores.
•Cada organización debe decidir qué le interesa medir para
cumplir con sus objetivos de calidad.
•En Airbus Military los objetivos elegidos han sido: ambigüedad,
consistencia, atomicidad, verificabilidad y justificación.
•Cada uno de estos objetivos se desgrana en una serie de
métricas (con sus correspondientes umbrales) que caracterizan el
objetivo.
7
8. La Calidad de los Requisitos: Lecciones Aprendidas
Listas de comprobación (checklists)
•Una alternativa sencilla y fácil de implementar al cálculo de
métricas de calidad es el uso de listas de comprobación. Éstas
constan de una serie de preguntas cuya respuesta define la
calidad de los requisitos.
•Cuestionario estándar (a nivel de requisito individual):
• ¿Es el requisito entendible y poco ambiguo?
• ¿Es el requisito demostrable?
• ¿Es el requisito autoconsistente?
• ¿Es el requisito realizable?
•Cuestionario estándar (a nivel de especificación):
• ¿Hay requisitos contradictorios en la especificación?
• ¿Es la especificación completa?
• ¿Es la especificación correcta?
• ¿Es la especificación estable?
8
9. La Calidad de los Requisitos: Lecciones Aprendidas
Requisitos en cifras (Airbus Military)
•El número total de requisitos gestionados en la actualidad en AiM
es aproximadamente de 1,5 millones.
•El número de proyectos que gestionan sus requisitos en la
unidad de Ingeniería de AiM es del orden de 40.
•El número total de ingenieros accediendo a diario al repositorio
de requisitos es del orden de 250.
•El perfil de calidad medio de los requisitos en AiM (sin mejorar)
es el siguiente:
• Problemas sintácticos (requisitos sin “shall”): 2%
• Problemas de ambigüedad: 50%
• Problemas de atomicidad: 10%
• Problemas de verificabilidad: 30%
• Problemas de justificación: 5%
9
10. La Calidad de los Requisitos: Lecciones Aprendidas
Análisis de los resultados
•Los aspectos sintácticos y de justificación están bastante
controlados en AiM gracias por un lado a la cultura preexistente en la
organización y por otro a la disponibilidad de una herramienta de
trazabilidad (que cubre prácticamente el 90% de la justificación de los
requisitos).
•La atomicidad no es un problema grave, dado que en la mayoría de
los casos se trata de requisitos que aun habiendo superado los
límites establecidos de tamaño máximo, tienen justificada esta
desviación por el nivel de detalle que tratan de representar.
•Los mayores problemas se concentran fundamentalmente en la
ambigüedad y en la verificabilidad de los requisitos.
•Para tratar de abordar la ambigüedad se ha propuesto un listado de
expresiones a evitar en las especificaciones, junto con la propuesta
de expresiones alternativas.
•Para tratar de abordar la verificabilidad se ha propuesto un atributo
que documente el medio de cumplimiento previsto por requisito.
10
11. La Calidad de los Requisitos: Lecciones Aprendidas
Situación actual y acciones futuras
•En la actualidad se dispone de una herramienta básica de métricas
de ambigüedad, atomicidad y volatilidad sobre la propia herramienta
de trazabilidad de requisitos, que se emplea de forma regular para
evaluar la calidad básica.
•Se ha adquirido la herramienta IRqA-RQA para la realización de un
proyecto piloto de evaluación de calidad en un proyecto, para
demostrar la viabilidad de la utilización del producto a gran escala.
•Además del soporte a las métricas de calidad básicas, lo que se le
está pidiendo a este producto adicionalmente es que sea capaz de
evaluar un aspecto muy complejo de automatizar: la consistencia
global de una especificación.
•Para abordar este asunto se va a utilizar la funcionalidad de
comparación semántica de requisitos que proporciona este producto.
•Otro aspecto a explotar es el de la elaboración de una ontología del
problema adaptado al lenguaje del negocio aeronáutico.
11
12. La Calidad de los Requisitos: Lecciones Aprendidas
Conclusiones
•La idea principal es que la calidad de los requisitos se puede medir
en la práctica y que se puede sacar partido a las mejoras derivadas.
•Para poder medir calidad de los requisitos es necesario primero
definir el perfil de calidad y segundo poner los medios (herramientas)
para poder llevar a cabo la medición.
•Parece muy recomendable que sea la propia herramienta de edición
de requisitos la que facilite la labor de chequeo de calidad y la que
proponga correcciones y permita introducirlas, del mismo modo que
lo hace la función de corrección ortográfica de un editor de texto.
•Sin embargo, en la práctica esta situación no es siempre posible por
lo que la alternativa de generación de informes de chequeo (offline)
de calidad de requisitos es la más viable en la actualidad.
12