**2. State of the art**

to take an interest in this field of research and try to remedy the failings [3–5]. The growth in the number of non-developer OSS application users and the escalating use of these applications have created a need for and interest in developing usable OSS [6–10]. However, several authors have acknowledged that the usability of OSS is poor [6, 11, 12]. In this respect, the empirical study conducted by Raza et al. [7] reports that 60% of respondents (non-developer users) stated that poor usability is the main obstacle to be overcome by OSS applications if users are to migrate away from commercial software. On this ground, OSS projects must tackle their level of usability and usability-related problems more conscientiously [12].

On one hand, the human-computer interaction (HCI) field offers usability techniques whose key aim is to build usable software. However, they are applied as part of HCI methods and not within the OSS development process. On the other hand, the OSS development process focuses on source code and thus on feature development. The OSS development process has a number of characteristics (e.g., OSS community developers and users are geographically distributed, code-focused world view). This prevents many of the HCI usability techniques from being adopted directly [13]. Furthermore, these characteristics are not unique to OSS projects, they are also shared by projects carried out in distributed environments. However,

Even so, the OSS community has now started to adopt some usability techniques. Most of the techniques that the OSS community has taken on board are for evaluating usability [13]. Some usability techniques have been adapted ad hoc for adoption in OSS development projects [13]. This paper addresses the research problem of how to adopt the focus groups usability technique for requirements engineering activities as part of the development process of a real

Our research spans two areas: SE and HCI. We use usability techniques as a bridge to communicate these two areas, where our aim is to deploy HCI knowledge in the SE field and especially in the OSS development process. If adapted, usability techniques can be adopted in the OSS development process [13]. Therefore, this paper has two goals. Firstly, we intend to adapt the focus groups usability technique [14] for adoption in the OSS development process. Secondly, we aim to determine the feasibility of adopting this usability technique in a

Requirements engineering activities play a very important role in the success or failure of an OSS project. However, they are sometimes extremely hard to perform because there is no definition of OSS user segments before the software is developed. Also, it is far from straightforward to address all the requirements analysis activities due to the particular characteristics of OSS development groups. On this ground, this paper considers just the product concept development activity. Additionally, OSS projects have not adopted many usability techniques related to the requirements engineering and product concept development activities [13]. The next step after selecting the activity is to pick a related usability technique for adoption in the OSS development process. Our choice consisted of the focus groups usability technique to be incorporated to the OSS development process. It is important to mention that this

our research's interest is focused on the OSS development process.

.

OSS project known as ERMaster<sup>1</sup>

https://sourceforge.net/projects/ermaster/?source=updater

real OSS project.

46 Trends in E-learning

1

There are papers in the literature reporting the usability evaluation of some OSS applications [19–21]. Assa et al. [19] studied the usability issues facing software developers using code analysers by evaluating one of the popular open-source static-code analysis tools. Al-Odan and Al-Daraiseh [20] conducted a thorough study, placing five of the most popular free and open source software tools side by side for comparison with respect to both user acceptance and technical specifications. Ternauciuc and Vasiu [21] tried to inventory existing methods for testing and improving usability, with a particular focus on e-learning platforms. However, usability technique definition and integration into OSS projects is a complicated process, which has not been researched at length [6, 22–25]. Existing papers suggest that usability techniques should be reconceptualized. However, they do not explain how the OSS community should go about adaptation. Nichols and Twidale [4] and Ternauciuc and Vasiu [21] are the only authors to put forward some general ideas for improving usability. However, the issues to be taken into account in order to adopt such techniques in OSS developments are unclear.

Usability technique definition and integration into OSS projects is a complicated process, about which there are few papers [6, 23–25]. These papers suggest that usability techniques should be reconceptualized, but they do not explain how the OSS community should go about adaptation. Nichols and Twidale [4] are the only authors to put forward some general ideas for improving usability. However, the issues to be taken into account to adopt such techniques in OSS developments are unclear.

Castro's work proposes an integration framework that can incorporate most usability techniques in OSS developments. It is important to clarify that this framework only proposes the general adaptations that must be made to the techniques. These adaptations depend on the requirements of the technique that cannot be satisfied by the way the OSS community works. Castro's research [13] was validated on only two OSS projects (OpenOffice Writer and FreeMind) and for three usability techniques (user profiles, direct observation and post-test observation). Therefore, Castro's proposal [13] requires further validation by adapting new

Applying a Usability Technique in the Open Source Software Development Process: Experiences…

http://dx.doi.org/10.5772/intechopen.74862

49

We used a case study as the qualitative research method to validate our research [31]. From a case study, we learn about the experiences of applying usability techniques adapted to OSS projects. This research method is used when the phenomenon under investigation (in this case, the adoption of an adapted usability technique) is studied within its real setting (in this case, an OSS project). OSS projects are the perfect setting for the case study reported here because OSS communities are generally uninformed about usability techniques, do not have the resources to test usability and cannot usually count on usability expert involvement [4, 9, 11]. Small project teams in particular have little information about what techniques are at their

The case study addresses the following research question (RQ): How to incorporate the focus

ERMaster, a graphical editing tool for entity-relation diagrams (ERD), was selected as the OSS project in which to adopt the focus groups technique. In this research, we first identified the obstacles to applying the focus groups technique in the ERMaster project. We then decided how to deal with the obstacles. Finally, we proposed the adaptations necessary to adopt the

We created web artefacts to improve communication with OSS community members and efficiently synchronise the necessary activities to apply the focus groups usability technique. The web artefact used to test the feasibility of the proposed technique was a forum. Forums are used in the focus groups technique to gather information and compile sketches related to the application user interface. Thanks to this web artefact, we were able to set up a virtual meet-

In this section, we describe the focus groups usability technique applied in an OSS project. Firstly, we describe the case study design. Secondly, we specify the characteristics of the selected OSS project. Thirdly, we describe the selected usability technique as prescribed by HCI. We then introduce the adaptations made to the focus groups technique for application in an OSS project.

ing point with OSS users who are geographically distributed all over the world.

Finally, we report the results of applying this usability technique.

usability techniques and participating in more OSS projects.

**3. Research method**

disposal for improving usability [6, 32].

groups technique in a real OSS project?

focus groups technique in this project.

**4. Proposed solution**

In particular, very few studies have reported the application of the focus groups technique in OSS projects [23, 26, 27] In the study by Terry et al. [23], the focus groups technique was adopted with adaptations in various OSS projects (for example, in a desktop windows environment and in a desktop operating system). For the focus groups technique a usability expert meets the developers either in person or through Internet Relay Chat. These meetings are held periodically (weekly, monthly or annually) and their aim is that the applications or the designs proposed for a new functionality are evaluated by an expert in usability [23]. In this case, the OSS developers are the ones that participate in the Focus Groups, rather than the final users. In Semedo and colleagues' study [26], the participants replied to a questionnaire beforehand to assess their previous experience using the CLASS tool. This OSS application permits the recording, analysis and interpretation of respiratory sounds. The participants received a training session for the application. Two days later, they participated in a focus group session directed by the researchers to better understand their experience when interacting with the application. This focus group lasted approximately 20 minutes and was recorded on video. In Kolagani and colleagues' study [27] the authors developed the Watershed GIS OSS for the management of geographical information. In this study the focus groups technique is adopted with the aim of obtaining the requirements for both types of users (experts and common) of the tool. In the last two studies [26, 27] it is stated that the final users participated in the Focus Group sessions conducted by the researchers themselves.

Although research examining usability in OSS has been published [9, 23, 28, 29], there is no standardised procedure for determining how to adopt usability in OSS development. It appears to be less straightforward to integrate usability into the OSS development process than into commercial development projects due to some of the characteristics of the OSS community, like: (i) feature-centred development, (ii) worldwide geographical distribution, (iii) limited resources, and (iv) a culture that may be alien to interaction designers. Consequently, usability technique adoption is a demanding task because most HCI techniques are not designed for the type of environment in which OSS is developed [13].

In the wake of the literature review, we can say that only one of the research papers reports a general and systematic proposal for integrating usability techniques into the OSS development process [13]. To do this, it considers the particular characteristics, philosophy and idiosyncrasy of the OSS development process, without forfeiting the essence of usability techniques. Two systematic mapping studies (SMS) related to usability in OSS were conducted in advance of our research. A SMS reviews the literature on a particular field of interest [29]. The first SMS was conducted by Castro [13] reviewing papers published up until 30 July 2013. The second SMS was conducted with a search range from 1 August 2013 to 30 April 2015 [30] and later updated considering the 30 July 2017 as the final date.

Castro's work proposes an integration framework that can incorporate most usability techniques in OSS developments. It is important to clarify that this framework only proposes the general adaptations that must be made to the techniques. These adaptations depend on the requirements of the technique that cannot be satisfied by the way the OSS community works. Castro's research [13] was validated on only two OSS projects (OpenOffice Writer and FreeMind) and for three usability techniques (user profiles, direct observation and post-test observation). Therefore, Castro's proposal [13] requires further validation by adapting new usability techniques and participating in more OSS projects.
