About
112
Publications
120,474
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
4,238
Citations
Introduction
Senior Lecturer with the School of Computer Science and Information Technology, Science Foundation Ireland (SFI) Principal Investigator, and SFI Funded Investigator with Lero, the Irish Software Research Centre. My research focuses contemporary software development methods, in particular open source, inner source, crowdsourcing, and agile and lean methods. I'm also interested in research methodology and the role of theory in SE.
All papers are available at http://user-group.github.io
Additional affiliations
January 2012 - present
Education
April 2008 - December 2011
September 2003 - January 2008
September 1999 - June 2003
Publications
Publications (112)
Grounded Theory (GT) has proved an extremely useful research approach in several fields including medical sociology, nursing, education and management theory. However, GT is a complex method based on an inductive paradigm that is fundamentally different from the traditional hypothetico-deductive research model. As there are at least three variants...
Open Access: http://ieeexplore.ieee.org/document/8119867/
Crowdsourcing is emerging as an alternative outsourcing strategy which is gaining increasing attention in the software engineering community. However, crowdsourcing software development involves complex tasks which differ significantly from the micro-tasks that can be found on crowdsourcing...
InnerSource is a software development strategy rapidly spreading throughout large corporations—and it is also more. At its essence, InnerSource enables soft‐ ware developers to contribute to the efforts of other teams, fostering transparency and openness to contributions from others. But beyond that, InnerSource represents a collaborative and empow...
A variety of research methods and techniques are available to SE researchers, and while several overviews exist, there is neither consistency in the research methods covered nor in the terminology used. Furthermore, research is sometimes critically reviewed for characteristics inherent to the methods. We adopt a taxonomy from the social sciences, t...
Free and Open Source Software (FOSS) has come to play a critical role in the global software industry. Organizations are widely adopting FOSS and interacting with open source communities, and hence organizations have a considerable interest in seeing these communities flourishing. Very little research has focused on the tools used to develop that s...
This chapter seeks to support software engineering (SE) researchers and educators in teaching the importance of theory as well as the theorizing process. Drawing on insights from other fields, the chapter presents 12 intermediate products of theorizing and what they mean in an SE context. These intermediate products serve different roles: some are...
In this study of burnout and engagement, we address three major themes. First, we offer a review of prior studies of burnout among IT professionals and link these studies to the Job Demands-Resources (JD-R) model. Informed by the JD-R model, we identify three factors that are organizational job resources, and posit that these (a) increase engagemen...
In this study of burnout and engagement, we address three major themes. First, we offer a review of prior studies of burnout among IT professionals and link these studies to the Job Demands-Resources (JD-R) model. Informed by the JD-R model, we identify three factors that are organizational job resources, and posit that these (a) increase engagemen...
This chapter seeks to support software engineering (SE) researchers and educators in teaching the importance of theory as well as the theorizing process. Drawing on insights from other fields, the chapter presents 12 intermediate products of theorizing and what they mean in an SE context. These intermediate products serve different roles: some are...
Commit messages are critical for code comprehension and software maintenance. Writing a high-quality message requires skill and effort. To support developers and reduce their effort on this task, several approaches have been proposed to automatically generate commit messages. Despite the promising performance reported, we have identified three sign...
Internal boundaries between information systems divisions have traditionally caused friction and frustration, and negatively affected IT staff job satisfaction. Adopting open source development principles and processes within a corporate environment, what has been labeled 'inner source,' is now part of a larger management strategy to break down sil...
Reflecting on the limitations of a study is a crucial part of the research process. In software engineering studies, this reflection is typically conveyed through discussions of study limitations or threats to validity. In current practice, such discussions seldom provide sufficient insight to understand the rationale for decisions taken before and...
Distributed Scrum adapts the Scrum project management framework for geographically distributed software teams. Experimentally evaluating the effectiveness of Distributed Scrum is impractical, but many case studies and experience reports describe teams and projects that used Distributed Scrum. This paper synthesizes the results of these cases using...
Agile development methods have become a standard in the software industry, including in large-scale projects. These methods share a set of underlying assumptions that distinguish them from more traditional plan-driven approaches. In this paper we adopt Alvesson and Sandberg's problematization approach to challenge three key assumptions that are pre...
[Context] Requirements elicitation is an essential activity to ensure that systems provide the necessary functionality to users, and that they are fit for purpose. In addition to traditional ‘reductionist’ techniques, the use of observations and ethnography-style techniques have been proposed to identify requirements. [Research Problem] One frequen...
Context: Requirements elicitation is an essential activity to ensure that systems provide the necessary functionality to users, and that they are fit for purpose. In addition to traditional `reductionist' techniques, the use of observations and ethnography-style techniques have been proposed to identify requirements. Research Problem: One frequentl...
Job burnout is a type of work-related stress associated with a state of physical or emotional exhaustion that also involves a sense of reduced accomplishment and loss of personal identity. Burnt out can affect one's physical and mental health and has become a leading industry concern and can result in high workforce turnover. Through an empirical s...
The sense of belonging to a community is a basic human need that impacts an individuals behavior, long-term engagement, and job satisfaction, as revealed by research in disciplines such as psychology, healthcare, and education. Despite much research on how to retain developers in Open Source Software projects and other virtual, peer-production comm...
There is considerable anecdotal evidence suggesting that software engineers enjoy engaging in solving puzzles and other cognitive efforts. A tendency to engage in and enjoy effortful thinking is referred to as a person’s ‘need for cognition.’ In this article we study the relationship between software engineers’ personality traits and their need for...
Evermann and Rönkkö aim to present an overview of recent advances in PLS, and while some advances are described with several useful recommendations, we argue that their article does not fully deliver on its promise. In this response, we argue that their position presents an unbalanced view, ignores several methodological advances by IS scholars. We...
A key issue in collaborative software development is communication among developers. One modality of communication is a commit message, in which developers describe the changes they make in a repository. As such, commit messages serve as an "audit trail" by which developers can understand how the source code of a project has changed-and why. Hence,...
Gamification seeks to encourage behavior of participants by borrowing elements of games, such as scoring points. Few rigorous studies exist of gamification in software organizations, and several questions have remained unanswered, for example, what might drive developers to partake, and what are the consequences of developer engagement. This articl...
There is considerable anecdotal evidence suggesting that software engineers enjoy engaging in solving puzzles and other cognitive efforts. A tendency to engage in and enjoy effortful thinking is referred to as a person's 'need for cognition.' In this article we study the relationship between software engineers' personality traits and their need for...
Software Engineering (SE) researchers are increasingly paying attention to organizational and human factors. Rather than focusing only on variables that can be directly measured, such as lines of code, SE research studies now also consider unobservable variables, such as organizational culture and trust. To measure such latent variables, SE scholar...
Empirical Standards are natural-language models of a scientific community's expectations for a specific kind of study (e.g. a questionnaire survey). The ACM SIGSOFT Paper and Peer Review Quality Initiative generated empirical standards for research methods commonly used in software engineering. These living documents, which should be continuously r...
This chapter presents a holistic overview of software engineering research strategies. It identifies the two main modes of research within the software engineering research field, namely knowledge-seeking and solution-seeking research—the Design Science model corresponding well with the latter. We present the ABC framework for research strategies a...
There is a growing body of gender studies in software engineering to understand diversity and inclusion issues, as diversity is recognized to be a key issue to healthy teams and communities. A second factor often linked to team performance is personality, which has received far more attention. Very few studies, however, have focused on the intersec...
We draw on the concept of episodic volunteering (EV) from the general volunteering literature to identify practices for managing EV in free/libre/open source software (FLOSS) communities. Infrequent but ongoing participation is widespread, but the practices that community managers are using to manage EV, and their concerns about EV, have not been p...
Application developers constitute an important part of a digital platform’s ecosystem. Knowledge about psychological processes that drive developer behavior in platform ecosystems is scarce. We build on the lead userness construct which comprises two dimensions, trend leadership and high expected benefits from a solution, to explain how developers’...
The IT sector struggles with talent acquisition and low retention rates. While several field studies have explored onboarding of software developers, the software engineering literature lacks studies that develop and evaluate theoretical models. This study seeks to explore the link between onboarding of new hires and turnover intention of these pro...
While there has been substantial empirical work identifying factors that influence the contribution to, and use of open-source software, we have as yet little theory that identifies the key constructs and relationships that would allow us to explain and predict how open-source ecosystems function. The absence of ecosystem theory is particularly ala...
While there has been substantial empirical work identifying factors that influence the contribution to, and use of open source software, we have as yet little theory that identifies the key constructs and relationships that would allow us to explain and predict how open source ecosystems function. What is needed is a clearly articulated and empiric...
Successful Free/Libre and Open Source Software (FLOSS) projects incorporate both habitual and infrequent, or episodic, contributors. Using the concept of episodic volunteering (EV) from the general volunteering literature, we derive a model consisting of five key constructs that we hypothesize affect episodic volunteers’ retention in FLOSS communit...
This is an online Appendix to the conference paper: "Company Soldiers and Gone-Natives:
Role Conflict and Career Ambition Among Firm-Employed Open Source Developers"
Software companies are increasingly shifting their role in open source software (OSS) projects from passive adopters to active contributors, and creators of OSS projects. Many firms now employ developers to work on OSS projects to influence their further development. These developers may gain considerable influence in OSS communities, though this t...
Full text available here: https://ieeexplore.ieee.org/document/8477174
Free/Libre and Open Source Software (FLOSS) communities are composed, in part, of volunteers, many of whom contribute infrequently. However, these infrequent volunteers contribute to the sustainability of FLOSS projects, and should ideally be encouraged to continue participatin...
The Open Source movement is several decades old, but it wasn’t until the turn of the millennium that major companies entered the game. Traditional business wisdom had suggested that source code, which was seen as a “crown jewel” of a software company represented valuable intellectual property that should remain closed to maximize profit.
Defining a transformation journey is an important step in the transformation process. In this chapter we’ll show how to setup a workshop to identify the steps that an organization can take to embark on a software scaling transformation.
Scaling software development is a complex enterprise that can be organized in a number of ways. Since the early days of computing, hundreds, if not thousands of software development methods have been proposed.
The International Conference on Evaluation and Assessment in Software Engineering (EASE) had its twentieth anniversary in 2016, with that year’s edition hosted in Limerick, Ireland. Founded in 1997, the EASE conference was the first event solely dedicated to encouraging empirical research in software engineering, and its founders have been longtime...
Crowdsourcing, which leverages the intelligence and contributions of a large group of people to achieve a specific goal, is disrupting business models and work practices. Because crowdsourcing approaches could have a far-reaching impact on future software development, this theme issue explores various ways developers and managers can benefit from t...
Inner source, the adoption and tailoring of Open Source development practices inside organizations, is a topic of increasing interest. While Inner Source offers a number of benefits, in our experience many practitioners are unclear as to what Inner Source is, and what steps to take towards adoption. In this article we present a tutorial in which we...
Software outsourcing has been the subject of much research in the past 25 years, largely because of potential cost savings envisaged through lower labour costs, ‘follow-the-sun’ development, access to skilled developers, and proximity to new markets. In recent years, the success of the open source phenomenon has inspired a number of new forms of so...
Empirical research studies are the principal mechanism through which the software engineering research community study and learn from software engineering practice. The focus on empirical studies has increased significantly in the past decade, more or less coinciding with the emergence of evidence- based software engineering, an idea that was propo...
This SpringerBrief discusses multiple forms of open-source-inspired outsourcing: opensourcing, innersourcing and crowdsourcing. It uses a framework-based comparison to explain the strengths and weaknesses of each approach. By pointing out characteristics along with benefits and pitfalls of each approach, the authors provide nuanced and research-bas...
Traditional release strategies have a number of associated problems, which can be overcome by time-based release management. We present findings from interviews with key members of seven prominent volunteer-based open source projects, all of which have adopted a time-based release strategy. We discuss the importance of release planning, the numerou...
In 1957, the eminent computer scientist, Edsger W. Dijkstra, sought to record his profession as “Computer Programmer” on his marriage certificate. The Dutch authorities, although probably more progressive than most, refused on the grounds that there was no such profession. Ironically, just a decade later, the term “software crisis” had been coined,...
The previous three chapters presented different forms of software outsourcing to an unknown workforce—opensourcing, innersourcing and crowdsourcing. These sourcing strategies all rely on a workforce that is not fully known in advance, unlike conventional software projects where teams are formed before a project is started. Furthermore, there are va...
In this chapter we discuss and illustrate opensourcing with case studies at IONA Technologies, Philips Healthcare and Telefonica. The chapter draws on the study reported by Ågerfalk and Fitzgerald (2008) and uses the set of company and community cues derived in that study (in the original publication, these were referred to as obligations). In the...
In this chapter we investigate the crowdsourcing phenomenon through a case study of a multinational company who embarked on a significant crowdsourcing software development initiative. Most studies aim to explain crowdsourcing by describing successful cases (e.g., Brabham 2008); as a result, there has been little attention to the challenges that ma...
The previous chapter discussed opensourcing, whereby the development and maintenance of a software product is “outsourced” to an open source community. As noted above, open source communities have developed a number of highly successful software products despite their seeming defiance of traditional software engineering wisdom. Starting in the late...
Outsourcing
of the software development activity has been on the increase in recent years according to both US and European reports. However, in many cases outsourcing of software development, often referred to as global software engineering, has not delivered on its promise (e.g. Nakatsu and Iacovou 2009; Tiwana and Keil 2009; Ó Conchúir et al. 20...
It is almost 30 years since Osterweil’s controversial but insightful observation that software processes could be considered as software too. In the current era of continuous delivery, DevOps, and the increasing proliferation of cyber-physical social systems in Cloud and Internet of Things (IoT) contexts, infrastructure definitions and implementati...
A promising way to support software reuse is based on Component-Based Software Development CBSD. Open Source Software OSS products are increasingly available that can be freely used in product development. However, OSS communities still face several challenges before taking full advantage of the "reuse mechanism": many OSS projects duplicate effort...
A number of organizations have adopted Open Source Software (OSS) development practices to support or augment their software development processes, a phenomenon frequently referred to as Inner Source. How- ever the adoption of Inner Source is not a straightforward issue. Many organizations are struggling with the question of whether Inner Source is...
There has been a growing interest in the role of theory within Software Engineering (SE) research. For several decades, researchers within the SE research community have argued that, to become a ‘real’ engineering science, SE needs to develop stronger theoretical foundations. However, so far, the role of theory is neither fully appreciated nor well...
Crowdsourcing is an emerging topic within software engineering research. This report presents the protocol for our case study of crowdsourcing at a multinational company. The findings of the case study are presented in a paper in the proceedings of the 36 th International Conference on Software Engineering (2014) (see ref. [ 37 ]). This protocol pr...
The nature of software development has changed significantly over the last decade or so, driven by trends such as an increasing level of software outsourcing, distributed development and collaborative development models. One such model of collaborative and distributed development that has attracted significant attention in both industry and researc...
Microblogging is a popular form of social media that has quickly permeated both enterprise and open source communities. However, exactly how open source communities can leverage microblogging isn't yet well understood. The authors investigate how Drupal's open source community uses Twitter, a household name in microblogging. Their analysis of group...
Throughout its short history, software development has been characterized by harmful disconnects between important activities e.g., planning, development and implementation. The problem is further exacerbated by the episodic and infrequent performance of activities such as planning, testing, integration and releases. Several emerging phenomena refl...
Crowdsourcing is an emerging form of ‘outsourcing’ software development. While there has been considerable research in the area of crowdsourcing in general, very little research has focused specifically on how crowdsourcing works in a software development context, and as far as we know, there have been no published studies of crowdsourcing software...
Crowdsourcing is an emerging and promising approach which involves delegating a variety of tasks to an unknown workforce—the crowd. Crowdsourcing has been applied quite successfully in various contexts from basic tasks on Amazon Mechanical Turk to solving complex industry problems, e.g. InnoCentive. Companies are increasingly using crowdsourcing to...