33. Calidad en la especificación de requerimientos (Por Ing. Javier Rivas Blanco. Marzo 2003)

Marzo 2003 - Informes

Debe ser Afiliado e ingresar a su cuenta para descargar el informe.

Resumen ejecutivo

Cuando los resultados reales de los proyectos de software son comparados con los estimados originales y deseados, una gran cantidad de proyectos tienden a extenderse en tiempo, exceder sus presupuestos o cancelarse sin haberse completado [Jones 1996a].

Al surgir situaciones conflictivas entre el desarrollador (proveedor) y el cliente, este último acusa al proveedor de incumplimiento de contrato por entregar el producto tarde, no entregarlo del todo, o entregarlo en una condición inoperable [Jones 1996a].

El proveedor, por su lado, reclama al cliente el cambiar unilateralmente los términos del contrato mediante la ampliación del alcance del proyecto lejos de lo originalmente acordado. Los proveedores también acusan a los clientes en otras cuestiones, como fallar en definir los requerimientos o en revisar el material entregado en un tiempo delimitado [Jones 1996a].

La causa fundamental de estos desacuerdos tiene sus raíces en [Jones 1996a]:

• Ambigüedades y malentendidos en el contrato.

• El fracaso histórico de la industria del software al cuantificar las dimensiones del proyecto que se va a empezar.

El primer punto está relacionado directamente con la falta de una especificación adecuada de los requerimientos que elimine ambigüedades. El segundo, indirectamente también se relaciona con los requerimientos, ya que estos son la base para lograr una estimación precisa de la duración del proyecto [Rakos 1990].

A lo anterior deben añadirse otras fuentes de dificultades:

• El cambio que sufren los requerimientos y el entorno mientras se desarrolla un proyecto de sistemas.

• Rara vez se acuerdan criterios de aceptación objetivamente verificables, originados en una especificación de requerimientos.

Esta importancia en los requerimientos ha provocado que la industria del software produzca un número significativo de ayudas para la creación y administración de los documentos de requerimientos. Sin embargo, pocas de estas herramientas permiten evaluar la calidad de los documentos de requerimientos [Wilson 1997].

Esta situación ha motivado el presente trabajo, el cual tiene como fin descubrir las cualidades necesarias para producir un documento que disminuya el riesgo de una discordia entre clientes y proveedores. El costo de detectar y corregir errores puede tener relaciones de 200 a 1 si se hace al validar requerimientos versus el hacerlo al entrar el sistema a mantenimiento [Davis 1993]. Un buen trabajo en la especificación y administración de los requerimientos contribuirá a aumentar las probabilidades de éxito en los proyectos de sistemas en cuanto a calidad, plazos y costos.

Del autor

Javier Rivas Blanco es Ingeniero de software y Director de proyectos en CODISA Software Corp. Es graduado en Ciencias de la Computación e Informática de la Universidad de Costa Rica. Realiza su investigación de tesis de Maestría en el Instituto Tecnológico de Costa Rica sobre el tema de calidad en los documentos de requerimientos y el desarrollo de herramientas para facilitar algunos análisis automatizados de textos de requerimientos.

Agradecimientos

Se agradece a Franco Quirós, Julio Córdoba e Ignacio Trejos por la pertinencia de sus observaciones y comentarios, que contribuyeron a mejorar la calidad del informe. El autor es responsable por los errores de forma o contenido que pudiera tener el informe.

Nota editorial

Este informe es extenso y toca puntos medulares en la documentación de requerimientos, que llevan a desarrollar mejores sistemas de información. En el capítulo 7 se exponen avances recientes de investigación que pueden resultar muy detallados para algunos lectores. Si se desea leer rápidamente el documento, se recomienda posponer la lectura del capítulo 7 hasta que se hayan leído los otros capítulos. El editor (Ignacio Trejos) asume responsabilidad por esta recomendación.