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

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

Fullname:6th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE)
Editors:Rafael Prikladnicki; Rashina Hoda; Marcelo Cataldo; Helen Sharp; Yvonne Dittrich; Cleidson R. B. de Souza
Location:San Francisco, California
Standard No:ISBN: 978-1-4673-6289-4 hcibib: CHASE13
Links:Online Proceedings | Conference Website
  1. Full Papers
  2. Short Papers
  3. Position Papers

Full Papers

Differences in Jazz project leaders' competencies and behaviors: A preliminary empirical investigation BIBAKFull-Text 1-8
  S. A. Licorish; S. G. MacDonell
Studying the human factors that impact on software development, and assigning individuals with specific competencies and qualities to particular software roles, have been shown to aid software project performance. For instance, prior evidence suggests that extroverted software project leaders are most successful. Role assignment based on individuals' competencies and behaviors may be especially relevant in distributed software development contexts where teams are often affected by distance, cultural, and personality issues. Project leaders in these environments need to possess high levels of interpersonal, intra-personal and organizational competencies if they are to appropriately manage such issues and maintain positive project performance. With a view to understanding and explaining the specific competencies and behaviors that are required of project leaders in these settings, we used psycholinguistic and directed content analysis to study the way six successful IBM Rational Jazz leaders operated while coordinating their three distributed projects. Contrary to previous evidence reported in personality studies, our results did not reveal universal competencies and behaviors among these Jazz leaders. Instead, Jazz project leaders' competencies and behaviors varied with their project portfolio of tasks. Our findings suggest that a pragmatic approach that considers the nature of the software tasks being developed is likely to be a more effective strategy for assigning leaders to distributed software teams, as against a strategy that promotes a specific personality type. We discuss these findings and outline implications for distributed software project governance.
Keywords: cultural aspects; distributed programming; human factors; human resource management; software development management; IBM Rational Jazz leaders; Jazz project leader behaviors; Jazz project leader competencies; cultural issues; directed content analysis; distributed software development; distributed software project governance; distributed software teams; extroverted software project leaders; human factors; interpersonal competencies; intra-personal competencies; organizational competencies; personality issues; positive project performance maintenance; project portfolio; psycholinguistic analysis; role assignment; software project performance; software roles; software tasks; Context; Encoding; Lead; Pragmatics; Project management; Psychology; Software; Jazz; Software development; competencies and behaviors; content analysis; project leaders; psycholinguistics
Motivation of software engineers: A qualitative case study of a research and development organisation BIBAKFull-Text 9-16
  A. C. C. França; A. C. M. L. de Araujo; F. Q. B. Da Silva
Understanding motivation of software engineers has important implications for industrial practice. This complex construct seems to be affected by diverse environmental conditions and can affect multiple dimensions of work effectiveness. In this article, we present a grounded theory that describes the motivation of software engineers working in a not-for-profit private research and development organisation. We carried out a holistic case study for seven months, using structured interviews, diary studies, and documental analysis for data collection, and grounded theory techniques for data analysis and synthesis. The results point to task variety and technical challenges as the main drivers of motivation, and inequity and high workload (caused by poor estimations in the software process) as the main obstacles to motivation in the organisation.
Keywords: data analysis; environmental factors; research and development; software engineering; data analysis; data collection; data synthesis; diary studies; documental analysis; environmental conditions; grounded theory; industrial practice; not-for-profit private research and development organisation; software engineering; structured interviews; Context; Data collection; Employment; Engineering profession; Interviews; Software; Software engineering; People motivation; people management; qualitative case study; software development; software engineering
Collaborative bug triaging using textual similarities and change set analysis BIBAKFull-Text 17-24
  K. Kevic; S. C. Müller; T. Fritz; H. C. Gall
Bug triaging assigns a bug report, which is also known as a work item, an issue, a task or simply a bug, to the most appropriate software developer for fixing or implementing it. However, this task is tedious, time-consuming and error-prone if not supported by effective means. Current techniques either use information retrieval and machine learning to find the most similar bugs already fixed and recommend expert developers, or they analyze change information stemming from source code to propose expert bug solvers. Neither technique combines textual similarity with change set analysis and thereby exploits the potential of the interlinking between bug reports and change sets. In this paper, we present our approach to identify potential experts by identifying similar bug reports and analyzing the associated change sets. Studies have shown that effective bug triaging is done collaboratively in a meeting, as it requires the coordination of multiple individuals, the understanding of the project context and the understanding of the specific work practices. Therefore, we implemented our approach on a multi-touch table to allow multiple stakeholders to interact simultaneously in the bug triaging and to foster their collaboration. In the current stage of our experiments we have experienced that the expert recommendations are more specific and useful when the rationale behind the expert selection is also presented to the users.
Keywords: program debugging; text analysis; bug report identification; change information analysis; change set analysis; collaborative bug triaging; information retrieval; machine learning; multitouch table approach; software developer; source code; textual similarity; work item; Collaboration; Computer bugs; Data models; Prototypes; Software; User interfaces; Vectors; bug triaging; collaboration; expert recommendation; multi-touch
Why do newcomers abandon open source software projects? BIBAKFull-Text 25-32
  I. Steinmacher; I. Wiese; A. P. Chaves; M. A. Gerosa
Open source software projects, are based on volunteers collaboration and require a continuous influx of newcomers for their continuity. Newcomers face difficulties and obstacles when starting their contributions, resulting in a low retention rate. This paper presents an analysis of the first interactions of newcomers on a project, checking if the dropout may have been influenced by lack of answer, answers politeness and helpfulness, and the answer author. We have collected five years data from the developers' mailing list communication and issue manager (Jira) discussions of the Hadoop Common project. We observed developers' communication, identifying newcomers and classifying questions and answers content. In the analyzed period, less than 20% of newcomers became long-term contributors. There are evidences that the newcomers decision to abandon the project was influenced by the authors of the answers and by the type of answer received. However, the lack of answer was not evidenced as a factor that influences newcomers' decision to remain or abandon the project.
Keywords: groupware; public domain software; software development management; Hadoop Common project; collaboration; open source software project; Brain modeling; Communities; Data mining; Electronic mail; Open source software; Newcomer; collaboration; communication; open source software; retention
Emergence of developer teams in the collaboration network BIBAKFull-Text 33-40
  B. Caglayan; A. B. Bener; A. Miranskyy
Developer teams may naturally emerge independent of managerial decisions, organizational structure, or work locations in large software. Such self organized collaboration teams of developers can be traced from the source code repositories. In this paper, we identify the developer teams in the collaboration network in order to present the work team evolution and the factors that affect team stability for a large, globally developed, commercial software. Our findings indicate that: a) Number of collaboration teams do not change over time, b) Size of the collaboration teams increases over time, c) Team activity is not related with team size, d) Factors related to team size, location and activity affect the stability of teams over time.
Keywords: organisational aspects; software development management; source coding; collaboration network; commercial software; large software; managerial decisions; organizational structure; self organized developer collaboration teams; source code repositories; team activity; team stability; work locations; Clustering algorithms; Collaboration; Communities; Correlation; Market research; Software; Stability analysis
How software architects collaborate: Insights from collaborative software design in practice BIBAKFull-Text 41-48
  Jae Young Bang; I. Krka; N. Medvidovic; N. Kulkarni; S. Padmanabhuni
The increasingly complex software systems are developed by globally distributed engineering teams consisting of a number of members who collaborate to gather the requirements, as well as design, implement, and test the system. Unlike other development activities, collaborative software design has not yet been studied extensively, and thus it is not fully understood how it is conducted in practice. We have commenced a series of studies to address this. As the first step, we have interviewed architects at a global software solutions provider to observe how collaborative software design works in practice. In this paper, we report the observations and insights we gained from the interviews related to (1) the various roles of software architects in collaborative software design, (2) the project-specific networks of software architects, (3) the impacts of geographic distribution, and (4) the collaboration cost drivers. We also discuss how we are using these insights to shape up our subsequent research.
Keywords: distributed processing; groupware; software architecture; collaboration cost drivers; collaborative software design; distributed engineering; geographic distribution; global software solutions; software architecture collaboration; software systems; Collaborative software; Computer architecture; Interviews; Organizations; Software; Topology
The rise and fall of a central contributor: Dynamics of social organization and performance in the GENTOO community BIBAKFull-Text 49-56
  M. S. Zanetti; I. Scholtes; C. J. Tessone; F. Schweitzer
Social organization and division of labor crucially influence the performance of collaborative software engineering efforts. In this paper, we provide a quantitative analysis of the relation between social organization and performance in Gentoo, an Open Source community developing a Linux distribution. We study the structure and dynamics of collaborations as recorded in the project's bug tracking system over a period of ten years. We identify a period of increasing centralization after which most interactions in the community were mediated by a single central contributor. In this period of maximum centralization, the central contributor unexpectedly left the project, thus posing a significant challenge for the community. We quantify how the rise, the activity as well as the subsequent sudden dropout of this central contributor affected both the social organization and the bug handling performance of the Gentoo community. We analyze social organization from the perspective of network theory and augment our quantitative findings by interviews with prominent members of the Gentoo community which shared their personal insights.
Keywords: Linux; program debugging; public domain software; GENTOO community; Linux distribution; bug handling performance; bug tracking system; central contributor; collaboration dynamics; collaboration structure; collaborative software engineering; labor division; maximum centralization; network theory; open source community; social organization; Collaboration; Communities; Computer bugs; Network topology; Organizations; Peer-to-peer computing; Topology
Cooperation wordle using pre-attentive processing techniques BIBAKFull-Text 57-64
  I. Fronza; A. Janes; A. Sillitti; G. Succi; S. Trebeschi
Developer turnover can result in a major problem when developing software. Senior developers leaving the team cause a loss of knowledge; on the other hand, new developers need some time to become fully productive. In this paper, we propose to use a wordle to visualize quickly the level of cooperation of the team in the project. Each word is the name of a class; the size of the word depends on the total effort spent by the team on the corresponding class, and the color is determined by the percentage of team working on the class. We applied pre-attentive processing techniques in the designing phase, so that the user can find out quickly those classes requiring high effort of a small part of the team. This information allows to take corrective actions, such as re-allocating some resources. Thus, this visualization can help in mitigating the knowledge loss and the slowing down due to turnover. On the base of our wordle, we describe four possible cases of development activities. A sample application of our visualization, in the context of a multi-developer project, shows concretely its potentials. We checked, through simulations, that the interpretation of our wordles remains the same for color blind users.
Keywords: handicapped aids; program visualisation; project management; resource allocation; software development management; team working; color blind observers; cooperation wordle; corrective actions; knowledge loss mitigation; multideveloper project; pre-attentive processing techniques; resource reallocation; software development; software visualization; team cooperation; team working; Color; Context; Data visualization; Image color analysis; Software; Team working; Visualization; Cooperation; Effort; Software visualization; Turnover; Visual perception; Wordle
Social media in transparent work environments BIBAKFull-Text 65-72
  J. Tsay; L. Dabbish; J. D. Herbsleb
Social media is being integrated into work environments making them more transparent. When the work environment is transparent, it has the potential to allow projects to transmit information about work artifacts and events quickly through a large network. Using signaling theory, we propose a theory that users interpret this information and then make work-related decisions about attention and effort allocation in a principled manner. In the open source context of voluntary participation, broadcast activity information act as signals that allow developers to make highly informed choices about where to expend their attention and effort and with whom to collaborate. We propose four potential signals from literature and interviews with developers in our research setting and discuss the implications for social media in software development environments.
Keywords: decision making; multimedia computing; public domain software; social networking (online); software development management; broadcast activity information; decision making; information transmission; open source software; signaling theory; social media; software development environment; transparent work environment; voluntary participation; Communities; Electronic publishing; Information services; Interviews; Media; Production; Social network services; Social media; open source; signaling theory; social computing; software development; transparency

Short Papers

A qualitative study about the life cycle of lessons learned BIBAKFull-Text 73-76
  D. Viana; J. Rabelo; T. Conte; A. Vieira; E. Barroso; M. Dib
Software activities are executed by people and demand great knowledge. For this reason, knowledge dissemination activities are important in software organizations. One of the ways of sharing knowledge is through the practice of lessons learned dissemination. The form of dissemination could help to clarify questions about how lessons learned are shared in the organization. This paper aims to analyze the life cycle of lessons learned in a software organization, in order to understand how they are treated during the course of the projects. Results show that discussions of the lessons encourage the exchange of knowledge between the team members. However, it is necessary to improve the form of knowledge dissemination in all the organization, as well as encourage learning this knowledge.
Keywords: DP industry; knowledge management; project management; software management; team working; knowledge dissemination activities; knowledge exchange; knowledge sharing; lessons learned dissemination; lessons learned life cycle; project; software activities; software organizations; team members; Interviews; Knowledge management; Monitoring; Organizations; Registers; Software; Software engineering; Knowledge management; ethnography; interviews; lessons learned; qualitative analysis
A study of architectural decision practices BIBAKFull-Text 77-80
  T. D. LaToza; E. Shabani; A. Van der Hoek
Architectural decisions shape a software architecture and determine its ability to meet its requirements. To better understand architectural decisions in practice, we interviewed developers at two organizations. The results revealed that architectural decisions often become technology decisions, which are in turn influenced by both technical and social factors. Meetings and knowledge repositories help to communicate architectural decisions, but code reviews are ultimately necessary to ensure conformance. Costly changes to architectural decisions are caused by the discovery of an Achilles' heel, an important scenario that cannot be supported by an architectural decision. These findings suggest an important need for social development tools that help developers more easily and successfully share valuable technology knowledge and more effectively make technology choices.
Keywords: organisational aspects; software architecture; software development management; Achilles heel; architectural decision practices; knowledge repositories; organizations; social development tools; social factors; software architecture; technical factors; technology choices; technology decisions; valuable technology knowledge; Companies; Computer architecture; Databases; Decision making; Software; Software architecture; architectural decisions; architecture; developer practices; empirical study
App-directed learning: An exploratory study BIBAKFull-Text 81-84
  J. Sillito; A. Begel
Learning a new platform is a common, yet difficult task for software developers today. A range of resources, both official resources (i.e., those provided by the platform owner) and those provided by the wider developer community are available to help developers. To increase our understanding of the learning process and the resources developers use, we conducted an interview and diary study in which ten developers told us about their experience learning to develop Windows Phone applications. We report on a preliminary analysis of our data viewed through the lens of self-directed learning. Using this lens, we characterize the learning strategies of our subjects as app-directed, and describe some of the particular challenges our subjects faced due to this strategy.
Keywords: learning (artificial intelligence); software engineering; Windows phone applications; app-directed learning; official resources; platform owner; resources developers; self-directed learning; software developers; Blogs; Communities; Context; Documentation; Encoding; Interviews; Software
Crowd development BIBAKFull-Text 85-88
  T. D. LaToza; W. Ben Towne; A. Van der Hoek; J. D. Herbsleb
Crowd development is a development process designed for transient workers of varying skill. Work is organized into microtasks, which are short, self-descriptive, and modular. Microtasks recursively spawn microtasks and are matched to workers, who accrue points reflecting value created. Crowd development might help to reduce time to market and software development costs, increase programmer productivity, and make programming more fun.
Keywords: cost reduction; groupware; software engineering; time to market; crowd development; modular microtasks; programmer productivity; self-descriptive microtasks; short microtasks; software development cost reduction; time to market reduction; transient workers; Educational institutions; Games; Programming; Software; Software engineering; Testing; Transient analysis; crowdsourcing; distributed development; gamification; social software development
Improving developer participation rates in surveys BIBAKFull-Text 89-92
  E. Smith; R. Loftin; E. Murphy-Hill; C. Bird; T. Zimmermann
Doing high quality research about the human side of software engineering necessitates the participation of real software developers in studies, but getting high levels of participation is a challenge for software engineering researchers. In this paper, we discuss several factors that software engineering researchers can use when recruiting participants, drawn from a combination of general research on survey design, research on persuasion, and our experience in conducting surveys. We study these factors by performing post-hoc analysis on several previously conducted surveys. Our results provide insight into the factors associated with increased response rates, which are neither wholly composed of factors associated strictly with persuasion research, nor those of conventional wisdom in software engineering.
Keywords: software engineering; post-hoc analysis; software developer participation rates; software engineering researchers; survey design; Educational institutions; Electronic mail; Guidelines; Medical services; Psychology; Software; Software engineering; participation; software developers; surveys
What is social debt in software engineering? BIBAKFull-Text 93-96
  D. A. Tamburri; P. Kruchten; P. Lago; H. van Vliet
"Social debt" in software engineering informally refers to unforeseen project cost connected to a "suboptimal" development community. The causes of suboptimal development communities can be many, ranging from global distance to organisational barriers to wrong or uninformed socio-technical decisions (i.e., decisions that influence both social and technical aspects of software development). Much like technical debt, social debt impacts heavily on software development success. We argue that, to ensure quality software engineering, practitioners should be provided with mechanisms to detect and manage the social debt connected to their development communities. This paper defines and elaborates on social debt, pointing out relevant research paths. We illustrate social debt by comparison with technical debt and discuss common real-life scenarios that exhibit "sub-optimal" development communities.
Keywords: social aspects of automation; software engineering; global distance; organisational barriers; social aspects; social debt detection; social debt management; socio-technical decisions; software development; software engineering quality; suboptimal development communities; suboptimal development community; technical aspects; Collaboration; Communities; Companies; Open source software; Software engineering; Visualization; Global Software Engineering; Human Factors in Software Engineering; Social Communities; Social Debt; Social Networks; Social Structure; Software Architecture; Software Engineering; Technical Debt
On the development of a theoretical model of the impact of trust in the performance of distributed software projects BIBAKFull-Text 97-100
  S. Marczak; V. Gomes
Trust is often defined as the belief that the trustee will meet the positive expectations of the trustor. Although several studies have discussed the topic, little is still known about the impact of trust (or lack of it) in the performance of distributed software projects. In this paper we present initial findings of an empirically informed study that aimed to identify which factors influence positively or negatively one's perceived trustworthiness of others in the project and the impact of such factors on specific project performance measures. Availability, competence, expertise, face-to-face communication, and leadership are among the factors considered to positively influence the development of trust and the consequent achievement of performance metrics. This is a first step on a larger investigation aiming to develop a theoretical model of the impact of trust in the performance of distributed software projects. Such a model can be used by researchers as a reference framework to further investigate the topic and by practitioners to better manage and organize distributed software teams.
Keywords: distributed processing; software engineering; trusted computing; competence; distributed software project; expertise; face-to-face communication; leadership; project performance measures; trustworthiness; Availability; Companies; Instruments; Lead; Measurement; Productivity; Software; Distributed software development; empirical study; project performance; theoretical model; trust; trust influential factors
Toward social-technical code search BIBAKFull-Text 101-104
  L. Martie; A. Van der Hoek
With the vast amount of source code that is publicly available today, searching for code has become an integral part of the programming experience. While a few dedicated code search engines are available, we contend in this paper that they have not nearly reached their full potential. Particularly, we believe that it is necessary for code search engines to not merely index code, but also construct a rich network of social-technical information that surrounds that code. With such information, much richer queries can be issued and novel interfaces can be built through which the results of such queries can be explored more intuitively. We make the case for social-technical code search, introduce six categories of social-technical information and how it would enhance search, and briefly introduce CodeExchange, our prototype platform we are developing to explore social-technical code search.
Keywords: query processing; search engines; software reusability; source coding; CodeExchange; code search engines; programming experience; richer queries; social-technical code search; social-technical information; source code; Conferences; Data mining; Java; Programming; Prototypes; Search engines; Software; IDE; code search; social-technical information
Exploring social structures in Extended Team Model BIBAKFull-Text 105-108
  M. Zahedi; M. A. Babar
Extended Team Model (ETM) as a type of offshore outsourcing is increasingly becoming popular mode of Global Software Development (GSD). There is little knowledge about the social structures in ETM and their impact on collaboration. Within a large interdisciplinary project to develop the next generation of GSD technologies, we are exploring the role of social structures to support collaboration. This paper reports some details of our research design and initial findings about the mechanisms to support social structures and their impact on collaboration in an ETM.
Keywords: groupware; outsourcing; software engineering; ETM; GSD; extended team model; global software development; large-interdisciplinary project; offshore outsourcing; social structures; Buildings; Collaboration; Outsourcing; Resource management; Social network services; Software; Software engineering; Global software development; case study; extended team model; social networks; social structures
Towards collaboration-centric pattern-based software development support BIBAKFull-Text 109-112
  C. Dorn; A. Egyed
Software engineering activities tend to be loosely coupled to allow for flexibly reacting to unforeseen development complexity, requirements changes, and progress delays. This flexibility comes a the price of hidden dependencies among design and code artifacts that make it difficult or even impossible to assess change impact. Incorrect change propagation subsequently results in costly errors. This position paper proposes a novel approach based on monitoring engineering activities for subsequent high-level pattern detection. Patterns of (i) collaboration structures, (ii) temporal action sequences, and (iii) artifact consistency constraints serve as input to recommendation and automatic reconfiguration algorithms for ultimately avoiding and correcting artifact inconsistencies.
Keywords: groupware; software development management; artifact inconsistency constraint; automatic reconfiguration algorithm; code artifact; collaboration centric pattern-based software development; collaboration structure; design artifact; engineering activity monitoring; pattern detection; temporal action sequence; Adaptation models; Collaboration; Computer architecture; Software; Software engineering; Uncertainty; Unified modeling language; collaboration structures; monitoring; pattern detection; recommendation; software engineering
An examination of shared understanding in free/libre open source project maintenance BIBAKFull-Text 113-116
  B. Braunschweig; C. Seaman
Many problems in software development are rooted in the difficulties of coordination and communication in the software development team. Aranda's Theory of Shared Understanding for Software Organizations explains the role of shared understanding in coordination and suggests four attributes of team interaction that influence shared understanding and, therefore, the quality of coordination. To find evidence supporting this theory, we investigated cases of rework in the bug fixing activities of a Free/Libre Open Source software project. We look at the role of coordination breakdown in these cases of rework and examine them in terms of the theory. We found overall coordination patterns that are consistent with the Theory but we do not find evidence that a lack of shared understanding was a factor of rework in the cases examined.
Keywords: program debugging; public domain software; software maintenance; bug fixing activities; free open source software project maintenance; libre open source software project maintenance; shared understanding; software development; Communication channels; Electric breakdown; Maintenance engineering; Media; Open source software; Organizations; Coordination; Free and Open Source Software; Shared Understanding; Software Maintenance
Using experimental games to understand communication and trust in Agile software teams BIBAKFull-Text 117-120
  E. Hasnain; T. Hall; M. Shepperd
Trust plays an important role in enabling software development teams to function effectively. Trust between individual team members has been shown to improve the independence of software teams and reduce the amount of project management effort required by those teams. Our main aims are to investigate (i) the impact communication has on trust between team members in Agile software development and (ii) the usefulness of iterated games as an experimental methodology. We use Game Theory in a simulated Agile development environment. We run 28 iterated games with 56 practitioner and student participants. Stand-up meetings are used as the communication intervention compared to games without such meetings to assess the levels of trust. Our findings are that increased communication has a very large positive effect upon the level of trust between team members in an Agile setting. Our results suggest that communication improves trust in development teams. Opportunities for communication should be built into development processes. Experimental games are a complementary (to qualitative approaches) and effective method for investigating human issues in software engineering.
Keywords: game theory; human factors; project management; security of data; software prototyping; agile software development teams; communication understanding; experimental games; game theory; human issues; iterated games; project management effort reduction; software engineering; software team independence improvement; trust understanding; Educational institutions; Game theory; Games; Linear matrix inequalities; Software; Software engineering; Standards; Agile Methods; Game Theory; Software engineering; communication; iterated experimental games; stand-up meetings; trust
Less is more: Architecture documentation for agile development BIBAKFull-Text 121-124
  I. Hadar; S. Sherman; E. Hadar; J. J. Harrison
The use of agile development methodologies in the software industry has increased significantly over the past decade. This has led to efforts to adjust these methodologies to enterprise products and complex systems' development, and specifically to combine the requirement of minimalism with the need for well-defined up-front architecture artifacts. Nevertheless, in many cases, architecture is accompanied with extensive documentation that requires significant effort to review and maintain throughout the development lifecycle. This paper presents a case study that aims at identifying difficulties architects and other stakeholders encounter when dealing with architecture documentation in agile development. The findings indicate that the architecture specification document is usually very long, complex, and not self-explanatory. In order to adjust the architecture documentation to the lean and minimal documentation approach of agile processes, we propose a considerably shorter abstract specification document, requiring reduced documentation efforts and resulting in a lean documentation that is easier to review, update, and communicate.
Keywords: abstracting; formal specification; large-scale systems; software architecture; software houses; software prototyping; system documentation; abstract specification document; agile development; architecture documentation; architecture specification document; complex system development; development lifecycle; enterprise products; software industry; up-front architecture artifacts; Abstracts; Computer architecture; Documentation; Face; Information systems; Software; Software architecture; Software architecture in agile development; architecture documentation
How does Kanban impact communication and collaboration in software engineering teams? BIBAKFull-Text 125-128
  N. Oza; F. Fagerholm; J. Munch
Highly iterative development processes such as Kanban have gained significant importance in industry. However, the impact of such processes on team collaboration and communication is widely unknown. In this paper, we analyze how the Kanban process aids software team's behaviors -- in particular, communication and collaboration. The team under study developed a mobile payment software product in six iterations over seven weeks. The data were collected by a questionnaire, repeated at the end of each iteration. The results indicate that Kanban has a positive effect at the beginning to get the team working together to identify and coordinate the work. Later phases, when the team members have established good rapport among them, the importance for facilitating team collaboration could not be shown. Results also indicate that Kanban helps team members to collectively identify and surface the missing tasks to keep the pace of the development harmonized across the whole team, resulting into increased collaboration. Besides presenting the study and the results, the article gives an outlook on future work.
Keywords: electronic money; kanban; mobile computing; project management; software development management; team working; Kanban process; highly iterative development process; kanban; mobile payment software product; software engineering team; software team behavior; team collaboration; team communication; team members; team working; work coordination; Collaboration; Correlation; Industries; Production facilities; Software; Software engineering; Team working; Kanban; human factors in software development; software project management; software teams; team behaviors
Motivations for collaboration in software design decision making BIBAKFull-Text 129-132
  A. Alali; J. Sillito
Software design is a result of software design decisions made at different stages of the development process and these decisions are often made collaboratively. As part of an ongoing research project to understand and improve this collaborative process we have interviewed 13 designers about their design processes. In this paper we report on a preliminary analysis of our interview data focusing on why people collaborate around design decisions. We found that designers collaborate to improve their design decisions, save or share decision making effort, and in response to social or organizational work contexts.
Keywords: decision making; groupware; software engineering; collaborative process; development process; organizational work context; social work context; software design decision making; Collaboration; Context; Decision making; Interviews; Organizations; Software design; Collaboration; Software Design Decision Making
Soft skills in software engineering: A study of its demand by software companies in Uruguay BIBAKFull-Text 133-136
  G. Matturro
Software development requires professionals with knowledge and experience on many different methodologies, tools, and techniques. However, the so-called soft skills, such as interpersonal skills, teamwork, problem solving and customer orientation to name just a few, are as important as, or even more important, than traditional qualifications and technical skills. In this paper we review a set of jobs advertisements offering job positions related to software engineering in order to identify what soft skills are most in demand by software companies in Uruguay. We also compare our findings with the ones reported in other recent studies carried out with data from other countries. This comparison shows that evidence exists about a common set of basic soft skills software companies demand when looking for new staff for software engineering activities.
Keywords: organisational aspects; personnel; software development management; Uruguay; customer orientation; interpersonal skills; job advertisements; problem solving; soft skills; software companies; software development; software engineering activities; teamwork; technical skills; Companies; Problem-solving; Software design; Software engineering; Software testing; Teamwork; Soft skills; software engineering
A descriptive classification for end user-relevant decisions of large-scale IT projects BIBAKFull-Text 137-140
  U. Abelein; B. Paech
Large-scale IT projects with traditional development methods are still very common in practice. These projects mostly involve the end user in the beginning and at the end of the development. However, there are also user-relevant decisions in the phases between. Thus, it is important to investigate what decisions are made and which of them are user-relevant. Thus we suggested in our previous work a preliminary classification based on the TORE method to structure decisions. In this paper, we validate this classification and collected exemplary user-relevant decisions by experts in large-scale IT projects. As part of our research in user-developer communication, we conducted an interview series with twelve experts. The interviews confirmed that our previously suggested classification is comprehensive and helpful to structure decisions and revealed several amendments. The examples given by the experts enabled us to collect a comprehensive list of end user-relevant decisions, and thus lead to our descriptive classification.
Keywords: software engineering; systems analysis; TORE method; UPI; descriptive classification; end user-relevant decisions; interview series; large-scale IT projects; software development methods; structure decisions; task-oriented requirement engineering; user participation and involvement; user-developer communication; Contracts; Industries; Insurance; Interviews; Manuals; Standards; Expert Interviews; Software Development; User Involvement; User Participation; User-Developer Communication
Aduno: Real-time collaborative work design in a shared workspace BIBAKFull-Text 141-144
  B. Simpson; E. Kalliamvakou; N. Lambert; D. Damian
In this paper we describe the design and evaluation of Aduno, a shared workspace tool that allows distributed software teams to collaboratively establish and prioritize work items for the purposes of task management and planning during the design phase. Aduno is highly visual and real-time, offering features that are often lacking from other popular collaborative development tools. Aduno also links to Github's issue tracker and easily translates work items on a whiteboard to project work items. Here, we describe the concept and design of Aduno and present its initial evaluation.
Keywords: groupware; planning; software development management; software tools; task analysis; Aduno; collaborative development tool; distributed software; real-time collaborative work design; shared workspace tool; task management; task planning; whiteboard; Collaborative software; Collaborative work; Real-time systems; Software; Visualization
The need of a person oriented approach to software process assessment BIBAKFull-Text 145-148
  A. Sampaio; I. B. Sampaio; E. Gray
This paper represents a coherent critique of software process assessment, focusing on the concerns and perceived shortcomings present. A call is made to re-direct attention and resources toward understanding the true nature of people in software process assessment. The important, possibly crucial role of people at an individual, team-based and organizational level in the assessment process that precedes software process improvement is discussed by considering such factors as the relationship between a person's perception of the software process, the learning process and motivation and using theory and empirical findings published in the literature. It is suggested that the poor recognition of the many human factors may be a major reason why the software process is so difficult to improve. It is argued that the clarification of such important issues will help to achieve a significant step forward in software process assessment and improvement; and lead to significant improvements in quality, satisfaction and performance. In order to systematize our position and future research, several statements are formulated concerning the importance of people.
Keywords: human factors; software process improvement; human factor recognition; learning process; motivation; person oriented approach; software process assessment; software process improvement; Biological system modeling; Educational institutions; Organizations; Presses; Psychology; Software; Standards organizations; human oriented; involvement; motivation; perception; software process
Understanding cheap talk and the emergence of trust in global software engineering: An evolutionary game theory perspective BIBAKFull-Text 149-152
  Yi Wang; D. Redmiles
While studying global software engineering teams, we found that informal non-work related conversations are positively associated with trust. We sought to investigate this phenomenon more carefully. To this end, we employed evolutionary game theory. In that literature, the kind of non-work related conversations we observed are referred to as "cheap talk". We modified the original Stag-hunt game, and have it "play" repeatedly by a fixed population. Doing so, we are able to demonstrate how cheap talk in remote collaborations over the Internet is powerful enough to facilitate the emergence of trust and improve the probability of collaboration. We elaborate on the conditions for success and discuss both theoretical and practical implications of our findings for collaboration.
Keywords: game theory; probability; security of data; software engineering; cheap talk understanding; collaboration probability improvement; evolutionary game theory; global software engineering teams; informal nonwork related conversations; remote collaborations; stag-hunt game; trust emergence; Collaboration; Game theory; Games; Internet; Mathematical model; Sociology; Statistics; Cheap talk; Evolution Game Theory (EGT); Global Software Engineering (GSE); Stag-hunt game; trust
Meeting intensity as an indicator for project pressure: Exploring meeting profiles BIBAKFull-Text 153-156
  O. Liskin; K. Schneider; S. Kiesling; S. Kauffeld
Meetings are hot spots of communication and collaboration in software development teams. Both distributed and co-located teams need to meet for coordination, communication, and collaboration. It is difficult to assess the quality of these three crucial aspects, or the social effectiveness and impact of a meeting: Personalities, psychological and professional aspects interact. It is, therefore, challenging to identify emerging communication problems or to improve collaboration by studying a wealth of interrelated details of project meetings. However, it is relatively easy to count meetings, and to measure when and how long they took place. This is objective information, does not violate privacy of participants, and the data might even be retrieved from project calendars automatically. In an exploratory study, we observed 14 student teams working on comparable four-month projects. Among many other aspects, we counted and measured meetings. In this contribution, we compare the meeting profiles qualitatively, and derive a number of hypotheses relevant for software projects.
Keywords: project management; software management; team working; co-located team; distributed team; meeting intensity; meeting profiles; objective information; project calendars; project meetings; project pressure; social effectiveness; software development teams; software projects; student teams; Calendars; Collaboration; Electronic mail; Logic gates; Programming; Software; Software engineering; meeting culture; software development; team communication

Position Papers

Agile offsharing: Using pair work to overcome nearshoring difficulties BIBAKFull-Text 157-158
  L. Prechelt
A major problem in distributed development situations, in particular offshoring situations, is often creating a proper understanding of the requirements at the remote site. It is difficult even if such understanding is available at the local site. This note argues why cross-site, synchronous, closely-coupled pair work at an engineering level, such as pair programming, may be a method for solving this problem and that corresponding research should be carried out.
Keywords: outsourcing; software development management; software prototyping; agile offsharing; cross-site synchronous closely-coupled pair; distributed development situations; local site; nearshoring difficulties; pair programming; pair work; remote site; Collaboration; Companies; Couplings; Joints; Programming; Software
Analyzing the friendliness of exchanges in an online software developer community BIBAKFull-Text 159-160
  B. Cleary; C. Gomez; M.-A. Storey; L. Singer; C. Treude
Many online communities struggle with conflicts -- e.g. between newcomers and elders -- at some point. In July 2012, the Stack Exchange organization attempted to assess the overall "niceness" of the Stack Overflow community by rating the "friendliness" of 7,000 comments made on the site over a 4 year period. We performed a deeper examination of the comment dataset published by Stack Exchange. We find a high degree of comment repetition in the Stack Overflow database and suggest some simple heuristics that may help in automatically identifying unfriendly comments, providing managers of developer communities with simple means that could counter hostility.
Keywords: Web sites; human computer interaction; software engineering; Stack Exchange friendliness analysis; Stack Exchange organization; Stack Overflow community; Stack Overflow database; automatic unfriendly comment identification; comment dataset; comment repetition degree; developer community managers; heuristics; online software developer community; Buildings; Communities; Databases; Educational institutions; Organizations; Software; Vocabulary