• No se han encontrado resultados

Capítulo 5: Análisis de los resultados obtenidos

5.2 Análisis del estudio realizado

5.2.3 Estructura de la Wiki en las comunidades OSS

Según los estudios realizados sobre las wikis basadas en la Ingeniería de Requisitos, tal y como se ha detallado en la sección 2.3.2.1 de este documento, y las investigaciones realizadas sobre cada una de las comunidades del estudio, se ha llevado a cabo un estudio sobre las wikis de las diferentes comunidades de esta tesis de máster. En este caso, únicamente existen dos comunidades, jQuery UI y Camino, que ofrecen entre sus infraestructuras una wiki para gestionar los requisitos de la comunidad.

En el segundo capítulo de este documento, describíamos la investigación realizada en [Deckeretal2007] sobre la estructura básica que debía tener una wiki para mejorar el uso de la Ingeniería de Requisitos. A partir de esta estructura, se ha estudiado las dos wikis de la comunidad de Camino y jQuery UI para comparar sus estructuras con la estructura básica estudiada en [Decketetal2007].

5.2.3.1 Estructura de la wiki de jQuery UI

La comunidad de jQuery UI tiene a disposición una wiki, la cual se ha investigado con el objetivo de observar su estructura, además de caracterizar y entender la Ingeniería de Requisitos en esta comunidad [WikijQuery].

Capítulo 5

129 En esta wiki podemos encontrar información diversa referente al proyecto de la comunidad. En ella encontramos publicada una lista completa de los plugins previstos para jQuery UI, la información sobre las convocatorias de meetings o reuniones que la comunidad realiza a través de dicha wiki, el chat y Trac, y también podemos encontrar documentación dirigida a los desarrolladores (véase más información en Apéndice B sección 10.4). Con el fin de documentar toda esta información, jQuery UI tiene estructurada su wiki en carpetas de la siguiente forma:

- Front Page: Pagina inicial de la wiki, en la cual podemos encontrar información sobre todos los plugins planificados para jQuery UI y un resumen del estado de la librería de jQuery UI.

- Page History: Página donde encontramos los diferentes enlaces a las revisiones realizadas por los usuarios de la wiki de la comunidad.

- Developer Documentation: En esta sección encontramos información general sobre las formas de desarrollo de la comunidad, como por ejemplo, guía inicial, guía del ciclo de vida de un plugin, el proceso de priorización de plugins, las diferentes fases de desarrollo, entre otros.

- jQuery UI Project: Página que proporciona información general sobre el proyecto de jQuery UI, como los objetivos y la visión de la librería de jQuery UI, el proceso de diseño colaborativo, los diferentes miembros y sus roles desarrollados en la comunidad.

- All Plugins: design & specification: Página que proporciona información sobre las especificaciones y diseño de todos los plugins desarrollados y pendientes de desarrollo de la librería de jQuery UI.

- Theming: Página que ofrece información sobre las formas de personalización de un plugin.

- UI Websites update: Página que ofrece información sobre los cambios que se realizan en la página web de jQuery UI.

Si comparamos la estructura de la wiki de jQuery UI con la estructura básica definida en el estudio [Dekeretal2007] podemos observar que tienen cosas en común, pero sin embargo, no acaba de seguir la estructura base. En este caso, podemos observar que la información del proyecto y de los diferentes miembros del equipo se encuentra documentada en la misma sección en vez de estar separada en Project Homepage y User Homepage. Al tratarse de una librería de plugins, especifíca los requisitos junto con una descripción, demos y la información relacionada con la versión de la librería en un mismo documento. Es decir, no tienen una estructura definida en Actor, Use Case y User Story.

Sin embargo, aunque jQuery UI utilice una estructura diferente a la definida en otros estudios, no significa que realice una mala gestión de los requisitos. Al contrario, podemos observar que utilizando otro tipo de estructura se pueden gestionar bien y de forma correcta los requisitos del proyecto de la comunidad, ya que proporciona la información suficiente tanto a los nuevos miembros que decidan incorporarse dentro de la comunidad como a los existentes. Además, se ha observado que la wiki de jQuery UI

Estado de la práctica de la Ingeniería de Requisitos en proyectos de Software Open Source

130

tiene actualmente una actividad notable gracias a todas las aportaciones de los participantes de dicha comunidad, en este caso de un nivel de 313 revisiones de la wiki, lo que podría significar que utilizar dicha estructura es útil para todos sus usuarios para gestionar los requisitos de la librería.

5.2.3.2 Estructura de la wiki de Camino

En el caso de la comunidad de Camino tiene a disposición una wiki, la cual también se ha investigado con el mismo objetivo comentado anteriormente [Wiki Camino].

En el estudio realizado sobre la wiki podemos observar que es donde los desarrolladores informan de los nuevos requisitos y errores que van apareciendo en la comunidad de Camino. A través de la wiki en la sección de Cambios recientes, los desarrolladores informan de todos los cambios que se van realizando de cada versión de Camino. Además estos desarrolladores realizan reuniones semanales a través de la wiki donde tienen una sección de apuntes, en la cual dichos desarrolladores mantienen una discusión o conversación sobre la información de la reunión semanal (véase más información en el Apéndice B, sección 10.9).

Seguidamente explico la estructura utilizada por la wiki de la comunidad de Camino:

- Main Page: Página inicial de la wiki de Camino, en la cual encontramos los enlaces sobre toda la información relativa a los desarrolladores y contribuidores, información sobre la documentación, entre otros.

- Community Portal: Página que contiene información general sobre novedades de la comunidad.

- Current events: Página donde informan de los actuales eventos realizados en la comunidad.

- Recent changes: Página que contiene información sobre todos los cambios que se van realizando en el proyecto de la comunidad.

- Donaciones: Página donde informan sobre las donaciones que se pueden realizar a la comunidad.

Si comparamos la estructura de la wiki de Camino con la estructura básica definida en el estudio [Dekeretal2007] podemos observar que no sigue la estructura básica definida. En este caso, podemos observar que la información del proyecto se encuentra documentada a través de diferentes enlaces detallados todos en la misma sección, en lugar de utilizar la plantilla Project Homepage. Además, no existe ningún enlace a algún documento donde se detalle la información general sobre los miembros de la comunidad, tal y como se realiza en la estructura básica con la plantilla User

Homepage. Además, la comunidad no utiliza la wiki para especificar los Actor, Use Case y User Story, es decir, no se encuentran documentados las funcionalidades o

requisitos del sistema en ninguna parte de la wiki. Sin embargo, es donde los desarrolladores llevan a cabo la gestión de los nuevos requisitos y errores que van apareciendo en la comunidad de Camino. En la sección de cambios recientes (Recent

Capítulo 5

131 cada versión de Camino, donde además, estos desarrolladores realizan reuniones semanales a través de la wiki donde tienen una sección de apuntes, en la cual dichos desarrolladores mantienen una discusión o conversación sobre la información de la reunión semanal.

A partir de estas observaciones, al igual que en la comunidad de jQuery UI, no podemos afirmar que no utilizar la estructura base definida en el estudio [Deckeretal2007] signifique realizar o gestionar mal los requisitos del proyecto de una comunidad. Es decir, el hecho de utilizar otra estructura diferente en la wiki no significa que para los usuarios sea difícil proponer, especificar y discutir los requisitos. Además, se ha observado que la wiki tiene actualmente una actividad notable como se puede observar en la sección de Recent changes, en la cual se ven todos los cambios y discusiones que van realizando los participantes de la wiki para realizar la gestión del desarrollo del sistema. Esto podría significar que utilizar dicha estructura es útil para todos sus usuarios de la comunidad para gestionar los requisitos de la comunidad, en vez de utilizar una estructura como la definida anteriormente.

5.2.3.3 Estructura de documento vs. Estructura wiki jQuery UI y Camino En la Tabla 19 podemos visualizar una comparativa de las wikis de las comunidades

jQuery UI y Camino versus la estructura básica de documento de la Ingeniería de Requisitos basado en una wiki.

Según el estudio de las dos wikis de las comunidades de jQuery UI y Camino se ha observado que el uso de las respectivas wikis es más de ámbito informativo en vez de colaborativo como proponen los estudios realizados, detallados en la sección 2.3.2.1 [Dekeretal2007]. Es decir, según [Deckeretal2007] las wikis están pensadas para que los usuarios de las comunidades colaboren en la elaboración de los requisitos de los sistemas desarrollados por una comunidad, por este motivo ha construido una estructura básica de documento para la gestión de la Ingeniería de Requisitos basado en una wiki. Sin embargo, en el caso de la comunidad de jQuery UI, utilizan la wiki para introducir la información o documentar los requisitos que ya han sido desarrollados por la comunidad, para que los usuarios estén informados de los plugins de la librería. En el caso de la comunidad de Camino existe más participación colaborativa por parte de los usuarios de la wiki, donde realizan discusiones sobre los cambios que se van realizando en el sistema y sobre las reuniones semanales que realiza la comunidad. Sin embargo, estas wikis siguen teniendo un uso más informativo que colaborativo debido a la gran participación de los stakeholders en los foros de las respectivas comunidades.

Por otra parte, no tenemos indicios de que las diferentes formas de gestionar los requisitos observadas en las comunidades de jQuery UI y Camino, sea una mejor que la otra. Por ejemplo jQuery UI, tiene una wiki bastante mejor estructurada y organizada que la comunidad de Camino. No obstante, no significa que jQuery UI gestione mejor los requisitos por tener una mejor organización que la comunidad de Camino. Cada comunidad tiene sus métodos, los cuales para cada una de ellas pueden ser igual de válidos y útiles a la hora de gestionar los requisitos.

Estado de la práctica de la Ingeniería de Requisitos en proyectos de Software Open Source

132

Según los estudios realizados de las wikis de cada comunidad y la estructura base de documentos de la Ingeniería de Requisitos basado en una wiki propuesta por el estudio de [Deckeretal] detallada en la sección 2.3.2.1 se plantea la siguiente hipótesis:

H2: Las wikis son usadas con carácter informativo más que colaborativo con respecto a la gestión de requisitos.

Capítulo 5 133 Context  Requirements documents  Estructura de  documento  Ingeniería 

Requisitos  Project HomePage  UserHomePage  User Story  Actor  Use Case 

FrontPage  jQuery UI 

Project  Developer Documentation  All Plugins: design & specification 

Estructura jQuery    • Las páginas Front Page, Developer Documentation y jQuery UI Project  proporcionan la información que define el Project HomePage y el  User HomePage en la estructura.  • No contiene un perfil detallado de cada usuario participante en el  proyecto como el User HomePage, sino que lo detalla en el apartado  jQuery UI Project.  • En el documento Developer Documentation se encuentra detallado la  información inicial para que los usuarios se incorporen al proyecto.  • En el documento All Plugins: design & specification podemos  encontrar  los requisitos definidos para cada plugin de la librería de  jQuery UI, en el cual se especifica la versión de la librería al cual  pertenece ese plugin.  • Los stakeholders pueden especificar los requisitos de los plugins de  forma natural.  • No se definen los roles involucrados en los requisitos.  • No contiene casos de uso definidos.  Main Page  Recent Changes  Estructura Camino    • El documento Main Page, contiene la información de la diversa  documentación existente en el proyecto e información relativa a los  desarrolladores y contribuidores.  • No contiene ninguna información página que detalle cada perfil de  los diferentes miembros que forman el proyecto, como define el  User HomePage.  • No contiene información inicial para nuevos desarrolladores que se  incorporan al proyecto.   • A través del documento Recent changes, los desarrolladores  informan de todos los cambios que ocurren en las diversas  versiones de Camino y además realizan la especificación de  requisitos.  • En el documento Recent Changes existe una sección de apuntes  con el propósito de realizar reuniones semanales en las que los  desarrolladores y contribuidores discuten los requisitos del  sistema.  • No se definen los roles involucrados en los requisitos.  • No contiene casos de uso definidos. 

Estado de la práctica de la Ingeniería de Requisitos en proyectos de Software Open Source

134