Mejora del proceso de elicitación de requisitos en proyectos GSD - Aranda, Gabriela N. (2007)
La tendencia constantemente en alza de la globalización de empresas, y especialmente de los negocios relacionados con la producción de tecnologías de software, ha producido un profundo impacto tanto en las estrategias de marketing y distribución, como en la manera en que los productos son concebidos, diseñados, construidos, probados y entregados a los clientes [13]. Ejemplo de ello es que cada vez es más común el desarrollo de software en forma distribuida, o desarrollo global de software (GSD según las siglas en inglés), donde quienes participan del proceso de desarrollo (usuarios, clientes, desarrolladores) se encuentran localizados en países distintos. El principal motivo del crecimiento del GSD es que permite a las empresas disminuir los costos de desarrollo mientras se mantiene el nivel de calidad del proceso [5], contando con profesionales a lo largo y ancho del mundo sin necesidad de afrontar el costo de su traslado [16], o bien producir software para clientes remotos sin necesidad de trasladar el equipo de desarrolladores. También permite aumentar la productividad, por medio de jornadas de trabajo más extensas teniendo programadores distribuidos en sitios con amplia diferencia horaria [10]. Sin embargo, por su característica distribuida, los proyectos de GSD enfrentan varios problemas ocasionados por la distancia entre los participantes. Estos problemas son provocados por [9]: - la diferencia cultural, que comprende la variedad de lenguajes nativos de los participantes así como su comportamiento, - las dificultades en la comunicación, que se ve limitada por la tecnología utilizada - la diferencia horaria, que obstaculiza la interacción sincrónica, - la dificultad que representa gestionar el conocimiento en un entorno con fuentes de información variadas y distribuidas. Al analizar la literatura existente sobre el desarrollo global de software, hemos notado que la investigación anterior se centraba en determinar las limitaciones de la comunicación interpersonal y la gestión del conocimiento en entornos distribuidos, con el objetivo de definir su implicación en el proceso de desarrollo de software, pero que por lo general estos trabajos se dedican a las etapas más avanzadas de la ingeniería de requisitos (como la negociación y la especificación) y son muy pocos los trabajos referidos a las etapas iniciales. Por ello decidimos enfocar nuestro trabajo en la etapa de “elicitación de requisitos”, donde se necesita una interacción fluida entre desarrolladores, clientes, usuarios, y otros miembros de la organización para obtener información sobre el sistema que se desea construir [21]. Nuestro objetivo, por lo tanto, es proponer una metodología que minimice los problemas que puedan presentarse en la fase de recolección de requisitos en entornos distribuidos para obtener requisitos más precisos. A continuación presentamos un breve resumen de la revisión de conocimientos para cada área involucrada y finalmente hablaremos del estado actual de nuestra investigación.