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

Abstract

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

    Similar works

    Full text

    thumbnail-image

    Available Versions