You are on page 1of 3

Caracterización de las Técnicas de Adquisición de Requisitos

Autor: Dante Carrizo Moreno


Tutora: Natalia Juristo Juzgado

Resumen

Los profesionales del desarrollo de software se enfrentan frecuentemente a la necesidad de


planificar sus actividades, y generalmente, la planificación resultante es de “grano grueso”
y no permite programar en detalle cada etapa del proceso. Es el caso de la denominada
Ingeniería de Requisitos, en la que difícilmente es posible obtener un plan de acción para
adquirir los requisitos del sistema-software a construir desde sus fuentes. Esto se debe a que
el proceso de adquisición de requisitos carece aún de sistematización formal que permita su
planificación. La mayoría de los profesionales utiliza dos o tres técnicas que son las que
conoce o que popularmente se aplican en esta etapa. Sin embargo, existe una gran cantidad
de técnicas que provienen de otras ciencias como la sicología o la etnografía que han sido
exitosamente probadas y utilizadas en la captura de requisitos. Esta brecha entre la
investigación y la práctica ha merecido especial atención, siendo su eliminación el objetivo
principal de diversos eventos y publicaciones creados en los últimos años.

Este trabajo establece el estado del arte en la caracterización de las técnicas de adquisición
de requisitos y, sobre la base de estos resultados, explorar la posibilidad de contribuir a la
planificación de la etapa de requisitos estableciendo un esquema de caracterización de las
técnicas existentes que guíe a los profesionales en la selección de qué técnicas aplicar en un
determinado desarrollo de sistema-software.

Inicialmente se establece el área de estudio, describiéndose la estructura del proceso,


participantes y problemas de la Etapa (Ingeniería) de Requisitos y, en particular, la
actividad de Adquisición de Requisitos. Se destaca el consenso sobre el carácter iterativo de
las actividades de la etapa y de la relevancia de los factores humanos en el proceso.

Pero el objetivo principal del trabajo fue investigar en publicaciones previas, resultados
relacionados con la caracterización cualitativa o cuantitativa de técnicas de adquisición. La
búsqueda fue infructuosa, encontrándose información parcial y poco estructurada de todas
las técnicas de adquisición existentes en Ingeniería Informática. Caracterizaciones
informales y subjetivas fueron encontradas en muchas páginas web de Internet, de carácter
académico, que son utilizadas como conocimiento tácito de enseñanza pero que carece de
fundamento científico.

Algunos investigadores han advertido esta necesidad y han expuesto que “futuras
investigaciones deben centrarse en proveer herramientas y métodos automáticas y no-
automáticas que apoyen la toma de decisión durante la planificación de actividades, por
ejemplo una herramienta que asista en decidir qué actividades ejecutar y durante cuánto
tiempo” [El Emam and Madhavji 1995a].
Entre los resultados en esta dirección está el de [Stair and Lamothe 1991] que propone
seguir algunas técnicas o enfoques dependiendo de otras contingencias como la experiencia
y certidumbre, pero es muy simple y parcial. Un trabajo más global pero, por lo mismo,
menos aplicable, es el de [Sutcliffe 1996] que presenta algunas guías de orientaciones del
proceso de IR y algunas recomendaciones de técnicas de modelación para tipos de
productos diferentes.

[Robertson and Robertson 1999] dicen que ”se debe seleccionar la técnica de captura que
mejor encaja en cada situación”. Así, presentan una guía para ayudar a la selección de la
técnica de “Pesca” para cada caso. Pero es una guía que más bien caracteriza algunas
técnicas, en lugar de orientar en casos particulares.

Otra estrategia de trabajos se orienta a la realización de taxonomías. [Hughes et al. 1994],


por ejemplo, presenta una taxonomía de las aplicaciones basada en dos dimensiones:
características de comportamiento (visión del usuario) y características técnicas (visión del
desarrollador). Sin embargo, sólo entrega algunas ideas estratégicas para el proceso de IR.

Por otro lado, [Bickerton and Siddiqi 1992] presentan una taxonomía basada en un enfoque
social de la organización y de sus integrantes, y a continuación presenta una clasificación
de métodos y técnicas de IR, principalmente de modelación. Aunque la taxonomía es
relativamente clara, no considera todos los aspectos que son relevantes en la utilización de
una técnica.

El trabajo más práctico, en esta dirección, es el presentado por [Davis 1993] que presenta
una taxonomía de aplicaciones que utiliza luego para clasificar las técnicas de modelación
según sus ventajas para ser aplicadas en cada caso.

Un trabajo más extenso sobre la etapa de adquisición es el de [Chatzoglou and Macaulay


1995a], cuyo estudio muestra que los factores humanos afectan la productividad en las tres
primeras iteraciones del proceso de Captura y Análisis de Requisitos (CAR).

Su finalidad fue entender la naturaleza del proceso CAR y entonces desarrollar un modelo
que asista a los jefes de proyectos en la planificación del proceso [Chatzoglou and
Macaulay 1995b].

Entre los resultados del estudio se obtuvo un modelo de planificación mediante un enfoque
basado en reglas, debido a que es mejor que los modelos matemáticos para describir
problemas difusos o pobremente definidos como el proceso CAR y es más apropiado para
el formato de los datos obtenidos.

Otro estudio presentado por [Keil and Carmel 1995] presenta las relaciones entre los
clientes y los desarrolladores. Estas relaciones se refieren a técnicas o canales entre ellos
para el intercambio de información.

El estudio se realizó sobre 30 proyectos de dos entornos: de desarrollo de paquetes (para


ventas), y de clientes (in house, o desarrollo externo para terceros).
Entre los resultados destacan:
 Mientras más canales entre cliente y desarrollador, más éxito en el proyecto.
 Se debe utilizar técnicas directas (sin intermediario) para reducir la distorsión o
pérdida de información.
 Hay técnicas más adecuadas para cada entorno.

A pesar de que considera entornos escasos, la idea de que existen técnicas que pueden ser
óptimas para diferentes situaciones es comprobada.

El único trabajo que considera un número importante de técnicas de adquisición y estudia


sus características, es el efectuado por [Maiden and Rugg 1996]. Estos autores presentan
ACRE, un marco para asistir a los ingenieros de requisitos en la selección de métodos o
técnicas para la adquisición de requisitos. Intenta proveer una guía para seleccionar de un
amplio rango de diferentes métodos con diferentes características y de diferentes orígenes.
Provee métodos para adquisición de requisitos de los interesados, más que para extraer
requisitos de documentos. Estos métodos adquieren requisitos tanto del sistema software
como del dominio y entorno de él.
ACRE ha sido diseñado para ayudar a seleccionar métodos para una sesión de adquisición,
esto es, varios métodos pueden ser seleccionados para una sesión.
El modelo considera 12 técnicas de adquisición, para las cuales define 6 facetas o
características sobre el problema. La guía consiste en responder a las consultas de las
facetas y decidir sobre los métodos a elegir. Se pretende desarrollar un Sistema Experto
para soportar el método (el trabajo se ha discontinuado).

Pese a lo relevante de este trabajo, sigue utilizando un subconjunto de técnicas, y solo para
personas pero no para fuentes escritas. También, no existe completitud con respecto a los
factores que influyen en el proceso, incluso, muchos de ellos son difícil de determinar al
inicio del proyecto de desarrollo. Estos factores o facetas definen más características de las
técnicas, que del entorno del sistema, por lo que necesita más conocimiento de sobre ellas
para elegir. Esto es poco aplicable, ya que son los factores externos los que deben perfilar
las técnicas adecuadas. Finalmente no hay justificaciones claras de la pertinencia de cada
técnica, solamente asignación cualitativa y subjetiva.

Como resultado de la investigación se concluye que no existen estudios suficientemente


completos para guiar en la selección de técnicas de adquisición. Tampoco existen estudios
científicos sobre la caracterización de las técnicas. Esto implica que, antes de poder
establecer una guía para la selección de técnicas, se debe establecer un marco para la
caracterización de las técnicas. Este marco debe contemplar aquellos factores que están
involucrados en la selección de técnicas tales como: las características de las técnicas, las
características de las fuentes de requisitos, características de los Ingenieros de Requisitos,
y características de la aplicación y del problema a solucionar.

Esta conclusión abre la posibilidad de iniciar una línea de investigación que permita
contribuir a solucionar la problemática expuesta y que será el objetivo de la tesis doctoral.