Supporting the Cooperative Design Process of End-User Tailoring

In most business areas today, competition is hard and it is a matter of company survival to interpret and follow up changes within the business market. The margin between success and failure is small. Possessing suitable, sustainable information systems is an advantage when attempting to stay in the front line of the business area. In order to be and remain competitive, these information systems must be up-to-date, and adapt to changes in the business environment. Keeping business systems up-to-date in a business environment such as this one, the telecom business, that changes rapidly and continuously, is a huge challenge. One way to approach this challenge is through flexibility in systems. The power of flexibility is that it keeps the system usable and relevant and allows it to evolve. This thesis is concerned with end-user tailorable software. Tailorable software makes it possible for end users to evolve an application better to fit altered business requirements and tasks. In the view of tailorable software taken in this thesis, the users should be seen as co-designers, as they take over the design of the software when it is in use. In this work, it is important that the users are aware of the possibilities and limitations of the software. However, tailoring is not enough, because the tailoring capabilities are always limited, meaning that tailoring cannot support completely unanticipated changes. The tailoring capabilities must therefore be extended, and tailoring activities must be coordinated with software evolution activities performed by professional developers. This allows the system to adapt continuously to a rapidly changing business environment and thereby live up to the intention of the system. Studies so far have tended to look at evolution from either a user perspective or a system perspective, resulting in a gap between development and use. This thesis takes an overall stand and states that it is possible to benefit from both the user and system perspectives, through collaboration between users, tailors and developers. It is necessary for users and developers to collaborate closely in order to make tailorable information systems both durable and adaptable to rapid changes in the business environment. In this way, the development of useful, sustainable software, which adapts easily to changes in an evolving environment, can be achieved. This thesis also presents a set of tools to support collaboration on equal terms between users and developers, in the technical design process of evolving the tailorable software and extending the tailoring capabilities. The toolkit aims at building a common understanding of tailoring, supporting democratic agreements and a common understanding of what kind of tailoring to implement. It makes it possible for the users to take part in technical design decisions and have a better understanding of trade-offs and system boundaries. These are key factors for the successful future evolution of a tailorable system, as it is the users who are the designers of the software during its future use. All of the research is based on field studies including participatory observations, interviews and workshops with users and developers. These studies led to the creation of prototypes and tools that act as mediating artefacts when exploring the research questions. The contribution of the thesis is twofold. Firstly, the thesis elucidates the need for a cooperative design process to ensure that end-user tailorable software remains useful and sustainable. Secondly, the thesis suggests a toolkit with four different tools to support such a cooperative design process.

[1]  Finn Kensing,et al.  Participatory Design: Issues and Concerns , 2004, Computer Supported Cooperative Work (CSCW).

[2]  S. Rosenbaum,et al.  Usability evaluations versus usability testing: when and why? , 1989 .

[3]  Bernard Mérialdo,et al.  Design of Extensible Component-Based Groupware , 1999, Computer Supported Cooperative Work (CSCW).

[4]  Andrew Clement,et al.  A retrospective look at PD projects , 1993, CACM.

[5]  S. Bodker,et al.  Computer Applications as Mediators of Design and Use-A Developmental Perspective , 1999 .

[6]  Leonard J. Bass,et al.  Identifying gaps between HCI, software engineering, and design, and boundary objects to bridge them , 2004, CHI EA '04.

[7]  Dag Johansen,et al.  Ubiquitous devices united: enabling distributed computing through mobile code , 1999, SAC '99.

[8]  Susanne Bødker,et al.  From implementation to design: tailoring and the emergence of systematization in CSCW , 1994, CSCW '94.

[9]  Gunnar Stevens,et al.  Breaking It Up: An Industrial Case Study of Component-Based Tailorable Software Design , 2006, End User Development.

[10]  Jan Bosch,et al.  A taxonomy of variability realization techniques , 2005, Softw. Pract. Exp..

[11]  Keng Siau,et al.  Enterprise integration with ERP and EAI , 2003, CACM.

[12]  C. W. Irving,et al.  Patterns and Design Adaptabili ty , .

[13]  Rogerio DePaula,et al.  Lost in translation: a critical analysis of actors, artifacts, agendas, and arenas in participatory design , 2004 .

[14]  Austin Henderson,et al.  Interaction design: beyond human-computer interaction , 2002, UBIQ.

[15]  Daniela Fogli,et al.  PIERO MUSSIO , ANTONIO PICCINNO END-USER DEVELOPMENT : THE SOFTWARE SHAPING WORKSHOP APPROACH , 2004 .

[16]  Wolf-Gideon Bleek Software-Infrastruktur: von analytischer Perspektive zu konstruktiver Orientierung , 2004 .

[17]  Jay F. Nunamaker,et al.  Systems Development in Information Systems Research , 1990, J. Manag. Inf. Syst..

[18]  Paul P. Maglio,et al.  Informative things: how to attach information to the real world , 1998, UIST '98.

[19]  Karen Holtzblatt,et al.  Contextual design , 1997, INTR.

[20]  Mary Beth Rosson,et al.  Participatory Design as Apprenticeship: Sustainable Watershed Management as a Community Computing Application , 2005, Proceedings of the 38th Annual Hawaii International Conference on System Sciences.

[21]  Martin Bichler,et al.  Design science in information systems research , 2006, Wirtschaftsinf..

[22]  G. Fischer Communities of Interest: Learning through the Interaction of Multiple Knowledge Systems , 2001 .

[23]  Xavier Ferre,et al.  A Software Architectural View of Usability Patterns , 2003 .

[24]  Volkmar Pipek,et al.  Supporting Collaborative Tailoring , 2006, End User Development.

[25]  H. Sanoff Special issue on participatory design , 2007 .

[26]  Till Schümmer,et al.  Empowering End-Users: A Pattern-Centered Groupware Development Process , 2005, CRIWG.

[27]  G. Rothermel,et al.  Software Engineering for End-User Programmers , 2003 .

[28]  Volker Wulf,et al.  How to make software softer—designing tailorable applications , 1997, DIS '97.

[29]  Susan Leigh Star,et al.  Institutional Ecology, `Translations' and Boundary Objects: Amateurs and Professionals in Berkeley's Museum of Vertebrate Zoology, 1907-39 , 1989 .

[30]  Robert O. Briggs,et al.  Recurring patterns of facilitation interventions in GSS sessions , 2004, 37th Annual Hawaii International Conference on System Sciences, 2004. Proceedings of the.

[31]  Catherine Letondal,et al.  Participatory Programming: Developing Programmable Bioinformatics Tools for End-Users , 2006, End User Development.

[32]  Pattie Maes,et al.  Hive: distributed agents for networking things , 1999, Proceedings. First and Third International Symposium on Agent Systems Applications, and Mobile Agents.

[33]  Lars Mathiassen,et al.  Three Levels of End-User Tailoring: Customization, Integration, and Extension , 2003 .

[34]  Till Schümmer,et al.  The Oregon Software Development Process , 2004, XP.

[35]  Andy Dearden,et al.  Using Pattern Languages in Participatory Design , 2012 .

[36]  Robert O. Briggs,et al.  A conceptual foundation of the thinkLet concept for Collaboration Engineering , 2006, Int. J. Hum. Comput. Stud..

[37]  Saul Greenberg,et al.  The Phidget Architecture : Rapid Development of Physical User Interfaces , 2001 .

[38]  Thomas W. Malone,et al.  Experiments with Oval: a radically tailorable tool for cooperative work , 1992 .

[39]  Roy Want,et al.  Bridging physical and virtual worlds with electronic tags , 1999, CHI '99.

[40]  Anders I. Mørch,et al.  Evolutionary growth and control in user tailorable systems , 2003 .

[41]  James Paul Dourish,et al.  Open implementation and flexibility in CSCW toolkits , 1996 .

[42]  Michael J. Muller,et al.  Participatory design through games and other group exercises , 1994, CHI Conference Companion.

[43]  Cindy Johnson,et al.  Flexible Software Design: Systems Development for Changing Requirements , 2005 .

[44]  Till Schümmer,et al.  Groupware development support with technology patterns , 2006, Int. J. Hum. Comput. Stud..

[45]  Bonnie A. Nardi,et al.  A Small Matter of Programming: Perspectives on End User Computing , 1993 .

[46]  Jan O. Borchers A pattern approach to interaction design , 2001, DIS '00.

[47]  Gregor Kiczales,et al.  Towards a new model of abstraction for the engineering o f software , 1992 .

[48]  Mary Beth Rosson,et al.  Requirements Development in Scenario-Based Design , 1998, IEEE Trans. Software Eng..

[49]  C. Floyd A Systematic Look at Prototyping , 1984 .

[50]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .

[51]  Jay F. Nunamaker,et al.  Collaboration Engineering with ThinkLets to Pursue Sustained Success with Group Support Systems , 2003, J. Manag. Inf. Syst..

[52]  Björn Regnell,et al.  Visualization of Agreement and Satisfaction in Distributed Prioritization of Market Requirements , 2000 .

[53]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture , 1996 .

[54]  Austin Henderson,et al.  There's No Place Like Home: Continuing Design in Use , 1992, Design at Work.

[55]  Bonnie A. Nardi,et al.  Gardeners and gurus: patterns of cooperation among CAD users , 1992, CHI.

[56]  Yvonne Dittrich,et al.  Designing for changing work and business practices , 2003 .

[57]  Nikolay Mehandjiev,et al.  Tailoring as Collaboration: The Mediating Role of Multiple Representations and Application Units , 1999, Computer Supported Cooperative Work (CSCW).

[58]  Leonard J. Bass,et al.  Linking usability to software architecture patterns through general scenarios , 2003, J. Syst. Softw..

[59]  David W. Lounsbury,et al.  Building Collaborative Capacity in Community Coalitions: A Review and Integrative Framework , 2001, American journal of community psychology.

[60]  Andreas Paepcke Metaobject Protocols: Why We Want Them and What Else They Can Do , 1993 .

[61]  Anders I. Mørch,et al.  Evolving a Generic Application into a Domain-oriented Design Environment , 1996, Scand. J. Inf. Syst..

[62]  Bonnie A. Nardi,et al.  Twinkling Lights and Nested Loops: Distributed Problem Solving and Spreadsheet Development , 1991, Int. J. Man Mach. Stud..

[63]  R. Goodman,et al.  Identifying and Defining the Dimensions of Community Capacity to Provide a Basis for Measurement , 1998, Health education & behavior : the official publication of the Society for Public Health Education.

[64]  Rachel Harrison,et al.  Evolution in software systems: foundations of the SPE classification scheme , 2006, J. Softw. Maintenance Res. Pract..

[65]  Tim May Representation, Responsibility and Reliability in Participant-Observation , 2002 .

[66]  Len Bass,et al.  Achieving usability through software architecture , 2001, ICSE 2001.

[67]  M.L. Griss,et al.  Software reuse architecture, process, and organization for business success , 1997, Proceedings of the Eighth Israeli Conference on Computer Systems and Software Engineering.

[68]  A. Young Sorting Things Out: Classification and Its Consequences. , 2001 .

[69]  Volker Wulf,et al.  Towards an integrated organization and technology development , 1995, Symposium on Designing Interactive Systems.

[70]  Wendy E. Mackay,et al.  Triggers and barriers to customizing software , 1991, CHI.

[71]  Kaj Grønbæk,et al.  Cooperative design: techniques and experiences from the Scandinavian scene , 1995 .

[72]  Thomas P. Moran,et al.  User-tailorable systems: pressing the issues with buttons , 1990, CHI '90.

[73]  Michael J. Muller,et al.  Methods & tools: participatory heuristic evaluation , 1998, INTR.

[74]  Salvatore T. March,et al.  Design and natural science research on information technology , 1995, Decis. Support Syst..

[75]  Lars Lundberg,et al.  End-User Development as Adaptive Maintenance , 2006, End User Development.

[76]  Masanori Sugimoto,et al.  Beyond binary choices: Integrating individual and social creativity , 2005, Int. J. Hum. Comput. Stud..

[77]  K. A. Ericsson,et al.  Protocol Analysis: Verbal Reports as Data , 1984 .

[78]  B. J. Ferro Castro,et al.  Pattern-Oriented Software Architecture: A System of Patterns , 2009 .

[79]  Donald A. Norman,et al.  Affordance, conventions, and design , 1999, INTR.

[80]  Mary Beth Rosson,et al.  End User Development of Web Applications , 2006, End User Development.

[81]  Gerhard Fischer,et al.  End-user modifiability in design environments , 1990, CHI '90.

[82]  Mark V. Springett,et al.  A comparison of usability techniques for evaluating design , 1997, DIS '97.

[83]  Daniel K. C. Chan A document-driven approach to database report generation , 1998, Proceedings Ninth International Workshop on Database and Expert Systems Applications (Cat. No.98EX130).

[84]  Steve Cisler Computer-supported cooperative work and groupware , 1988 .

[85]  Jim Waldo,et al.  The Jini architecture for network-centric computing , 1999, CACM.

[86]  Gerhard Fischer,et al.  Seeding, Evolutionary Growth, and Reseeding: Enriching Participatory Design with Informed Participation , 2002 .

[87]  Chris Zimmermann Reflections on an Adaptable Real-Time Metalevel Architecture , 1996, J. Parallel Distributed Comput..

[88]  Kaj Grønbæk,et al.  Toward a cooperative experimental system development approach , 1997 .

[89]  Larry Tesler,et al.  Novice Programming Comes of Age , 2001, Your Wish is My Command.

[90]  Mani Subramanian Network Management: An Introduction to Principles and Practice , 1999 .

[91]  Bill Serra,et al.  People, Places, Things: Web Presence for the Real World , 2000, Proceedings Third IEEE Workshop on Mobile Computing Systems and Applications.

[92]  Marc Langheinrich,et al.  First Steps Towards an Event-Based Infrastructure for Smart Things , 2000 .

[93]  Wendy E. Mackay,et al.  Participatory programming and the scope of mutual responsibility: balancing scientific, design and software commitment , 2004, PDC 04.

[94]  Susan Gasson,et al.  HUMAN-CENTERED VS. USER-CENTERED APPROACHES TO INFORMATION SYSTEM DESIGN , 2003 .

[95]  Jonathan Grudin,et al.  Seeding, Evolutionary Growth and Reseeding: The Incremental Development of Collaborative Design Environments , 2003 .

[96]  Armin B. Cremers,et al.  Tailorable component architectures for CSCW-systems , 1998, Proceedings of the Sixth Euromicro Workshop on Parallel and Distributed Processing - PDP '98 -.

[97]  Kenneth R. Fleischmann,et al.  Do-it-yourself information technology: Role hybridization and the design-use interface , 2006 .

[98]  Tom Mens,et al.  Challenges in software evolution , 2005, Eighth International Workshop on Principles of Software Evolution (IWPSE'05).

[99]  Jesper Simonsen,et al.  MUST: A Method for Participatory Design , 1998, Hum. Comput. Interact..

[100]  Wolfgang Pree,et al.  Design Patterns for Object-Oriented Software Development , 1994, Proceedings of the (19th) International Conference on Software Engineering.

[101]  Mikael Svahnberg,et al.  Supporting Software Architecture Evolution , 2003 .

[102]  Jim A. McCall,et al.  Factors in Software Quality. Volume I. Concepts and Definitions of Software Quality , 1977 .

[103]  Wendy E. Mackay,et al.  Patterns of sharing customizable software , 1990, CSCW '90.

[104]  Leonard J. Bass,et al.  Bringing Usability Concerns to the Design of Software Architecture , 2004, EHCI/DS-VIS.

[105]  Anders I. Mørch,et al.  Aspect-oriented software components , 2003 .

[106]  Tim May,et al.  Observation and Interviewing: Options and Choices in Qualitative Research , 2002 .

[107]  Morten Kyng,et al.  Cardboard Computers: Mocking-it-up or Hands-on the Future , 1992 .

[108]  Keith H. Bennett,et al.  Software maintenance and evolution: a roadmap , 2000, ICSE '00.

[109]  Weigang Wang,et al.  Tailoring Groupware: The Cooperative Hypermedia Approach , 1999, Computer Supported Cooperative Work (CSCW).

[110]  Natalia Juristo Juzgado,et al.  Improving software usability through architectural patterns , 2003, ICSE Workshop on SE-HCI.

[111]  R. Yin Case Study Research: Design and Methods , 1984 .

[112]  Lucy A. Suchman,et al.  Reflections on a Work-Oriented Design Project , 1996, Hum. Comput. Interact..

[113]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[114]  John M. Carroll,et al.  Scenario-based design: envisioning work and technology in system development: john wiley & sons , 1995 .

[115]  M.M. Lehman,et al.  Programs, life cycles, and laws of software evolution , 1980, Proceedings of the IEEE.

[116]  Oliver Stiemerling,et al.  Component based tailorability , 2000 .

[117]  Eva Olsson,et al.  What active users and designers contribute in the design process , 2004, Interact. Comput..

[118]  Murray Silverstein,et al.  A Pattern Language , 1977 .

[119]  Robert M. Davison,et al.  How a silver bullet may lose its shine , 2003, CACM.

[120]  Armando Fox,et al.  Making computers disappear: appliance data services , 2001, MobiCom '01.

[121]  Eelke Folmer,et al.  Usability Patterns in Software Architecture , 2003 .

[122]  Volker Wulf,et al.  Component-based technologies for end-user development , 2004, Commun. ACM.

[123]  Wolfgang Diestelkamp On Design Methodology for Flexible Systems , 2002 .