Public participation in proprietary software development through user roles and discourse

https://doi.org/10.1016/j.ijhcs.2007.12.002Get rights and content

Abstract

The opportunity for users to participate in design and development processes has expanded in recent years through such communication and information technologies as mailing lists, bug trackers, usage monitoring, rich interactions between users and service-center staff, remote usability testing, and so on. A key question, therefore, is deciding how to engage users in design and development through such technologies. This paper addresses this question by reviewing literature on end-user programming and open source development to develop a framework concerning user roles and discourse. The framework makes two claims: (1) user roles and a social structure emerge after the introduction of a software application (role differentiation); and (2) different roles demand different kinds of discourse for deciding what to do and for reflecting upon intended and unintended consequences (role discourse demands). To show its application, the framework is used to analyze the development of del.icio.us, a breakthrough application for social bookmarking. This development process is notable because it is a characteristic of open source software development in some respects, but the code is not made available publicly. This hybridization appears to be widely applicable and suggests how design and development processes can be structured as a service where the design and development of the system proceeds simultaneously with the formation and nurturing of a community of users.

Introduction

Users are precious—they know their work and enact it daily. They experience breakdowns and develop workarounds, sometimes innovative ones, and they have needs, wants, and opinions. A fundamental, recurrent issue, therefore, is deciding on an ethos for involving users in development processes that lead to applications that they use. Different development processes make different commitments for involving users. Participatory design of the Scandinavian School, for example, emphasizes communication and cooperation between users and developers for mutual learning and design by doing, especially low-fidelity prototyping (Ehn, 1988; Floyd et al., 1989). In contrast, task analytical approaches originating in the field of human factors emphasize a hierarchical decomposition of tasks based on requirements analysis, measures of usability, and achieving performance improvements by iterative cycles of design and evaluation (Diaper, 2004). Indeed, the history of interactive system development over the past 50 years can be told by tracing how well users have been represented in the development processes and the barriers that prevented their participation (Grudin, 1990; Poltrock and Grudin, 1994). As the use environment, in all its socio-technical complexity, evolves so too does our conceptualization of “user.”

At various points in a development process, information and communications technology can augment, and even perhaps displace, face-to-face interactions between users and members of a development team. While tools—such as mailing lists, discussion forums, shared desktop applications, event capture and log file analysis, remote usability testing, and so on—have expanded the means for involving users, the question is about for what ends. How can such tools be used to improve the productivity and creativity of a development process? While they have the potential to enfranchise more people in the design, development, and evolution of a system, their merits are unclear.

I propose that the use of information and communication tools in software development will continue to progress to a stage where users will participate in design and development more richly and, as a result, will benefit more meaningfully. Perhaps we are presently in a beginning phase, with developers benefiting the most from tools; in the future, perhaps special-purpose tools will enable end-users to be more influential in design and development. To make it so, we can ask: How might information and communication technology be yoked with system design and development processes to improve user involvement, especially at the crucial stages in system's development?

In this paper, I advance a conceptual point of view on this question by pursuing two kinds of work. First, in Section 2, I review some prominent studies of FOSS1 projects and end-user programming. This analysis yields two key concepts, role differentiation and role discourse demands, which in turn lead to conjectures and a set of questions for examining how people can become involved in software development processes through information and communication technology.

Second, in Section 3, I investigate the design of del.icio.us, a breakthrough application for social bookmarking (Hammond et al., 2005; Surowieck, 2006), studying, in particular, how a community of users participated in its design and evolution. One noteworthy feature of this setting is that the early “users” of del.icio.us seem to also be its “innovators” (Rogers, 1983), providing creative input for furthering the design and development process. A second noteworthy feature is how the development process for del.icio.us is characteristic of open source software development in some respects and of packaged software development in others. This hybridization of the development process is widely applicable, but it has not yet been studied and reported in the research literature.

Finally, in Section 4, I use the comparative analysis of Section 2 and the analysis of del.icio.us in Section 3 to conceptualize more broadly how users, in taking on particular roles, can participate in information system design and development in the years to come. del.icio.us, in short, is used as a special case for examining future possibilities for how software design and development processes can be configured to more intimately involve users.

Section snippets

Design and development processes: the socio-technical approach

The overall process of software development can be seen ecologically (Nardi and O’Day, 2000; Sawyer, 2004) as an intricate configuration of information and communications technology, design representations of particular genres, documentation formats and labeling standards, social agreements that shape accepted use, and so on. Within a project's ecosystem, where the social and the technical interpenetrate, lie specialized information management subsystems for handling a team's information goods

Case study: design talk in a community of innovators

In this section, I present an analysis of the development of del.icio.us, with the aim of showing how a closed development process can nevertheless involve users through information and communication technology. The basic conjecture is that different configurations of the development process lead to different roles (role differentiation) and needs for discourse (role discourse demands). In consequence, the roles become a resource for the design and development team because they generate useful

Discussion

The modest goals of the case study and the research methods employed yield a fairly limited view of the actual design and development processes of del.icio.us. Drawing conclusions, therefore, must be done with caution. Undoubtedly, the mailing list was not the only information channel that was used in the design of del.icio.us; other channels, such as private e-mail, instant messaging, IRC chats, face-to-face discussions at conferences, and so on, were likely just as important. The Chief

Conclusion

This work, both the conceptual and empirical components, points to a trend: The design and development of many information systems will proceed simultaneously with the formation and nurturing of a community of users. To achieve this aim, design methodologies will increasingly be tailored so that users are invited to become participants in the innovation process. This move, in turn, demands new organizational capacities of teams and new designerly competencies in the setup and use of design

Acknowledgments

I wish to thank Shawn Kilburn who assisted in the analysis of the del.icio.us mailing list, my colleagues, Hala Annabi and Jen-Erik Mai, for helping to initiate and sustain this work and Kreg Hasegawa for helping to edit the manuscript.

References (62)

  • K. Crowston et al.

    Coordination practices with FLOSS development teams: the bug fixing process

  • K. Crowston et al.

    Information systems success in free and open source software development: theory and measures

    Software Process: Improvement and Practice

    (2006)
  • del.icio.us weblog, 2006. del.icio.us: y.ah.oo! 〈Weblog entry retrieved 21.10.200 from...
  • N. Diaper

    Understanding task analysis for human–computer interaction

  • P. Dourish

    The appropriation of interactive technologies: some lessons from placeless documents

    Computer Supported Cooperative Work

    (2003)
  • S. Dray et al.

    Remote possibilities?: international usability testing at a distance

    Interactions

    (2004)
  • N. Ducheneaut

    Socialization in an open-source software community: a socio-technical analysis

    Computer Supported Cooperative Work

    (2005)
  • P. Enh

    Work-Oriented Design of Computer Artifacts

    (1988)
  • D. Fisher et al.

    You are who you talk to: detecting roles in usenet newsgroups

  • G. Fischer

    Social creativity: turning barriers into opportunities for collaborative design

  • G. Fischer et al.

    Seeding, evolutionary growth and reseeding: supporting the incremental development of design environments

  • G. Fischer et al.

    Beyond binary choices: integrating individual and social creativity

    International Journal of Human–Computer Studies

    (2006)
  • C. Floyd et al.

    Out of Scandinavia: alternative approaches to software design and system development

    Human–Computer Interaction

    (1989)
  • B. Friedman

    Value Sensitive Design, Encyclopedia of Human–Computer Interaction

    (2004)
  • R.E. Grinter

    Recomposition: putting it all back together again

  • J. Grudin

    The computer reaches out: the historical continuity of interface design

  • T. Hammond et al.

    Social bookmarking tools (I)

    D-Lib Magazine

    (2005)
  • K. Henderson

    Flexible sketches and inflexible data bases: visual communication, conscription devices, and boundary objects in design engineering

    Science, Technology, and Human Values

    (1991)
  • J.D. Herbsleb et al.

    Architectures, coordination, and distance: Conway's law and beyond

    IEEE Software

    (1999)
  • D.M. Hilbert et al.

    Extracting usability information from user interface events

    ACM Computing Surveys

    (2000)
  • M.Y. Ivory et al.

    The state of the art in automating usability evaluation of user interfaces

    ACM Computing Surveys

    (2001)
  • Cited by (0)

    View full text