Searcharxiv⌕ Search

arXiv subjects

Sherlock A. Licorish

Publications and source records attributed to Sherlock A. Licorish.

At least 37 records · Page 2Linked to original sources

Differences in Jazz Project Leaders' Competencies and Behaviors: A Preliminary Empirical Investigation

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 inter-personal, 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.

cs.SE↗

The True Role of Active Communicators: An Empirical Study of Jazz Core Developers

Context: Interest in software engineering (SE) methodologies and tools has been complemented in recent years by research efforts oriented towards understanding the human processes involved in software development. This shift has been imperative given reports of inadequately performing teams and the consequent growing emphasis on individuals and team relations in contemporary SE methods. Objective: While software repositories have frequently been studied with a view to explaining such human processes, research has tended to use primarily quantitative analysis approaches. There is concern, however, that such approaches can provide only a partial picture of the software process. Given the way human behavior is nuanced within psychological and social contexts, it has been asserted that a full understanding may only be achieved through deeper contextual enquiries. Method: We have followed such an approach and have applied data mining, SNA, psycholinguistic analysis and directed content analysis (CA) to study the way core developers at IBM Rational Jazz contribute their social and intellectual capital, and have compared the attitudes, interactions and activities of these members to those of their less active counterparts. Results: Among our results, we uncovered that Jazz's core developers worked across multiple roles, and were crucial to their teams' organizational, intra-personal and inter-personal processes. Additionally, although these individuals were highly task- and achievement-focused, they were also largely responsible for maintaining positive team atmosphere, and for providing context awareness in support of their colleagues. Conclusion: Our results suggest that high-performing distributed agile teams rely on both individual and collective efforts, as well as organizational environments that promote informal and organic work structures.(Abridged)

cs.SE↗

How do Globally Distributed Agile Teams Self-organise? Initial Insights from a Case Study

Agile software developers are required to self-organize, occupying various informal roles as needed in order to successfully deliver software features. However, previous research has reported conflicting evidence about the way teams actually undertake this activity. The ability to self-organize is particularly necessary for software development in globally distributed environments, where distance has been shown to exacerbate human-centric issues. Understanding the way successful teams self-organise should inform distributed team composition strategies and software project governance. We have used psycholinguistics to study the way IBM Rational Jazz practitioners enacted various roles, expressed attitudes and shared competencies to successfully self-organize in their global projects. Among our findings, we uncovered that practitioners enacted various roles depending on their teams' cohort of features; and that team leaders were most critical to IBM Jazz teams' self-organisation. We discuss these findings and highlight their implications for software project governance.

cs.SE↗

Self-organising Roles in Agile Globally Distributed Teams

The ability to self-organise is posited to be a fundamental requirement for successful agile teams. In particular, self-organising teams are said to be crucial in agile globally distributed software development (AGSD) settings, where distance exacerbates team issues. We used contextual analysis to study the specific interaction behaviours and enacted roles of practitioners working in multiple AGSD teams. Our results show that the teams studied were extremely task focussed, and those who occupied team lead or programmer roles were central to their teams' self-organisation. These findings have implications for AGSD teams, and particularly for instances when programmers - or those occupying similar non-leadership positions - may not be willing to accept such responsibilities. We discuss the implications of our findings for information system development (ISD) practice.

cs.SE↗

Adopting Softer Approaches in the Study of Repository Data: A Comparative Analysis

Context: Given the acknowledged need to understand the people processes enacted during software development, software repositories and mailing lists have become a focus for many studies. However, researchers have tended to use mostly mathematical and frequency-based techniques to examine the software artifacts contained within them. Objective: There is growing recognition that these approaches uncover only a partial picture of what happens during software projects, and deeper contextual approaches may provide further understanding of the intricate nature of software teams' dynamics. We demonstrate the relevance and utility of such approaches in this study. Method: We use psycholinguistics and directed content analysis (CA) to study the way project tasks drive teams' attitudes and knowledge sharing. We compare the outcomes of these two approaches and offer methodological advice for researchers using similar forms of repository data. Results: Our analysis reveals significant differences in the way teams work given their portfolio of tasks and the distribution of roles. Conclusion: We overcome the limitations associated with employing purely quantitative approaches, while avoiding the time-intensive and potentially invasive nature of field work required in full case studies.

cs.SE↗

What can developers' messages tell us? A psycholinguistic analysis of Jazz teams' attitudes and behavior patterns

Reports that communication and behavioral issues contribute to inadequately performing software teams have fuelled a wealth of research aimed at understanding the human processes employed during software development. The increasing level of interest in human issues is particularly relevant for agile and global software development approaches that emphasize the importance of people and their interactions during projects. While mature analysis techniques in behavioral psychology have been recommended for studying such issues, particularly when using archives and artifacts, these techniques have rarely been used in software engineering research. We utilize these techniques under an embedded case study approach to examine whether IBM Rational Jazz practitioners' behaviors change over project duration and whether certain tasks affect teams' attitudes and behaviors. We found highest levels of project engagement at project start and completion, as well as increasing levels of team collectiveness as projects progressed. Additionally, Jazz practitioners were most insightful and perceptive at the time of project scoping. Further, Jazz teams' attitudes and behaviors varied in line with the nature of the tasks they were performing. We explain these findings and discuss their implications for software project governance and tool design.

cs.SE↗

Technical debt and agile software development practices and processes: An industry practitioner survey

Context: Contemporary software development is typically conducted in dynamic, resource-scarce environments that are prone to the accumulation of technical debt. While this general phenomenon is acknowledged, what remains unknown is how technical debt specifically manifests in and affects software processes, and how the software development techniques employed accommodate or mitigate the presence of this debt. Objectives: We sought to draw on practitioner insights and experiences in order to classify the effects of agile method use on technical debt management. We explore the breadth of practitioners' knowledge about technical debt; how technical debt is manifested across the software process; and the perceived effects of common agile software development practices and processes on technical debt. In doing so, we address a research gap in technical debt knowledge and provide novel and actionable managerial recommendations. Method: We designed, tested and executed a multi-national survey questionnaire to address our objectives, receiving 184 responses from practitioners in Brazil, Finland, and New Zealand. Results: Our findings indicate that: 1) Practitioners are aware of technical debt, although, there was under utilization of the concept, 2) Technical debt commonly resides in legacy systems, however, concrete instances of technical debt are hard to conceptualize which makes it problematic to manage, 3) Queried agile practices and processes help to reduce technical debt; particularly, techniques that verify and maintain the structure and clarity of implemented artifacts. Conclusions: The fact that technical debt instances tend to have characteristics in common means that a systematic approach to its management is feasible. However, notwithstanding the positive effects of some agile practices on technical debt management, competing stakeholders' interests remain a concern.(Abridged)

cs.SE↗

Exploring the links between software development task type, team attitudes and task completion performance: Insights from the Jazz repository

Context: In seeking to better understand the impact of various human factors in software development, and how teams' attitudes relate to their performance, increasing attention is being given to the study of team-related artefacts. In particular, researchers have conducted numerous studies on a range of team communication channels to explore links between developers' language use and the incidence of software bugs in the products they delivered. Comparatively limited attention has been paid, however, to the full range of software tasks that are commonly performed during the development and delivery of software systems, in spite of compelling evidence pointing to the need to understand teams' attitudes more widely. Objective: We were therefore motivated to study the relationships between task type and team attitudes, and how attitudes expressed in teams' communications might be related to their task completion performance when undertaking a range of activities. Method: Our investigation involved artefacts from 474 IBM Jazz practitioners assembled in 149 teams working on around 30,000 software development tasks over a three-year period. We applied linguistic analysis, standard statistical techniques and directed content analysis to address our research objective. Results: Our evidence revealed that teams expressed different attitudes when working on various forms of software tasks, and they were particularly emotional when working to remedy defects. That said, teams' expression of attitudes was not found to be a strong predictor of their task completion performance. Conclusion: Efforts aimed at reducing bug incidence may positively limit teams' emotional disposition when resolving bugs, thereby reducing the otherwise high demand for emotionally stable members. (Abridged)

cs.SE↗

3rd Workshop on Hybrid Development Approaches in Software System Development

Evidence shows that software development methods, frameworks, and even practices are seldom applied in companies by following the book. Combinations of different methodologies into home-grown processes are being constantly uncovered. Nonetheless, an academic understanding and investigation of this phenomenon is very limited. In 2016, the HELENA initiative was launched to research hybrid development approaches in software system development. This paper introduces the 3rd HELENA workshop and provides a detailed description of the instrument used and the available data sets.

cs.SE↗

Exploring software developers' work practices: Task differences, participation, engagement, and speed of task resolution

In seeking to understand the processes enacted during software development, an increasing number of studies have mined software repositories. In particular, studies have endeavored to show how teams resolve software defects. Although much of this work has been useful, we contend that large-scale examinations across the range of activities that are commonly performed, beyond defect-related issues alone, would help us to more fully understand the reasons why defects occur as well as their consequences. More generally, these explorations would reveal how team processes occur during all software development efforts. We thus extend such studies by investigating how software practitioners work while undertaking the range of software tasks that are typically performed. Multiple forms of analyses of a longitudinal case study reveal that software practitioners were mostly involved in fixing defects, and that their engagement covaried depending on the nature of the work they were performing. Furthermore, multiple external factors affected speed of task resolution. Our outcomes suggest that behavioral and intrinsic issues may interact with extrinsic factors becoming significant predictors of the speed of software task resolution.

cs.SE↗

Feature Evolution and Reuse -- An Exploratory Study of Eclipse

One of the purported ways to increase productivity and reduce development time is to reuse existing features and modules. If reuse is adopted, logically then, it will have a direct impact on a system's evolution. However, the evidence in the literature is not clear on the extent to which reuse is practiced in real-world projects, nor how it is practiced. In this paper we report the results of an investigation of reuse and evolution of software features in one of the largest open-source ecosystems - Eclipse. Eclipse provides a leading example of how a system can grow dramatically in size and number of features while maintaining its quality. Our results demonstrate the extent of feature reuse and evolution and also patterns of reuse across ten different Eclipse releases (from Europa to Neon).

cs.SE↗

Augmenting Text Mining Approaches with Social Network Analysis to Understand the Complex Relationships among Users' Requests: a Case Study of the Android Operating System

Text mining approaches are being used increasingly for business analytics. In particular, such approaches are now central to understanding users' feedback regarding systems delivered via online application distribution platforms such as Google Play. In such settings, large volumes of reviews of potentially numerous apps and systems means that it is infeasible to use manual mechanisms to extract insights and knowledge that could inform product improvement. In this context of identifying software system improvement options, text mining techniques are used to reveal the features that are mentioned most often as being in need of correction (e.g., GPS), and topics that are associated with features perceived as being defective (e.g., inaccuracy of GPS). Other approaches may supplement such techniques to provide further insights for online communities and solution providers. In this work we augment text mining approaches with social network analysis to demonstrate the utility of using multiple techniques. Our outcomes suggest that text mining approaches may indeed be supplemented with other methods to deliver a broader range of insights.

cs.SE↗

Adoption and Suitability of Software Development Methods and Practices

In seeking to complement consultants' and tool vendors' reports, there has been an increasing academic focus on understanding the adoption and use of software development methods and practices. We surveyed practitioners working in Brazil, Finland, and New Zealand in a transnational study to contribute to these efforts. Among our findings we observed that most of the 184 practitioners in our sample focused on a small portfolio of projects that were of short duration. In addition, Scrum and Kanban were used most; however, some practitioners also used conventional methods. Coding Standards, Simple Design and Refactoring were used most by practitioners, and these practices were held to be largely suitable for project and process management. Our evidence points to the need to properly understand and support a wide range of software methods.

cs.SE↗

On Satisfying the Android OS Community: User Feedback Still Central to Developers' Portfolios

End-users play an integral role in identifying requirements, validating software features' usefulness, locating defects, and in software product evolution in general. Their role in these activities is especially prominent in online application distribution platforms (OADPs), where software is developed for many potential users, and for which the traditional processes of requirements gathering and negotiation with a single group of end-users do not apply. With such vast access to end-users, however, comes the challenge of how to prioritize competing requirements in order to satisfy previously unknown user groups, especially with early releases of a product. One highly successful product that has managed to overcome this challenge is the Android Operating System (OS). While the requirements of early versions of the Android OS likely benefited from market research, new features in subsequent releases appear to have benefitted extensively from user reviews. Thus, lessons learned about how Android developers have managed to satisfy the user community over time could usefully inform other software products. We have used data mining and natural language processing (NLP) techniques to investigate the issues that were logged by the Android community, and how Google's remedial efforts correlated with users' requests. We found very strong alignment between end-users' top feature requests and Android developers' responses, particularly for the more recent Android releases. Our findings suggest that effort spent responding to end-users' loudest calls may be integral to software systems' survival, and a product's overall success.

cs.SE↗

They'll Know It When They See It: Analyzing Post-Release Feedback from the Android Community

It is known that user involvement and user-centered design enhance system acceptance, particularly when end-users' views are considered early in the process. However, the increasingly common method of system deployment, through frequent releases via an online application distribution platform, relies more on post-release feedback from a virtual community. Such feedback may be received from large and diverse communities of users, posing challenges to developers in terms of extracting and identifying the most pressing requests to address. In seeking to tackle these challenges we have used natural language processing techniques to study enhancement requests logged by the Android community. We observe that features associated with a specific subset of topics were most frequently requested for improvement, and that end-users expressed particular discontent with the Jellybean release. End-users also tended to request improvements to specific issues together, potentially posing a prioritization challenge to Google.

cs.SE↗

Communication and Personality Profiles of Global Software Developers

Context: Prior research has established that a small proportion of individuals dominate team communication during global software development. It is not known, however, how these members' contributions affect their teams' knowledge diffusion process, or whether their personality profiles are responsible for their dominant presence. Objective: We set out to address this gap through the study of repository artifacts. Method: Artifacts from ten teams were mined from the IBM Rational Jazz repository. We employed social network analysis (SNA) to group practitioners into two clusters, Top Members and Others, based on the numbers of messages they communicated and their engagement in task changes. SNA metrics (density, in-degree and closeness) were then used to study practitioners' importance in knowledge diffusion. Thereafter, we performed psycholinguistic analysis on practitioners' messages using linguistic dimensions that had been previously correlated with the Big Five personality profiles. Results: For our sample of 146 practitioners we found that Top Members occupied critical roles in knowledge diffusion, and demonstrated more openness to experience than the Others. Additionally, all personality profiles were represented during teamwork, although openness to experience, agreeableness and extroversion were particularly evident. However, no specific personality predicted members' involvement in knowledge diffusion. Conclusion: Task assignment that promotes highly connected team communication networks may mitigate tacit knowledge loss in global software teams. Additionally, while members expressing openness to experience are likely to be particularly driven to perform, this is not entirely responsible for a global team's success.

cs.SE↗

Analyzing Confidentiality and Privacy Concerns: Insights from Android Issue Logs

Context: Post-release user feedback plays an integral role in improving software quality and informing new features. Given its growing importance, feedback concerning security enhancements is particularly noteworthy. In considering the rapid uptake of Android we have examined the scale and severity of Android security threats as reported by its stakeholders. Objective: We systematically mine Android issue logs to derive insights into stakeholder perceptions and experiences in relation to certain Android security issues. Method: We employed contextual analysis techniques to study issues raised regarding confidentiality and privacy in the last three major Android releases, considering covariance of stakeholder comments, and the level of consistency in user preferences and priorities. Results: Confidentiality and privacy concerns varied in severity, and were most prevalent over Jelly Bean releases. Issues raised in regard to confidentiality related mostly to access, user credentials and permission management, while privacy concerns were mainly expressed about phone locking. Community users also expressed divergent preferences for new security features, ranging from more relaxed to very strict. Conclusion: Strategies that support continuous corrective measures for both old and new Android releases would likely maintain stakeholder confidence. An approach that provides users with basic default security settings, but with the power to configure additional security features if desired, would provide the best balance for Android's wide cohort of stakeholders.

cs.CR↗

Combining Text Mining and Visualization Techniques to Study Teams' Behavioral Processes

There is growing interest in mining software repository data to understand, and predict, various aspects of team processes. In particular, text mining and natural-language processing (NLP) techniques have supported such efforts. Visualization may also supplement text mining to reveal unique multi-dimensional insights into software teams' behavioral processes. We demonstrate the utility of combining these approaches in this study. Future application of these methods to the study of teams' behavioral processes offers promise for both research and practice.

cs.SE↗