A framework for modeling and improving agile requirements engineering.

Contexto. Con el objetivo de incrementar la potencialidad de sus desarrollos y de reducir el tiempo de puesta en el mercado, las empresas adoptan modelos de desarrollo hibridos que integran metodologias agiles y diseno centrado en el usuario (DCU). El tratamiento de los requisitos de software en entornos agiles es algo que impacta de manera directa en la consecucion de estos objetivos. Por ello, los equipos aplican diferentes tecnicas de tratamiento de requisitos como los artefactos, reuniones, metodos de trabajos grupales o el tratamiento efectivo de roles. Sin embargo, las empresas a menudo se encuentran con dificultades para elegir las mejores tecnicas a aplicar en su contexto y hay una carencia de guias de soporte. Objetivo. La vision de esta tesis doctoral es construir un framework para trabajar de manera efectiva con requisitos agiles. La idea esencial es que las organizaciones y empresas puedan usar el framework para mejorar tanto su cadena de valor (vision externa) como para mejorar sus procesos de desarrollo (vision interna). Metodo. Para el desarrollo del trabajo se ha usado una metodologia de investigacion inductiva, usando diferentes metodos de trabajo. Inicialmente, se ha llevado a cabo un estudio sistematico de la literatura (SLR) que nos permite evaluar el estado del arte en el tratamiento de requisitos agiles pero centrado en como se trabaja con la involucracion de los diferentes stakeholders en el proceso. Hemos continuado aplicando la ingenieria guiada por modelos desarrollando un metamodelo para trabajar con los requisitos agiles y un profile que permite definir un lenguaje especifico de dominio para el uso del metamodelo en entornos concretos. Este trabajo se ha enriquecido con la aplicacion de un estudio usando Delphi para identificar los problemas mas importantes que la industria se encuentra a la hora de trabajar con ingenieria de requisitos en entornos agiles. Finalmente, con los resultados hemos conseguido desarrollar un conjunto de patrones para la creacion de requisitos agiles. Resultados. El framework para modelar requisitos agiles tiene tres componentes principales: i) Metamodelo para trabajar con requisitos agiles que servira para analizar el entorno de la organizacion. ii) un catalogo de posibles problemas que se encuentran en entornos agiles y iii) un catalogo de patrones de requisitos agiles que resuelven los problemas detectados. El metamodelo para el trabajo con requisitos agiles viene acompanado de un lenguaje especifico de dominio, basado en un perfil. Y, ademas, se ha creado una aplicacion web (agileRE.org) que ayuda a poner en comun el conocimiento. Por ultimo, el framework ha sido aplicado con exito en entornos empresariales espanoles y alemanes. Conclusion. El framework para modelar requisitos agiles ayuda a las companias a mejorar sus entornos organizaciones in terminos de costes de desarrollo y aspectos colaborativos. Las empresas pueden usar el framework para mejorar su cadena de valor de una manera sistematica. En particular, da una guia para elegir tecnicas apropiadas en el tratamiento de requisitos agiles, pudiendo adaptarse al a realidad del entorno concreto de trabajo.