Integrating HCI Specialists into Open Source Software Development Projects

Typical open source software (OSS) development projects are organized around technically talented developers, whose communication is based on technical aspects and source code. Decision-making power is gained through proven competence and activity in the project, and non-technical end-user opinions are too many times neglected. In addition, also human-computer interaction (HCI) specialists have encountered difficulties in trying to participate in OSS projects, because there seems to be no clear authority and responsibility for them. In this paper, based on HCI and OSS literature, we introduce an extended OSS development project organization model that adds a new level of communication and roles for attending human aspects of software. The proposed model makes the existence of HCI specialists visible in the projects, and promotes interaction between developers and the HCI specialists in the course of a project.

Related papers:

title: User involvement: A review of the benefits and challenges
abstract: User involvement is a widely accepted principle in development of usable systems. However, it is a vague concept covering many approaches. This study first clarifies the nature of user involvement and its expected benefits, and secondly reviews three streams of research, to evaluate the benefits and problems of varied user involvement approaches in practice. The particular focus of this study is on the early activities in the development process. An analysis of the literature suggests that user involvement has generally positive effects, especially on user satisfaction, and some evidence exists to suggest that taking users as a primary information source is an effective means of requirements capture. However, the role of users must be carefully considered and more cost-efficient practices are needed for gathering users' implicit needs and requirements in real product development contexts.

title: The Usability Engineering Lifecycle: A Practitioner's Handbook for User Interface Design
abstract: A commitment to usability in user interface design and development offers enormous benefits, including greater user productivity, more competitive products, lower support costs, and a more efficient development process. But what does it mean to be committed to usability? Inside, a twenty-year expert answers this question in full, presenting the techniques of Usability Engineering as a series of product lifecycle tasks that result directly in easier-to-learn, easier-to-use software.You'll learn to perform a complete requirements analysis and then incorporate the resulting goals and constraints in a highly structured, iterative design and development process. This process doesn't end with installation but instead begins anew with the collection of user feedback that will guide further development. Also covered are organizational issues related to the implementation of Usability Engineering, including cost justification, project planning, and organizational structures.  Unites all current UE techniques in a single, authoritative resource, presenting a coherent lifecycle process in which each clearly defined task leads directly the next. Teaches concrete, immediately usable skills to practitioners in all kinds of product development organizations-from internal departments to commercial developers to consultants. Contains examples of actual software development projects and the ways in which they have benefited from Usability Engineering. Deals in specifics, not generalities-provides detailed templates and instructions for every phase of the Usability Engineering lifecycle. Pays special attention to Web site development and explains how Usability Engineering principles can be applied to the development of any interactive product.

title: Usability engineering - scenario-based development of human-computer interaction
abstract: Based Development of Human-Computer Interaction is a radical departure from traditional books that emphasize theory and address experts. This book focuses on the realities of product development, showing how user interaction scenarios can make usability practices an integral part of interactive system development. As you'll learn, usability engineering is not the application of inflexible rules; it's a process of analysis, prototyping, and problem solving in which you evaluate tradeoffs, make reasoned decisions, and maximize the overall value of your product.

title: Usability in open source software development: opinions and practice
abstract: Open Source Software (OSS) development has gained significant importance in the production of soft-ware products. Open Source Software developers have produced systems with a functionality that is competitive with similar proprietary software developed by commercial software organizations. Yet OSS is usually designed for and by power-users, and OSS products have been criticized for having little or no emphasis on usability. We have conducted an empirical study of the developers’ opinions about usability and the way usability engineering is practiced in a variety of OSS projects. The study included a questionnaire survey and a series of interviews, where we interviewed OSS contributors with both technical and usability backgrounds. Overall we found that OSS developers are interested in usability, but in practice it is not top priority, and OSS projects rarely employs systematic usability evaluation. Most of the efforts are based on common sense. Most developers have a very limited understanding of usability, and there is a lack of resources and evaluation methods fitting into the OSS paradigm.

title: The Usability of Open Source Software
abstract: Open source communities have successfully developed a great deal of software although most computer users only use proprietary applications. The usability of open source software is often regarded as one reason for this limited distribution. In this paper we review the existing evidence of the usability of open source software and discuss how the characteristics of open source development influence usability. We describe how existing human-computer interaction techniques can be used to leverage distributed networked communities, of developers and users, to address issues of usability.

title: Exploring Usability Discussions in Open Source Development
abstract: The public nature of discussion in open source projects provides a valuable resource for understanding the mechanisms of open source software development. In this paper we explore how open source projects address issues of usability. We examine bug reports of several projects to characterise how developers address and resolve issues concerning user interfaces and interaction design. We discuss how bug reporting and discussion systems can be improved to better support bug reporters and open source developers.

title: Improving Open Source Software Usability
abstract: Usability of open source systems is becoming a relevant topic for investigation given the proliferation of open source software. General assumptions do not favor a positive relationship between the existing open source development model and good usability due to a host of social context reasons. In this paper we provide empirical evidence on this issue through a case study using an open source project called Ganttproject. Results point to likely deficiencies in the open source model. An analysis of this phenomena and some potential solutions for improving open source usability are proposed.

title: Professional usability in open source projects: GNOME, OpenOffice.org, NetBeans
abstract: Working as a usability professional in the open source arena is a challenging task. The decentralized and engineering-driven approach of open source projects can be at odds with corporate processes and usability engineering methodologies. Nonetheless, there is great potential for large corporations to contribute to open source projects. Providing usability know-how that leads to usable and useful products is a win-win situation for developers, the corporations, and -- most importantly -- the users.

title: A FRAMEWORK ANALYSIS OF THE OPEN SOURCE DEVELOPMENT PARADIGM
abstract: Open Source Software (OSS) has become the subject of much commercial interest of late. Certainly, OSS seems to hold much promise in addressing the core issues of the software crisis, namely that of software taking too long to develop, exceeding its budget, and not working very well. Indeed, there have been several examples of significant OSS success stories—the Linux operating system, the Apache web server, the BIND domain name resolution utility, to name but a few. However, little by way of rigorous academic research on OSS has been conducted to date. In this study, a framework was derived from two previous frameworks which have been very influential in the IS field, namely that of Zachman’s IS architecture (ISA) and Checkland’s CATWOE framework from Soft Systems Methodology (SSM). The resulting framework is used to analyze the OSS approach in detail. The potential future of OSS research is also discussed.

title: Enabling User Centered Design Processes in Open Source Communities
abstract: Drawing on tenets from action research, this paper presents a yearlong intervention designed to facilitate knowledge of actual users and use in an Open Source Software (OSS) development community. Results from the interventions are presented and the influence of central characteristics of the OSS community and its communication is discussed. Initial findings show that the ideology and praxis based approach of the OSS community, as well as their primary media of communication, present a challenge to the introduction of end-user issues.

title: Usability and open-source software development
abstract: Open-source is becoming an increasingly popular software development method. This paper reports a usability study of the open-source Greenstone Digital Library collection-building software. The problems highlighted by the study are analysed to identify their likely source within the social context of Greenstone's development environment. We discuss how characteristics of open-source software development influence the usability of resulting software products.

title: An Analysis of Involvement of HCI Experts in Distributed Software Development: Practical Issues
abstract: Traditionally, free and open source software (F/OSS) developers have focused more on the features of a specific application, most of the time ignoring the necessity of user-centric design. This has mainly stemmed from the fact that developers have little interaction with HCI studies, knowledge bases and reports. Moreover, the lack of user interface designers has resulted in a lack of awareness of this area. As a consequence, the user centric design phenomenon within F/OSS applications has been neglected. In this paper, we have mentioned various problems that would slow down a F/OSS project development towards a user-engineered software, and investigated the ways that HCI experts and developers interact with each other and researched bug reporting systems by means of eligibility to issue usability bugs. For the conclusion part, we have explored possible ways to achieve a user-centric design in a project with asynchronous interaction among geographically distributed developers.

title: Major HCI Challenges for Open Source Software Adoption and Development
abstract: The aim of the paper is to identify and discuss major challenges for OSS from an HCI perspective, so as to aid the adoption and development processes for end-users, developers and organizations. The paper focuses on four important HCI concerns: product usability, support for user and development communities, accessibility and software usability and proposes areas for further research on the basis of related work and own experiences.

title: Effective work practices for software engineering: free/libre open source software development
abstract: We review the literature on Free/Libre Open Source Software (FLOSS) development and on software development, distributed work and teams more generally to develop a theoretical model to explain the performance of FLOSS teams. The proposed model is based on Hackman's [34] model of effectiveness of work teams, with coordination theory [52] and collective mind [79] to extend Hackman's model by elaborating team practices relevant to effectiveness in software development. We propose a set of propositions to guide further research.

title: The many meanings of open source
abstract: Many software development methodologies are called "open source." However simply stating that a project is open source doesn't precisely describe the approach used to support the project. A multidisciplinary viewpoint can help determine those characteristics that are common to open source projects and those that vary among projects. These characteristics form the basis for a taxonomy of open source projects that's useful for analyzing and setting up projects. They also provide a starting point for understanding what "open source" means.

title: Open source processes: no place for politics?
abstract: Open source processes have attracted considerable attention recently. The underlying motivation for this surging interest is strikingly varied. Open source is not so much a precisely defined and delineated topic as an evolving, intrinsically ambiguous phenomenon. From a marginal, esoteric interest around ‘hacker’ sub-cultures (Turkle, 1985; Hannemyr, 1999), open source is emerging as a theme with interesting – but largely uncharted – implications for the practice of programming, software engineering as a discipline (Feller and Fitzgerald, 2002a, b), epistemic cultures (Knorr-Cetina, 1999), economic theory and property rights (Lessig, 2002) and, what is the focus of this paper, processes of innovation and knowledge creation (von Hippel and von Krogh, 2003).

title: Toward an understanding of the motivation of open source software developers
abstract: An Open Source Software (OSS) project is unlikely to be successful unless there is an accompanied community that provides the platform for developers and users to collaborate. Members of such communities are volunteers whose motivation to participate and contribute is of essential importance to the success of OSS projects. In this paper, we aim to create an understanding of what motivates people to participate in OSS communities. We theorize that learning is one of the motivational forces. Our theory is grounded in the learning theory of Legitimate Peripheral Participation, and is supported by analyzing the social structure of OSS communities and the co-evolution between OSS systems and communities. We also discuss practical implications of our theory for creating and maintaining sustainable OSS communities as well as for software engineering research and education.

title: The promise and perils of a participatory approach to developing an open source community learning network
abstract: This paper describes and analyses the early developmental stages of a community learning network based in an urban community and social service agency. With government funding, the community organization contracted with a small software firm to design and implement participatively a web-based ‘community portal’ using open source software and techniques. While adopting these progressive development ideals has brought notable benefits, they have also posed significant challenges for the parties involved. In particular, mis-matched expectations, budget squeezes, and slipped schedules have been attributed to the approach being too participatory and too open. We examine these claims and offer insights into community-oriented, participatory, open source development projects.

title: The use of embedded open source software in commercial products
abstract: The purpose of this paper is to increase understanding about the use of embedded open source software in commercial telecommunication products. This paper applies concepts of value-creating systems to sourcing and use of open source software. In value creating systems, open source software communities do not operate in similar way as companies. Differences derive from organizational culture, values and motivation to create value, e.g. to develop the software. Companies are monetarily motivated to create value for their customers but open source software communities are mainly voluntarily creating value to themselves and their peers. These differences have to be understood and taken into account when companies are using open source software in commercial products. In this paper, a model proposal describing collaboration with the open source community when using open source software in commercial products is outlined. Key findings about applying the model in a case company are presented.

title: Relationships Between Open Source Software Companies and Communities: Observations from Nordic Firms
abstract: This paper deals with the relationships between firms and communities in Open Source Software (OSS). A particular feature of OSS is that important resources are not directly controlled by firms, but partly reside within communities that co-exist with the firms. Despite this, firms explicitly try to utilize the resources within these communities in order to create and appropriate value. Consequently, the relationships that firms have to these communities influence their way of doing business. Based on case studies of Nordic OSS firms, a typology consisting of symbiotic, commensalistic, and parasitic approaches to handling the firm-community relationship is developed. Depending on the chosen approach, firms encounter different managerial issues and also use different operational means of subtle control. While firms relying on a symbiotic approach have greater possibility to influence the community through subtle means of control, they are also confronted with more challenging managerial issues.

title: Varieties of User-Centeredness
abstract: This paper critically examines user-centeredness as a multidimensional concept along four aspects: as user focus; as work-centeredness; as user participation; and as system personalization. Each aspect loads user-centeredness with different meanings. It is discussed whether user centered design can be considered an information systems development approach on its own. In its current form, we do not see it as a separate approach, because it is neither horizontally nor vertically complete, and because of the overall confusion regarding its goals, principles and practices. The four dimensions identified can be used for evaluating information systems development methods and approaches to what extent they adhere to the ideals of user-centeredness.

title: About Face 2.0: The Essentials of Interaction Design: Alan Cooper and Robert Reimann Published by John Wiley & Sons, 2003, 576 pp, ISBN 0764526413
abstract: About Face 2.0 seeks to develop the discipline of interaction design in the context of industry shifts that occurred in the 7 years since the first edition of the book was published in 1996, especially the emergence of web-based design. It builds on Alan Cooper’s highly successful The Inmates are Running the Asylum, which introduced the notion of interaction design; but while that earlier work focused on identifying the user-hostile elements in interfaces, About Face 2.0 looks for remedies. Cooper and Robert Reimann define interaction design as a holistic approach to ‘the design of the behavior of artifacts, environment, and systems, as well as the formal elements that communicate that behavior’. Throughout the book, they step the reader through the terminology and processes of the discipline, and outline the principles that would guide the actions of a successful practitioner. The authors’ central premise, and the one that motivates the cultivation of interaction designers within software development organizations, is that programmers do not make good interaction designers. The skill-set required to become a successful programmer is orthogonal to the skill-set of a successful interaction designer; this is not to say that programmers cannot be good interaction designers and vice versa, but some degree of retooling is required for a person to move successfully between the two functions. We found this point to be a valid and important precursor to the remainder of the reading. The strengths of this book are in the high-level interface design concepts it presents; it is not, nor does it aim to be, a style guide or a set of interface standards to be rigorously adhered to. As a whole, it was well-written and persuasive, with much of the power of the authors’ arguments coming directly from the well-chosen examples cited throughout. These examples were taken from a variety of common applications that a broad swath of readers would be familiar with (Adobe Photoshop, Microsoft Word and Excel, Microsoft Paint, Windows, and MacOS X, to name a few) and illustrated both effective and ineffective design constructs. Sometimes the scenarios presented were comical, and sometimes they were disastrous, but they were always situations that the average computer user could relate to. Some of the most innovative concepts are presented early on in the book. Cooper and Reimann advocate the idea of designing for an intermediate user, rather than the novice or the expert. Novices, they say, will soon graduate to an intermediate level and few users, if any, will Information Visualization (2004) 3, 223–225 & 2004 Palgrave  1473-8716 $30.00

title: User involvement in the systems design process-a practical guide for users
abstract: Increasingly users ® nd themselvesinvolved' in IT design projects. This occurs because the organizational culture of the parent organization purports to promote participation, or because structured design methods are being used which require users to play a part. In either case users who ® nd themselves required to participate in IT projects are frequently unclear about what this requires. In most organizations surprisingly little brie® ng on the users' role in design projects is provided. Users are therefore confused about their brief and concerned about their lack of expertise in computing. Although research reports on participatory design (PD) projects abound, little coherent guidance for the key stakeholders representing users' interests is available. The contents of this paper go some way towards ® lling the gap. Clear differentiation is made in the paper between the roles of the different players involved. Detailed guidance is provided for meeting the varied requirements of the different roles. For example, the roles oftop' management andmiddle' management in supporting user involvement are explored, their special responsibilities speci® ed and required actions listed. The need for an infrastructure to support user involvement and how to create one is discussed. Guidance is provided on, for example, the representation process and the factors to consider in selecting user representatives. The role of user representatives is particularly problematical and therefore receives particularly close attention. Finally guidance is given regarding the common pitfalls in Quality Assurance procedures and especially how to avoid the procedures becoming a meaninglessrubber-stamping' exercise. The guidance presented is grounded in the extensive experience of the author in participative design processes in a wide variety of contexts including the footwear industry, a major UK government department and a telecommunications and broadcasting company.

title: Understanding the work of an HCI practitioner
abstract: Users should be involved in the development of information technology (IT) artifacts. However, this is challenging, especially in product development context, in which Human Computer Interaction (HCI) practitioners tend to be hired to 'represent the users' in the development. However, also their work has proven to be challenging. This paper analyzes their work by utilizing a metaphor of IT artifacts as texts and their development as writing. It is assumed that during writing the IT artifact texts 'users are configured'. HCI practitioners are to contribute to the 'configuration of the user'. However, divergent roles are assigned to these practitioners, both in theory and in practice. Therefore, both theoretical and empirical analyses of the work of the HCI practitioners are carried out, and implications both for theory and practice are discussed. Particularly the semiotic approach introduced in this paper and its implications on HCI theory are reflected on.

title: The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity (2nd Edition)
abstract: Imagine, at a terrifyingly aggressive rate, everything you regularly use is being equipped with computer technology. Think about your phone, cameras, cars-everything-being automated and programmed by people who in their rush to accept the many benefits of the silicon chip, have abdicated their responsibility to make these products easy to use. The Inmates Are Running the Asylum argues that the business executives who make the decisions to develop these products are not the ones in control of the technology used to create them. Insightful and entertaining, The Inmates Are Running the Asylum uses the author's experiences in corporate America to illustrate how talented people continuously design bad software-based products and why we need technology to work the way average people think. Somewhere out there is a happy medium that makes these types of products both user and bottom-line friendly; this book discusses why we need to quickly find that medium.

title: Applying Design Methodology to Software Development
abstract: Professional software development. and specifically the external design of interactive systems, suffers from a tension between the normative development models being prescribed and the actual design work being performed. This tension manifests itself in, e.g.. recurring problems with tluctuating requirements. I argue that this tension can be understood as the clash of two views on external design work: the engineering design and the creative design perspectives. To explain the tension and to lay a foundation for new ways to structure software development. I seek to apply critical insights and concepts from design methodology -the theoretical framework for creative design. The result is a development process in which external design is separated from internal design and construction. The external design work consists of conceptual, constitutive and consolidatory steps. The process shares some characteristics with participatory design, but the designer’s expertise is recognized and identified.