Noticias > Artículos de opinión

El lenguaje natural en la especificación de requisitos de calidad

14 Diciembre, 2015

Por Javier de la Plaza, QA Senior Consultant & TMMi Assessor en MTP

Las actividades de Aseguramiento de la Calidad deben comenzar en las primeras fases del ciclo de vida del sistema con una correcta definición y gestión de los Requisitos. Uno de los problemas más habituales de cualquier organización es la baja calidad con la que se redactan los mismos.

Una especificación de requisitos de calidad debe, en primer lugar, reflejar fielmente las necesidades y restricciones expresadas por los usuarios del sistema y por cualquier otro interesado en el mismo. Debe también seguir el formato de la plantilla estándar de especificación e incluir toda la información que dicha plantilla requiere. Finalmente, tendrá que cumplir con los criterios de calidad de los requisitos individuales y del conjunto de requisitos establecidos por los estándares.

Múltiples son los beneficios que un conocimiento profundo de las técnicas que permitan desarrollar especificaciones de requisitos de calidad aporta a las organizaciones, entre los que se encuentran la construcción del software correcto a la primera; reducción de los costes en el re-trabajo; incremento de la predictibilidad; incremento de la satisfacción del usuario; mejora de la eficiencia de las pruebas, reducción de la volatilidad de las especificaciones e incremento de la capacidad de reutilización de las especificaciones.

En esta tarea, una de las primeras barreras que debe superarse se refiere a las dificultades que plantea el "lenguaje natural" como mecanismo de escritura de los requisitos. Entendemos por lenguaje natural el utilizado por los humanos, ya sea de forma escrita u oral, para propósitos generales de comunicación.

El objetivo principal de la comunicación es siempre que el mensaje que se quiere transmitir sea entendido por el/los receptor/es y que todos los receptores tengan el mismo entendimiento de lo comunicado. Lo que sucede es que, habitualmente, los receptores usamos distintos recursos para dar sentido a una comunicación realizada en lenguaje natural, como por ejemplo el contexto, la imaginación y las experiencias previas. Pero estos recursos no resultan válidos en todas las situaciones.

El lenguaje natural es conocido por todos los participantes en el ciclo de vida de los requisitos -Negocio, Analistas, Equipos de Desarrollo, Equipos de Prueba…-, y este conocimiento común hace que se convierta en el mecanismo idóneo para expresar requisitos. Sin embargo, al igual que no utilizamos el mismo lenguaje natural al escribir una novela que un documento jurídico, cuando escribimos requisitos también tendemos a usar un lenguaje natural especial. Dicho lenguaje natural posee una serie de características que le dotan de una gran riqueza, pero que a la vez suponen un problema para la comunicación por su ambigüedad, y variabilidad estructural como, por ejemplo, el uso de formas pasivas.

De esta forma, pueden enumerarse algunos de los problemas que surgen con el uso del lenguaje natural a la hora de definir requisitos:

  • Falta de claridad: es difícil combinar precisión y claridad de lectura.
  • Confusión entre requisitos: es bastante habitual entremezclar requisitos funcionales, no funcionales, reglas de negocio, descripción de interfaces, información de diseño…
  • Conjunción de requisitos: varios requisitos diferentes pueden ser expresados juntos.
  • Dificultad de comprensión: los requisitos utilizan el lenguaje habitual del dominio de negocio, que no es conocido por los Ingenieros de software.
  • Sobre-entendimientos: los expertos del dominio dan por hecho una serie de funcionalidades que no son expresadas en los requisitos.
  • Sobre-especificación: el lenguaje natural "anima" a sobre-especificar
  • Flexibilidad: es posible decir la misma cosa de múltiples formas

Si estamos de acuerdo con que el objetivo principal a la hora de escribir requisitos es precisamente el entendimiento por todas las partes, sería deseable asegurar el desarrollo de algunas buenas prácticas en la escritura de especificaciones. De esta forma, sería deseable:

  • Utilizar una plantilla para identificar toda la información necesaria y para organizar la información.
  • Etiquetar y dotar de estilo a secciones, subsecciones y requisitos individuales de forma consistente.
  • Usar formatos como negrita, subrayado, colores, fuentes… de forma consistente y sin excederse.
  • Crear un índice de contenidos.
  • Numerar todas las tablas e imágenes, proporcionando leyendas a cada una de ellas.
  • Usar hiperenlaces para facilitar la navegación.
  • Usar la capacidad de referencias cruzadas del procesador de texto, para mejorar la mantenibilidad.
  • Incluir representaciones visuales de la información cuando sea posible.

Con pasos tan simples como estos, lograremos que la especificación de requisitos alcance la calidad necesaria para resultar de utilidad en el trabajo de todos los equipos implicados en el desarrollo del software.

Si desea ampliar la información sobre la propuesta de Especificación y Gestión de Requisitos de MTP, no dude en ponerse en contacto con nosotros.

Compartir