Transformación de técnicas de usabilidad relacionadas con las actividades de ingeniería de requisitos para su incorporación en el proceso de desarrollo open source software
Contexto: El open source software (OSS) ha ganado muchos adeptos en las últimas
décadas conformando comunidades de OSS. Estas agrupaciones están constituidas por
personas que pueden o no estar relacionadas espacial y/o temporalmente durante el
desarrollo del proyecto.
Debido al crecimiento de los usuarios de aplicaciones OSS que no son desarrolladores,
y a que las empresas y organizaciones cada vez más están usando aplicaciones OSS,
surge la necesidad y el interés por desarrollar OSS usable. No se conoce exactamente
cómo aplicar las técnicas de usabilidad en los desarrollos OSS y no está claro cuáles
técnicas de usabilidad utilizar en cada actividad del proceso de desarrollo de software.
Esta problemática en las comunidades OSS durante el desarrollo de aplicaciones
representa la motivación principal de la presente investigación junto con el análisis de
las técnicas de usabilidad de la disciplina de la Interacción Persona-Ordenador (IPO),
que se pretenden transformar para su incorporación en los desarrollos OSS. La revisión
de la literatura permitió la selección de una taxonomía de técnicas de la IPO, dentro de
la que se estudian las técnicas relacionadas con las actividades de la Ingeniería de
Requisitos. A través de la adaptación de algunas de estas técnicas se busca mejorar y
enriquecer la actividad de análisis de requisitos en el proceso de desarrollo de software,
ya que tareas como el modelado del usuario y el conocimiento del concepto de producto
han sido descuidados en los proyectos OSS.
Objetivo: En este trabajo se transforman cuatro técnicas de usabilidad en las
actividades de Ingeniería de Requisitos de Análisis de Usuarios y de Desarrollo del
Concepto de Producto para poder ser incorporadas en el proceso de desarrollo OSS. Las
técnicas analizadas y transformadas son: Personas y Perfiles de Usuarios relacionadas
con la actividad de Análisis de Usuarios, y Focus Groups y Tormenta de Ideas Visual
pertenecientes a la actividad de Desarrollo del Concepto de Producto. Además, se
determina la viabilidad de aplicar estas técnicas de usabilidad en proyectos OSS. En
concreto, las técnicas Personas, Perfiles de Usuarios, Focus Groups y Tormenta de
Ideas Visual se aplican en los proyectos PSeInt, QUCS, ERMaster e HistoryCal,
respectivamente.
Método de Investigación: Para llevar a cabo este trabajo, en primer lugar, se realiza la
revisión de las publicaciones a fin de determinar el estado actual de la usabilidad en
OSS. Para ello, se utiliza el método de Systematic Mapping Study. En segundo lugar, el
método propuesto en el Marco de Integración de Técnicas de Usabilidad de Castro,
desarrollado en la Escuela Politécnica Superior de la Universidad Autónoma de Madrid,
se lleva a cabo para transformar las técnicas de las actividades de Ingeniería de
Requisitos seleccionadas a fin de ser aplicadas en los proyectos OSS.
Por último, el método de investigación utilizado para validar la viabilidad de nuestra
propuesta de incorporación de técnicas de usabilidad en proyectos OSS es el Múltiple
Case Study. Los casos de estudio permiten obtener informaciones tales como los
segmentos de usuarios para la actividad de Análisis de Usuarios y el modelo mental que
tiene un usuario del producto para la actividad de Desarrollo del Concepto de Producto,
sustentadas por la usabilidad y el desarrollo de software centrado en el usuario.
A través de cuatro casos de estudio hemos validado la viabilidad de nuestra propuesta
de incorporación de técnicas de usabilidad, participando como voluntaria en cuatro
proyectos OSS reales: PSeInt, QUCS, ERMaster e HistoryCal que están disponibles en
la página de SourceForge.
Resultados: Se han realizado las adaptaciones de las técnicas considerando el método
de transformación de técnicas de la IPO de Castro para su utilización en proyectos OSS,
se han identificado las condiciones desfavorables que impiden tal incorporación y las
modificaciones para adaptar dichas técnicas a la idiosincrasia de la comunidad OSS. Se
comprobó la dificultad para aplicar estas técnicas en los proyectos OSS considerados,
ya que en ellos no se ha dado importancia a la usabilidad de sus aplicaciones.
Conclusiones: Luego de analizar y aplicar las técnicas de usabilidad en las actividades
de Ingeniería de Requisitos en los desarrollos OSS, no resulta sencillo conseguir
usuarios que participen desinteresadamente en proyectos de este tipo, ya que ellos
normalmente no cuentan con suficiente tiempo y de no haber algún incentivo es difícil
conseguir su participación. Durante la aplicación de las técnicas transformadas se ha
podido comprobar que en todos los casos de estudio implementados existen
impedimentos, como el número de usuarios participantes, el sesgo de información
proporcionada por los desarrolladores, su distribución geográfica-temporal y la
motivación de la comunidad OSS.
Con el Marco de Integración de Técnicas de Usabilidad propuesto por Castro, cualquier
profesional que requiera aplicar una técnica de usabilidad en OSS puede seleccionar la
técnica que necesita dependiendo de su desarrollo y de su proyecto para aplicar alguna
de las transformaciones sugeridas. Las técnicas Personas, Perfiles de Usuarios, Focus
Groups y Tormenta de Ideas Visual transformadas en este trabajo pueden incorporarse
directamente en los desarrollos OSS.Context: Open source software (OSS) has gained many followers over the last fewdecades, during which OSS communities have formed. OSS communities are composed
of people who may or may not be spatially and/or temporally connected during project
development.
Due to the growth of non-developer OSS application users and to the fact that more and
more companies and organizations are using OSS, there is an emerging need for and
interest in developing usable OSS. It is not exactly known how to apply usability
techniques in OSS development, and it is unclear which usability techniques to use in
each software development process activity.
This OSS community application development issue, together with the analysis of the
of the human-computer interaction (HCI) usability techniques, is the main motivation
of this research. These usability techniques are transformed for adoption in OSS
development. The literature review singled out a taxonomy of HCI techniques. Of
these, we study techniques related to requirements engineering activities. By adapting
some of these techniques, we aim to improve and enrich the software development
process requirements analysis activity, as OSS projects have neglected tasks such as
user modelling and product concept knowledge.
Objective: As part of this research, four usability techniques are transformed into the
user analysis and product concept development requirements engineering activities for
adoption within the OSS development process. The techniques analysed and
transformed are personas and user profiling for the user analysis activity and focus
groups and visual brainstorming for the product concept development activity,
respectively. Additionally, the feasibility of applying usability techniques to OSS
projects is tested. Specifically, the personas, user profiling, focus groups and visual
brainstorming techniques are applied in the PSeInt, QUCS, ERMaster and HistoryCal
projects, respectively.
Research Method: For the purpose of this research, the literature was first reviewed in
order to determine the state of the art as regards OSS usability. To do this, a systematic
mapping study was conducted. Second, the method proposed in the Framework for
Integrating Usability Techniques developed by Castro at the Autonomous University of
Madrid’s School of Engineering was applied to transform the selected requirements
engineering activity techniques for application in OSS projects.
Finally, a multiple case study was the research method used to test the feasibility of this
proposal for adopting usability techniques in OSS projects. Case studies are useful for
gathering information, such as user segments for the user analysis activity and a user’s
mental model of the product for the product concept development activity, supported by
usability and user-centred software development.
x
The four case studies validated this proposal for the adoption of usability techniques
through voluntary participation in four real OSS projects: PSeInt, QUCS, ERMaster and
HistoryCal, all of which are available at the SourceForge website.
Results: The techniques were adapted according to Castro’s method for transforming
HCI techniques for use in OSS projects, identifying the conditions that are unfavourable
to their adoption and the modifications for adapting the techniques to the idiosyncrasy
of the OSS community. These techniques were found to be hard to apply in the analysed
OSS projects because the importance of application usability had been neglected.
Conclusions: After analysing and applying usability techniques in requirements
engineering activities in OSS developments, it was found that it is not easy to get users
to volunteer for such projects, as they are usually short of time and they are unwilling to
participate unless there is an incentive. During the application of the transformed
techniques, it was found that there were impediments in all the case studies, including
the number of participating users, biased information provided by developers, and the
OSS community spatiotemporal distribution and enthusiasm.
Using the Framework for Integrating Usability Techniques proposed by Castro, any
practitioner who needs to apply a usability technique in OSS can select the required
technique depending on the product and project to be developed and apply any of the
suggested transformations. The personas, user profiling, focus group and visual
brainstorming techniques adapted in this research can be adopted directly in OSS
developments