Public participation in proprietary software development through user roles and discourse
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)
- et al.
Supporting creative and reflective processes
International Journal of Human–Computer Studies
(2006) - et al.
Twinkling lights and nested loops: distributed problem solving and spreadsheet development
International Journal of Man–Machine Studies
(1991) - et al.
Co-ordinating joint design work: the role of communication and artefacts
Design Studies
(1998) How expert engineering teams use disciplines of innovation
Design Studies
(2004)Communication roles that support collaboration during the design process
Design Studies
(1996)- Absolutely Del.icio.us Tools Collection, 2006. Retrieved 10.21.2006 from...
- et al.
Transcending the individual human mind: creating shared understanding through collaborative design
ACM Transactions on CHI
(2000) Designing Engineers
(1994)How do committees invent?
Datamation
(1968)- Crowston, K., Howison, J., 2005. The social structure of free and open source software development. First Monday,...