Capítulo 7: Conclusiones y Futuro Trabajo
7.5 Principales fuentes de requisitos e infraestructuras de las comunidades OSS
En este estudio se han observado las principales y diversas fuentes de requisitos que existen en las 7 comunidades OSS. En este caso se ha observado que la principal fuente de requisitos son los propios desarrolladores de los sistemas de las comunidades OSS. Sin embargo, existe una importante fuente de requisitos que procede de los usuarios finales de la comunidad. Todas las comunidades mantienen una serie de usuarios finales activos los cuales participan en las discusiones públicas que tienen lugar en los foros o listas de correo como informantes de nuevos requisitos, errores o incidencias que se producen las diferentes versiones del software desarrollado en estas comunidades. No obstante, muchos de estos usuarios finales activos suelen ser los mismos desarrolladores o nuevos usuarios interesados en formar parte como desarrolladores de una comunidad. Cuando un nuevo usuario está interesado en formar parte de la comunidad necesita encontrar información sobre el proyecto de la comunidad y sobre las prácticas de desarrollo que mantiene la comunidad habitualmente para poder colaborar. Todas las comunidades estudiadas ofrecen una serie de información sobre el software de la
Estado de la práctica de la Ingeniería de Requisitos en proyectos de Software Open Source
156
comunidad. Sin embargo, no todas ofrecen una descripción del funcionamiento o políticas generales de la comunidad. Esta observación es de gran importancia, debido a que si un usuario nuevo desea colaborar aportando nuevos requisitos en la comunidad le es necesario conocer dónde debe realizar esa aportación, ya que una comunidad puede tener varias infraestructuras en las cuales pueda introducir ese requisito. En el caso de este estudio, las principales infraestructuras de requisitos proceden de las listas de correo, archivos de correo, wikis, foros, chats y los sistemas de gestión de errores. Según los resultados obtenidos podemos observar que no todas las comunidades utilizan las mismas infraestructuras para realizar la gestión de los requisitos, sino que cada una de ellas tiene sus formas de trabajo determinadas en las cuales utilizan una serie de infraestructuras determinadas para realizar todo el tema de desarrollo junto con la gestión de requisitos y la gestión de errores del software que realiza cada comunidad. Por otro lado, existen varias comunidades las cuales utilizan más de una infraestructura para introducir nuevos requisitos o incidencias producidas en el software realizado por la comunidad, como por ejemplo la comunidad FreeRapid Downloader, la cual utiliza paralelamente los foros y el bug tracking system para gestionar sus requisitos y errores. Esto genera el problema comentado anteriormente en las prácticas de trabajo de la comunidad realizadas por los desarrolladores y usuarios finales, ya que se pueden producir “cross-participations”, es decir, se pueden encontrar en diferentes infraestructuras la misma propuesta de un requisito e incidencia.
Según este análisis realizado sobre las principales fuentes de requisitos e infraestructuras de cada comunidad se ha planteado la siguiente hipótesis (Tabla 25):
H4: El grado de participación de los diversos tipos de usuario (administradores, desarrolladores, contribuidores y usuarios finales) depende de las diferentes infraestructuras utilizadas por la comunidad.
7.6 Participación en las infraestructuras de las comunidades OSS
En este estudio también hemos observado las diferentes participaciones que existen en un foro versus las participaciones que existen en una lista de correo, donde existe una participación más alta de usuarios finales en las comunidades que utilizan los foros como infraestructura para gestionar los requisitos que las comunidades que utilizan listas de correo. El hecho de que haya una participación más grande de usuarios finales o desarrolladores en las infraestructuras, no significa que la comunidad realice una mala gestión de los requisitos. Por otro lado, el haber obtenido estos resultados en el estudio de las infraestructuras de las comunidades anteriores, no significa que obtengamos los mismos resultados si realizáramos un estudio sobre otras comunidades OSS.
En el estudio realizado de todas las infraestructuras de las diferentes comunidades estudiadas en esta tesis, se puede generalizar que los requisitos proceden de las propias necesidades que tienen los desarrolladores y de las aportaciones de nuevos requisitos o incidencias que los usuarios finales encuentran en las diferentes versiones del software desarrollado de una comunidad. En todas las infraestructuras observadas las principales fuentes de requisitos proceden de la gran participación de los desarrolladores y usuarios, exceptuando una pequeña participación de los administradores del sistema. Esto nos puede llevar a la conclusión de que en la mayoría de infraestructuras de una comunidad los participantes los cuales proporcionan nuevas peticiones de requisitos para la
Capítulo 7
157 comunidad, son principalmente los desarrolladores y los usuarios finales, aunque la participación de usuarios finales en dichas infraestructuras sea más elevada que la del resto de usuarios. Es decir, una infraestructura puede tener un mayor número de usuarios finales participantes, pero en realidad los requisitos procedan mayoritariamente de los desarrolladores aunque su participación sea menor dentro de esas infraestructuras. No obstante, a parte del estudio de las infraestructuras, existen los canales de chats proporcionados a los miembros de las comunidades a los cuales es imposible su acceso si no formas parte de los miembros de la comunidad. Por este motivo, no se han podido observar si hay existencia de requisitos en las conversaciones que se producen en los chats privados a causa de su contenido confidencial y no público. A partir de estas reflexiones obtenemos las siguientes hipótesis (Tabla 25):
H5: El mayor porcentaje de requisitos obtenidos en las infraestructuras de las comunidades procede de los usuarios finales y los desarrolladores.
H6: Existe un nivel más elevado de participación y colaboración de los usuarios finales en los foros que en las listas de correo, donde la participación de los desarrolladores es más elevada. Nº Hipótesis Resultantes del estudio H1 Las comunidades que realizan reuniones o conferencias gestionan de forma menos eficiente los requisitos, en comparación a las comunidades que solamente utilizan infraestructuras online. H2 Las wikis son usadas con carácter informativo más que colaborativo con respecto a la gestión de requisitos. H3 Desde la perspectiva del administrador o jefe de proyectos, el análisis, la negociación y la asignación de prioridades a través de los foros es una tarea difícil. H4 El grado de participación de los diversos tipos de usuario (administradores, desarrolladores, contribuidores y usuarios finales) depende de las diferentes infraestructuras utilizadas por la comunidad. H5 El mayor porcentaje de requisitos obtenidos en las infraestructuras de las comunidades procede de los usuarios finales y los desarrolladores. H6 Existe un nivel más elevado de participación y colaboración de los usuarios finales en los foros que en las listas de correo, donde la participación de los desarrolladores es más elevada.
Tabla 25: Hipótesis resultantes del estudio