HCI Bibliography Home | HCI Conferences | CHASE Archive | Detailed Records | RefWorks | EndNote | Hide Abstracts
CHASE Tables of Contents: 0809101112131415

Proceedings of the 2012 International Workshop on Cooperative and Human Aspects of Software Engineering

Fullname:Proceedings of the 5th International Workshop on Co-operative and Human Aspects of Software Engineering
Editors:Helen Sharp; Yvonne Dittrich; Cleidson R. B. de Souza; Marcelo Cataldo; Rashina Hoda
Location:Zurich, Switzerland
Standard No:ISBN: 978-1-4673-1824-2; ACM DL: Table of Contents; hcibib: CHASE12
Links:Workshop Website | Umbrella Conference Website
A proposal for enhancing user-developer communication in large IT projects BIBAFull-Text 1-3
  Ulrike Abelein; Barbara Paech
A review of the literature showed that the probability of system success, i.e. user acceptance, system quality and system usage, can be increased by user-developer communication. So far most research on user participation focuses either on early or on late development phases. Especially large IT projects require increased participation, due to their high complexity. We believe that the step in software development when user requirements are translated (and thus interpreted) by developers into a technical specification (i.e. system requirements, architecture and models) is a critical one for user participation. In this step a lot of implicit decisions are taken, some of which should be communicated to the end users. Therefore, we want to create a method that enhances communication between users and developers during that step. We identified trigger points (i.e. changes on initial user requirements), and the granularity level on which to communicate with the end users. Also, representations of changes and adequate means of communication are discussed.
A redefinition of roles and collaboration under model-driven development BIBAFull-Text 4
  Jorge Aranda; Daniela Damian
We report on a disruption in organizational dynamics arising from the introduction of model-driven development tools in General Motors. The introduction altered the balance of collaboration deeply, and the organization is still negotiating with its aftermath. Our report illustrates one consequence of tool adoption in groups, and that these consequences should be understood to facilitate technical change.
ProxiScientia: toward real-time visualization of task and developer dependencies in collaborating software development teams BIBAFull-Text 5-11
  Arber Borici; Kelly Blincoe; Adrian Schröter; Giuseppe Valetto; Daniela Damian
This paper introduces ProxiScientia, a visualization tool that provides awareness support to developers, as they engage in collaborative software development activities. ProxiScientia leverages streams of fine-grained events that are generated by team members as they interact with software artifacts in their development environments. The main goal of the tool is to make each developer aware of coordination needs and opportunities as they arise, by depicting ego-centered views of the developers and tasks that most closely impact their work, and showing how they change in real time. In this paper, we illustrate the conceptualization of ProxiScientia and discuss its initial evaluation.
Augmenting social awareness in a collaborative development environment BIBAFull-Text 12-14
  Fabio Calefato; Filippo Lanubile
Social awareness, that is information that a person maintains about others in a social or conversational context, can contribute to counteract the lack of teamness in global software development and strengthen trust among remote developers. We hypothesize that information shared on social media can work for distributed software teams as a surrogate of the social awareness gained during informal face to face chats. As a preliminary step we have developed a tool that extends a collaborative development environment by aggregating content from social networks and microblogs into the developer's workspace.
What makes it hard to design instructional software?: towards a collaborative platform for stakeholders of instructional software BIBAFull-Text 15-19
  Sridhar Chimalakonda; Kesav V. Nori
People and communication between them is often ignored in software engineering even though they are crucial to the success or failure of a software project. During the life cycle of software, there is communication, cooperation and collaboration (C3) between a wide range of diversified stakeholders ranging from management team to maintenance team. We believe that the lack of emphasis on improving C3 is often the major cause for software failures. In this paper, we summarize four and half years of our experience of a analyzing a decade-long instructional software for adult literacy developed by 9 different teams spread across 9 different locations following 9 varied processes. We present the different kinds of stakeholders that we came across during this analysis and present the challenges of C3 in that context. We then present the initial facets of our solution from three major dimensions (i) designing a unifying modeling language for improving stakeholder C3 (ii) modeling information for multiple stakeholders using various modes of rendering at multiple levels of granularity (iii) harnessing the power of social networking to improve C3 among all stakeholders.
Agile software engineering as creative work BIBAFull-Text 20-26
  Broderick Crawford; Claudio León de la Barra; Ricardo Soto; Eric Monfroy
A Software Engineering project depends significantly on team performance, as does any activity that involves human interaction. In the last years, the traditional perspective on software development is changing and Agile methods have received considerable attention. Among other attributes, the agilists claim that fostering Creativity is one of the keys to response to common problems and challenges of software development today. The development of new software products requires the generation of novel and useful ideas. In this paper, eXtreme Programming (XP) is analyzed and evaluated from the perspective of the creativity, in particular the creative performance and structure required at the teamwork level.
Team effectiveness in software development: human and cooperative aspects in team effectiveness models and priorities for future studies BIBAFull-Text 27-29
  Torgeir Dingsøyr; Tore Dybå
Software development is most often done in teams, where human and cooperative aspects are vital for team effectiveness. This has been the topic of study in several disciplines, and in this article we describe three team effectiveness models from other fields. We discuss priorities for future studies on software teams, and ask: Do we need our own effectiveness model for software teams?
Supporting distributed software engineering in a fully distributed organization BIBAFull-Text 30-36
  Kevin Dullemond; Ben van Gameren; Rini van Solingen
Software engineering is increasingly carried out in distributed settings. Software engineers are becoming more nomadic in carrying out their work, working from the customer location, the headquarters of their own company, their home, or sometimes even from their holiday locations. Technological support is needed to overcome the negative impacts of distance that are introduced by this trend. The central theme in this paper for supporting dislocated software engineers lies in increasing their awareness level to a level similar to (or even exceeding) what they experience in a co-located setting. In this paper we present the context in which we are bootstrapping a custom fit environment to support a team of fully dislocated software engineers and the incremental process we use. By working in this fashion we are discovering the requirements to support fully distributed teams while at the same time providing our setting with working solutions to help them with their day to day challenges. Finally, this continuous practical use also provides us with empirical data to validate the increase in awareness levels of dislocated software engineers and helps us in pinpointing important open research challenges.
A case study of using HCI methods to improve tools for programmers BIBAFull-Text 37-39
  Andrew Faulring; Brad A. Myers; Yaad Oren; Keren Rotenberg
For more than five years, researchers at Carnegie Mellon University have been collaborating with several SAP teams to improve the usability of SAP's developer tools and programming APIs. Much research has shown that HCI techniques can improve the tools that developers use to write software. In a recent project, we applied HCI techniques to a SAP developer tool for the SAP NetWeaver Gateway product. The SAP team building this tool uses agile software development processes, which allowed them to quickly improve the tool's usability based upon the evaluations.
Wolf: supporting impact analysis activities in distributed software development BIBAFull-Text 40-46
  Mayara C. Figueiredo; Cleidson R. B. de Souza
Software development activities face several challenges when they take place in geographically distributed settings. These challenges are often related to communication, collaboration and, especially, information diffusion among team members. This is especially important in impact analysis activities where all stakeholders need to align their work to understand the impact of a change. To properly support this, it is necessary to understand the different ways in which impact analysis activities are performed. In our previous work we identified two views of impact analysis: an organizational and an individual view. The first view is important for managers to understand the impact of the changes in the activities of the team, whereas the second refers to the developers' strategies to deal with the impact of changes in their daily work. This paper discusses these views and based on them describes a tool, called Wolf, to support impact analysis activities. Our tool, based on semi-automatically generated traceability links, provides different visualizations to support communication, collaboration and information diffusion among stakeholders thereby facilitating impact analysis activities in geographically distributed settings.
A method for prioritizing end-user feedback for requirements engineering BIBAFull-Text 47-49
  Stefan Gärtner; Kurt Schneider
Today's software-intensive systems exhibit an increasing complexity due to a broad spectrum of technical and socio-technical aspects leading to rapid changes in requirements. To monitor these changes, we developed the ConTexter feedback system that enables end-user feedback submitted as narrative text enriched with multimedia attachments. Analyzing received end-user feedback is a work-intensive task. Thus, problems and changes in end-users' needs reach responsible requirements engineers after a significant delay. Automatic techniques are required to support this tasks. In this paper, we investigate whether end-user feedback can be prioritized automatically by combining keyword-based information retrieval and descriptive statistics. Moreover, we show in an evaluation that the obtained results are reasonable.
Agile vs. plan-driven perceptions of software architecture BIBAFull-Text 50-55
  Irit Hadar; Sofia Sherman
The use of agile methodologies in industry has increased significantly over the past decade, promoting the value of human-centric software development process. This growing use derives the need to adjust agile methodologies to bigger, more complex system development projects, where architecture plays a significant role. However, many believe that an essential conflict exists between the requirement of minimalism in agile methods and the need for well-defined and documented architecture in complex systems. This paper presents an exploratory study aimed at understanding the software architecture related activities as perceived by architects with and without experience in agile methodologies. The findings indicate that while architects practicing only plan-driven methodologies perceive architecture activities as being related only to the first phases of the development process, architects involved in agile projects perceive architecture activities to be related to most or all phases of the development lifecycle. The latter perceptions are consistent with suggestions expressed in the literature regarding architecture in general and in agile methodologies in particular. Based on these findings we suggest that agile methods not only lead architects to adjust their behavior to the agile philosophy, but also improve architects' perceptions and practice of architecture in general.
REIM -- an improvisation workshop format to train soft skill awareness BIBAFull-Text 56-62
  Anne Hoffmann
Teaching requirements engineering (RE) often focuses on teaching factual knowledge such as how to write requirements, how to model the architecture, where and in which format to store the retrieved data? This is however only one side of the coin, working together is all about relationship between humans. In his daily work, requirements engineers face many situations where efficient communication is needed. We expect our requirements engineer to master the situations "right", expect him to act professionally.
   Looking at the situation for professional trainings for requirements engineers however, we often do not find a sound forum to train them. The training of these human factors or soft skills as we call them, is split up from the factual knowledge such as requirements engineering methods. To our knowledge, no approach exists, to combine the training of soft skills and factual RE knowledge into one training concept.
   This paper describes a workshop format which overcomes this situation and combines soft skills and factual RE knowledge into one training. We introduce the so-called REIM (Requirements Engineering and Improvisation) format. REIM utilizes a typical session of an improvisation theater course and extends it to the area of RE by using storytelling methods. This paper explains the main principle and elements of the workshop and provides an example for illustration.
   We conclude with lessons learned from already conducted workshops and outline next steps needed to validate the workshop's efficiency in a proper case study.
Performance assessment metrics for software testers BIBAFull-Text 63-65
  Tanjila Kanij; Robert Merkel; John Grundy
The reliability of delivered software depends on the performance of the individuals responsible for testing it. However, there are currently no standard methods for assessing the performance of software testers, nor even agreement on important assessment criteria. A literature review reveals several different human-centric factors that have been suggested as important. However, the relative importance of these factors is unknown. This paper reports the results of a survey of professional testers indicating their views on the importance of a number of proposed factors. Their views, we believe, will be important in designing a more formal and widely acceptable performance assessment method for software testers.
Using the IDEAL software process improvement model for the implementation of automotive SPICE BIBAFull-Text 66-72
  Ruth Klendauer; Axel Hoffmann; Jan Marco Leimeister; Marina Berkovich; Helmut Krcmar
Most suppliers in the automotive industry are facing the challenge of implementing Automotive SPICE, a domain-specific model of ISO/IEC 15504, which was first published in 2005. Original equipment manufacturers have increasingly requested SPICE certifications from their suppliers in order to effectively evaluate the development processes and identify reliable partners. To support organizations in their software process improvement effort, the Software Engineering Institute (SEI) developed the IDEAL model. This guide is, however, influenced by the SEI's work on CMM and based on the experiences with very large organizations. The goal of this paper is to examine the suitability of the IDEAL model for the implementation of Automotive SPICE at a medium-sized R&D department. Preliminary results from an action research study at a global systems engineering company are discussed. The data indicate that adjustments are especially needed with regard to the factors participation and communication. Also, informal networks between companies, early decision-making and usability are shown to play an important role and might be added to the model.
Envisioning distributed usability evaluation through a virtual world platform BIBAFull-Text 73-75
  Benjamin Koehne; David F. Redmiles
Ideally, usability evaluation would be part of every software development project. However, it is often overlooked due to cost and time constraints. Usability inspection methods were developed to cut cost and time compared to traditional usability evaluation. However, they still bring with them certain requirements such as having multiple designers involved in the evaluation. Inspection techniques have also been shown to be difficult to learn and teach. With software development projects becoming increasingly distributed, it is ever more difficult to have sufficient participants in a usability inspection and to collaboratively learn the techniques. Motivated by these problems, we developed a novel, prototype environment called INspect-World for distributed usability inspection techniques. INspect-World is built on top of the virtual world platform OpenSimulator. As we investigate usability inspections performed in this environment, we also address ideas of human-centered end-user development in mediated communication contexts.
Representations of user feedback in an agile, collocated software team BIBAFull-Text 76-82
  Michael J. Lee; Andrew J. Ko
Support requests are a major source of feedback in software development. However, like sentences whispered in a children's telephone game, as an issue moves through a software development process, it may undergo many changes, making it difficult to ensure that the problem reported was actually fixed. To better understand how software teams preserve the integrity of user-reported issues, we observed a software team over a 6-month period, analyzing the trajectory of user requests through their software development processes. Our observations revealed several representations of issues, highlighting several points where information about an issue was lost or transformed. Although this information loss appeared to be unavoidable as an issue went through the resolution process, we found it was offset by a web of transactive memory distributed throughout the support and product teams. This memory was reinforced by asynchronous chat about recent and commonly reported issues, and shared notions of what issues should be considered severe or urgent.
What affects team behavior?: preliminary linguistic analysis of communications in the jazz repository BIBAFull-Text 83-89
  Sherlock A. Licorish; Stephen G. MacDonell
There is a growing belief that understanding and addressing the human processes employed during software development is likely to provide substantially more value to industry than yet more recommendations for the implementation of various methods and tools. To this end, considerable research effort has been dedicated to studying human issues as represented in software artifacts, due to its relatively unobtrusive nature. We have followed this line of research and have conducted a preliminary study of team behaviors using data mining techniques and linguistic analysis. Our data source, the IBM Rational Jazz repository, was mined and data from three different project areas were extracted. Communications in these projects were then analyzed using the LIWC linguistic analysis tool. We found that although there are some variations in language use among teams working on project areas dedicated to different software outcomes, project type and the mix of (and number of) individuals involved did not affect team behaviors as evident in their communications. These assessments are initial conjectures, however; we plan further exploratory analysis to validate these results. We explain these findings and discuss their implications for software engineering practice.
Getting at ephemeral flaws BIBAFull-Text 90-92
  Tamara Lopez; Marian Petre; Bashar Nuseibeh
Software rarely works as intended when it is initially written. Things go wrong, and developers are commonly understood to form theories and strategies to deal with them. Much of this knowledge relates to ephemeral flaws rather than reported bugs, and is not captured in the software record. As a result, these flaws and understanding about them are neglected in software engineering research. In this paper we describe a study designed to elicit stories from software developers about problems they encounter in their daily work. We also offer preliminary thoughts about the utility of retrospective interviewing in getting at information about ephemeral flaws.
An approach for collaborative code reviews using multi-touch technology BIBAFull-Text 93-99
  Sebastian Müller; Michael Würsch; Thomas Fritz; Harald C. Gall
Code reviews are an effective mechanism to improve software quality, but often fall short in the development of software. To improve the desirability and ease of code reviews, we introduce an approach that explores how multi-touch interfaces can support code reviews and can make them more collaborative. Our approach provides users with features to collaboratively find and investigate code smells, annotate source code and generate review reports using gesture recognition and a Microsoft Surface Table. In a preliminary evaluation, subjects generally liked the prototypical implementation of our approach for performing code review tasks.
Tangible software modeling with multi-touch technology BIBAFull-Text 100-104
  Sebastian Müller; Michael Würsch; Pascal Schöni; Giacomo Ghezzi; Emanuel Giger; Harald C. Gall
This paper describes a design study that explores how multi-touch devices can provide support for developers when carrying out modeling tasks in software development. We investigate how well a multi-touch augmented approach performs compared to a traditional approach and if this new approach can be integrated into existing software engineering processes. For that, we have implemented a fully-functional prototype, which is concerned with agreeing on a good object-oriented design through the course of a Class Responsibility Collaboration (CRC) modeling session. We describe how multi-touch technology helps with integrating CRC cards with larger design methodologies, without loosing their unique physical interaction aspect. We observed high-potential in augmenting such informal sessions in software engineering with novel user interfaces, such as those provided by multi-touch devices.
How can research about software developers generalize? BIBAFull-Text 105-109
  Emerson Murphy-Hill; Laurie Willaims
Research that studies software developers can have a larger impact when its results generalize to other contexts. However, it is often unclear if, how, and why such results generalize. In this position paper, we aim to motivate software engineering researchers to generalize their findings. To meet this aim, we firstly enumerate the dimensions in which software engineering generalizations are made, and secondly, propose several practical ways researchers can make their work more generalizable. In meeting our aim, we hope to help the software engineering research community maximize their impact outside of software engineering.
Competition on inter-organizational collaboration from an organizational-social-technical perspective BIBAFull-Text 110-112
  Anh Nguyen Duc; Daniela S. Cruzes; Reidar Conradi
Benefiting from inter-organizational collaboration while remaining competitive are organizations' target in software industry nowadays. However, little is known about competition awareness and collaboration processes and practices in software-intensive organizations. This paper introduces the first step to understand the role and impact of competition on team collaboration in the context of inter-organizational software project. A case study was designed and initially performed. Initial findings revealed a set of propositions for future research. We found that collaboration initiates from technical coordination requirement and is influenced by technical, social and organizational factors. Meanwhile, competition comes from business strategy and competition awareness could negatively influence effectiveness of social-technical collaboration. Future works will focus on the mutual influence between competition and collaboration and role of global dispersion on this interaction.
Documentation practices in scientific software development BIBAFull-Text 113-119
  Aleksandra Pawlik; Judith Segal; Marian Petre
This paper focuses on documentation practices in scientific software development and takes into account two perspectives: that of scientists who develop software (scientists-developers) and of those scientists who use it. We describe documentation practices of scientists-developers. We also explore the role of users' community in scientific software documentation. We compare our findings to studies about documentation practices of professional software developers and discuss how production of documentation in scientific software development can be supported.
The mystery of the writing that isn't on the wall: differences in public representations in traditional and agile software development BIBAFull-Text 120-122
  Marian Petre; Helen Sharp; Sallyann Freudenberg
This paper considers the use of public displays, such as whiteboards and papers pinned to walls, by different software development teams, based on evidence from a number of empirical studies. This paper outlines differences in use observed between traditional and agile teams and begins to identify the implications that they may have for software development.
Why developers don't pair more often BIBAFull-Text 123-125
  Laura Plonka; Janet van der Linden
Applying pair programming in industrial settings can be challenging. This study extends the existing knowledge on applying pair programming in industrial settings by interviewing 31 developers from 4 different companies. We investigate how often developers practice pair programming as opposed to working by themselves, whether developers would prefer to use PP more often or less often, and which aspects hinder the use of pairing. We found that the majority of developers use PP only for 10% of their development time but would like to use it more often. Moreover, our results indicate that organisational issues can hinder the use of PP.
First results from an investigation into the validity of developer reputation derived from wiki articles and source code BIBAFull-Text 126-128
  Christian R. Prause; Markus Eisenhauer
The internal quality of software is often neglected by developers for various reasons like time pressure or a general dislike for certain activities. Yet internal quality is important to speed up development and to keep software maintainable. We present a way to use reputation systems to improve the internal quality of software by putting artifacts like wiki articles and source code under their control. Specifically, we show that reputation scores derived from such artifacts reflect actual reputation in the developer community using data from a work group wiki and an open source project.
Feedback: how does it impact software engineers? BIBAFull-Text 129-131
  Rien Sach; Marian Petre
Feedback happens all the time in software development environments, but little is known about the impact it has. Motivation theory identifies feedback as an important factor, but doesn't consider the impact of different feedback characteristics. We present the results of a scenario-based study with 16 software engineers. Our study suggests that positive feedback has an impact on job satisfaction while negative feedback impacts behaviour. Motivation and productivity were found to be linked in just 20% of positive feedback scenarios.
Identifying the need for a sustainable architecture maintenance process BIBAFull-Text 132-134
  Sofia Sherman; Irit Hadar
Documentation plays a significant role in software development in general and in software architecture in particular. In large and complex systems, many changes affecting architecture and architectural documentation occur. This derives the need for constant changes within architecture documents in order to keep them up to date. This research in-progress aims to understand the current state of architecture maintenance towards proposing a solution for improving this practice via a well-defined process and supporting tools.
Attitude and usage of collaboration tools in GSE: a practitioner oriented theory BIBAFull-Text 135-137
  Yi Wang; Erik Trainer; Ban Al-Ani; Sabrina Marczak; David Redmiles
Collaboration tools support global software engineering (GSE) by providing relevant information and work context to developers, essentially seeking to provide a local context for developers working globally. Although many collaborative tools have been developed, we have insufficient knowledge of how they are used in practice. In this paper, we review the recent empirical studies on collaboration tools for GSE. Then we theorize a conceptual framework that aims to explain how the unique contextual dimensions of GSE (e.g. culture diversity and adaptation, etc.) influence practitioners' attitudes toward, and usage of, the tools. The conceptual framework will guide our future empirical studies, and it will be refined by the empirical evidence collected in these studies.
An exploratory study of backtracking strategies used by developers BIBAFull-Text 138-144
  YoungSeok Yoon; Brad A. Myers
Developers frequently backtrack while coding. They go back to an earlier state by removing inserted code or by restoring removed code for various reasons. However, little is known about when and how the developers backtrack, and modern IDEs do not provide much assistance for backtracking. As a first step towards gathering baseline knowledge about backtracking and designing more robust backtracking assistance tools in modern IDEs, we conducted an exploratory study with 12 professional developers and a follow-up online survey. Our study revealed several barriers they faced while backtracking. Subjects often manually commented and uncommented code, and often had difficulty finding relevant parts to backtrack. Backtracking was reported to be needed by 3/4 of the developers at least "sometimes".