Kelly Blincoe

Kelly Blincoe
  • PhD
  • Senior Lecturer at University of Auckland

About

105
Publications
36,328
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
2,779
Citations
Introduction
I am currently recruiting PhD students (fully funded) contact me for details. I am a Senior Lecturer at the University of Auckland. My research focuses on the human factors and social aspects of software engineering. I live in Auckland, New Zealand with my husband and our two children. I am originally from Philadelphia, PA, USA.
Current institution
University of Auckland
Current position
  • Senior Lecturer
Additional affiliations
January 2014 - June 2015
University of Victoria
Position
  • PostDoc Position
September 2009 - January 2014
Drexel University
Position
  • PhD Student
Education
September 2009 - December 2011
Drexel University
Field of study
  • Computer Science
September 2009 - January 2014
Drexel University
Field of study
  • Computer Science
September 2005 - December 2008
Pennsylvania State University
Field of study
  • Information Science

Publications

Publications (105)
Article
Full-text available
A paradigm shift is underway in Software Engineering, with AI systems such as LLMs playing an increasingly important role in boosting software development productivity. This trend is anticipated to persist. In the next years, we expect a growing symbiotic partnership between human software developers and AI. The Software Engineering research commun...
Article
Full-text available
Libraries assist in accelerating the development of software applications by providing reusable functionalities. Libraries and applications that declare these libraries as dependencies become their clients. However, as libraries evolve, maintaining the dependencies in client projects can be challenging if the new version contains breaking changes....
Chapter
Full-text available
James Tizard, Tim Rietz, and Kelly Blincoe To create inclusive software, development teams need to consider how they identify inclusive requirements for a software product. Requirements elicitation is the first stage in the process of developing the requirements of a software system. Elicitation is about describing the functionality, reliability, e...
Article
Libraries play a significant role in software development as they provide reusable functionality, which helps expedite the development process. As libraries evolve, they release new versions with optimisations like new functionality, bug fixes, and patches for known security vulnerabilities. To obtain these optimisations, the client applications th...
Article
Full-text available
Requirements Technical Debt (RTD) applies the Technical Debt (TD) metaphor to capture the consequences of sub-optimal decisions made concerning Requirements. Understanding the quantification of RTD is key to its management. To facilitate this understanding, we developed a conceptual model, the Requirements Technical Debt Quantification Model (RTDQM...
Article
To effectively manage Technical Debt (TD), we need reliable means to quantify it. We conducted a Systematic Mapping Study (SMS) where we identified 39 quantification approaches for Code, Design, and Architecture TD. We analyzed concepts and metrics discussed in these quantification approaches by classifying the quantification approaches based on a...
Preprint
Software practitioners can make sub-optimal decisions concerning requirements during gathering, documenting, prioritizing, and implementing requirements as software features or architectural design decisions -- this is captured by the metaphor `Requirements Technical Debt (RTD).' In our prior work, we developed a conceptual model to understand the...
Preprint
Full-text available
A paradigm shift is underway in Software Engineering, with AI systems such as LLMs gaining increasing importance for improving software development productivity. This trend is anticipated to persist. In the next five years, we will likely see an increasing symbiotic partnership between human developers and AI. The Software Engineering research comm...
Article
Full-text available
Context The COVID-19 pandemic posed challenges to people from all professions and walks of life, and software professionals were no exceptions. Objective In this study, we investigated the impact of the COVID-19 pandemic on software professionals and their work practices with a focus on New Zealand. We specifically examined how software profession...
Conference Paper
Full-text available
Modern software applications rely heavily on the usage of libraries, which provide reusable functionality, to accelerate the develop ment process. As libraries evolve and release new versions, the software systems that depend on those libraries (the clients) should update their dependencies to use these new versions as the new release could, for ex...
Preprint
Full-text available
This article summarizes the literature on trust of digital technologies from a human-centric perspective. We summarize literature on trust in face-to-face interactions from other fields, followed by a discussion of organizational trust, technology-mediated trust, trust of software products, trust of AI, and blockchain. This report was created for t...
Preprint
To effectively manage Technical Debt (TD), we need reliable means to quantify it. We conducted a Systematic Mapping Study (SMS) where we identified TD quantification approaches that focus on different aspects of TD. Some approaches base the quantification on the identification of smells, some quantify the Return on Investment (ROI) of refactoring,...
Article
Full-text available
Understanding users’ needs is crucial to building and maintaining high quality software. Online software user feedback has been shown to contain large amounts of information useful to requirements engineering (RE). Previous studies have created machine learning classifiers for parsing this feedback for development insight. While these classifiers r...
Article
The software industry lacks gender diversity. Recent research has suggested that a toxic working culture is to blame. Studies have found that communications in software repositories directed towards women are more negative in general. In this study, we use a destructive criticism lens to examine gender differences in software code review feedback....
Article
Full-text available
Many software users give feedback online about the applications they use. This feedback often contains valuable requirements information that can be used to guide the effective maintenance and evolution of a software product. Yet, not all software users give online feedback. If the demographics of a user-base aren’t fairly represented, there is a d...
Article
Self-assignment, where software developers choose their own tasks, is a common practice in agile teams. However, it is not known why developers select certain tasks. It is important for managers to be aware of these reasons to ensure sustainable self-assignment practices. We investigated developers’ preferences while they are choosing tasks for the...
Article
Context Code review is a valuable software process that helps software practitioners to identify a variety of defects in code. Even though many code review tools and static analysis tools used to improve the efficiency of the process exist, code review is still costly. Objective Understanding the types of defects that code reviews help to identify...
Article
Full-text available
Code review plays an important role in software quality control. A typical review process involves a careful check of a piece of code in an attempt to detect and locate defects and other quality issues/violations. One type of issue that may impact the quality of software is code smells-i.e., bad coding practices that may lead to defects or maintena...
Preprint
Full-text available
Six months ago an important call was made for researchers globally to provide insights into the way Software Engineering is done in their region. Heeding this call we hereby outline the position Software Engineering in Australasia (New Zealand and Australia). This article first considers the software development methods practices and tools that are...
Preprint
Full-text available
Code review that detects and locates defects and other quality issues plays an important role in software quality control. One type of issue that may impact the quality of software is code smells. Yet, little is known about the extent to which code smells are identified during modern code review. To investigate the concept behind code smells identi...
Article
Context Software developers work on various tasks and activities that contribute towards creating and maintaining software applications, frameworks, or other software components. These include technical (e.g., writing code and fixing bugs) and non-technical activities (e.g., communicating within or outside teams to understand, clarify, and resolve...
Article
User feedback is an important resource in modern software development, often containing requirements that help address user concerns and desires for a software product. The feedback in online channels is a recent focus for software engineering researchers, with multiple studies proposing automatic analysis tools. In this work, we investigate the pr...
Preprint
Full-text available
Listening to user's requirements is crucial to building and maintaining high quality software. Online software user feedback has been shown to contain large amounts of information useful to requirements engineering (RE). Previous studies have created machine learning classifiers for parsing this feedback for development insight. While these classif...
Article
Before the COVID-19 pandemic, most software companies operated in office settings. Lockdowns imposed during the pandemic forced them to work from home. There are speculations around what a post-pandemic work setting may look like. In this study, we investigated how software companies in New Zealand are currently operating, as they are one of the fe...
Article
The Shadow Program Committee (PC) is an initiative/program that provides an opportunity to Early-Career Researchers (ECRs), i.e., PhD students, postdocs, new faculty members, and industry practitioners, who have not been in a PC, to learn rst-hand about the peer-review process of the technical track at Software Engi- neering (SE) conferences. This...
Article
The last decade, deemed the age of the platform [1], saw a major shift in how software organizations operate and leverage platforms as a flavor of open innovation to extend their markets or “grow the pie” [2]. These platforms are used to underpin and form Software Ecosystems (SECOs) through which the platform provider, also known as the keystone or...
Preprint
Full-text available
Self-assignment, where software developers choose their own tasks, is a common practice in agile teams. However, it is not known why developers select certain tasks. It is important for managers to be aware of these reasons to ensure sustainable self-assignment practices. We investigated developers' preferences while they are choosing tasks for the...
Preprint
Full-text available
To promote and facilitate the Shadow PC program at SE conferences in the future, this report provides details about the process and a reflection on the Shadow PC program during MSR2021. The presentation slides and video are also available online at https://youtu.be/ReUXwmtIEk8. This report will appear at SIGSOFT Software Engineering Notes in Octob...
Preprint
Full-text available
The Repertory Grid Technique (RGT) has been applied within the software engineering domain to investigate a variety of topics. These include topics relating to architectural knowledge, team level tacit knowledge, and project success mechanisms. The technique is based on Personal Construct Theory (PCT) and is claimed to be suitable for gaining a dee...
Article
This paper provides an overview of the recent advances made in the field of fault diagnosis of industrial machines operating under variable speed conditions. First, the shortcomings of the traditional techniques in extracting reliable fault information are laid down, followed by a discussion on the different approaches adopted to overcome these iss...
Preprint
Full-text available
Software has always been considered as malleable. Changes to software requirements are inevitable during the development process. Despite many software engineering advances over several decades, requirements changes are a source of project risk, particularly when businesses and technologies are evolving rapidly. Although effectively managing requir...
Article
Six months ago an important call was made for researchers globally to provide insights into the way Software Engineering is done in their region. Heeding this call, we hereby outline the position Software Engineering in Australasia (New Zealand and Australia). This article first considers the software development methods, practices and tools that a...
Preprint
Full-text available
Scrum, the most popular agile method and project management framework, is widely reported to be used, adapted, misused, and abused in practice. However, not much is known about how Scrum actually works in practice, and critically, where, when, how and why it diverges from Scrum by the book. Through a Grounded Theory study involving semi-structured...
Article
Full-text available
Abstract In this case study, we are extending feature engineering approaches for short text samples by integrating techniques which have been introduced in the context of time series classification and signal processing. The general idea of the presented feature engineering approach is to tokenize the text samples under consideration and map each t...
Article
The recognition of the need for high-quality software architecture is evident from the increasing trend in investigating architectural smells. Detection of architectural smells is paramount because they can seep through to design and implementation stages if left unidentified. Many architectural smells detection techniques and tools are proposed in...
Article
Full-text available
Self-assignment, a self-directed method of task allocation in which teams and individuals assign and choose work for themselves, is considered one of the hallmark practices of empowered, self-organizing agile teams. Despite all the benefits it promises, agile software teams do not practice it as regularly as other agile practices such as iteration...
Conference Paper
Full-text available
Background: Third party libraries used by a project (dependencies) can easily become outdated over time, a phenomenon called technical lag. Keeping dependencies up to date induces a significant overhead in terms of the resources (e.g. developer time), but necessary to maintain software quality. Aims: This study provides a large scale analysis of te...
Article
Full-text available
Scrum, the most popular agile method and project management framework, is widely reported to be used, adapted, misused, and abused in practice. However, not much is known about how Scrum actually works in practice, and critically, where, when, how and why it diverges from Scrum by the book. Through a Grounded Theory study involving semi-structured...
Conference Paper
User feedback on mobile app stores, product forums, and on social media can contain product development insights. There has been a lot of recent research studying this feedback and developing methods to automatically extract requirement-related information. This feedback is generally considered to be the "voice of the users"; however, only a subset...
Article
Full-text available
Forges are online collaborative platforms to support the development of distributed open source software. While once mighty keepers of open source vitality, software forges are rapidly becoming less and less relevant. For example, of the top 10 forges in 2011, only one survives today—SourceForge —the biggest of them all, but its numbers are droppin...
Article
Full-text available
Knowing whether a software feature will be completed in its planned iteration can help with release planning decisions. However, existing research has focused on predictions of only low-level software tasks, like bug fixes. In this paper, we describe a mixed-method empirical study on three large IBM projects. We investigated the types of iteration...
Preprint
Full-text available
Recent studies show that gender diversity in IT teams has a positive impact on the software development process. However, there is still a great gender inequality. The aim of our study was to examine how the working atmosphere depends on the gender differentiation of IT teams. The analysis of the results of the interviews and questionnaires showed...
Article
Full-text available
Research conducted in recent years has shown that emotions and moods can have a serious impact on the work of software development teams [1]. To shed new light on the issues affecting the working atmosphere, we conducted a study to examine perceptions whether and how gender diversity impacts on the mood and atmosphere, and thus on the comfort of IT...
Conference Paper
Full-text available
Many modern software systems are built on top of existing packages (modules, components, libraries). The increasing number and complexity of dependencies has given rise to automated dependency management where package managers resolve symbolic dependencies against a central repository. When declaring dependencies, developers face various choices, s...
Article
Full-text available
Context: Software projects often depend on other projects or are developed in tandem with other projects. Within such software ecosystems, knowledge of cross-project technical dependencies is important for (1) practitioners understanding of the impact of their code change and coordination needs within the ecosystem and (2) researchers in exploring...
Conference Paper
Full-text available
Software startups are typically under extreme pressure to get to market quickly with limited resources and high uncertainty. This pressure and uncertainty is likely to cause startups to accumulate technical debt as they make decisions that are more focused on the short-term than the long-term health of the codebase. However, most research on techni...
Article
Full-text available
Teaching agile practices has found its place in software engineering curricula in many universities across the globe. As a result, educators and students have embraced different ways to apply agile practices during their courses through lectures, games, projects, workshops and more for effective theoretical and practical learning. Practicing agile...
Article
Full-text available
Software engineering practice has shifted from the development of products in closed environments toward more open and collaborative efforts. Software development has become significantly interdependent with other systems (e.g. services, apps) and typically takes place within large ecosystems of networked communities of stakeholder organizations. S...
Conference Paper
Full-text available
Task allocation is considered an important activity in software project management. However, the process of allocating tasks in agile software development teams has not received much attention in empirical research. Through a pilot study involving mixed open-ended and closed-ended interviews questions with 11 agile software practitioners working wi...
Conference Paper
Full-text available
Predicting time and effort of software task completion has been an active area of research for a long time. Previous studies have proposed predictive models based on either text data or metadata of software tasks to estimate either completion time or completion effort of software tasks, but there is a lack of focus in the literature on integrating...
Conference Paper
Full-text available
Software development has always inherently required multitasking: developers switch between coding, reviewing, testing, designing, and meeting with colleagues. The advent of software ecosystems like GitHub has enabled something new: the ability to easily switch between projects. Developers also have social incentives to contribute to many projects;...
Article
Full-text available
When software developers fail to coordinate, build failures, duplication of work, schedule slips and software defects can result. However, developers are often unaware when they need to coordinate, and existing methods and tools that help make developers aware of their coordination needs do not provide timely or efficient recommendations. We descri...
Article
Full-text available
Context: the ability to follow other users and projects on GitHub has introduced a new layer of open source software development participants who observe but do not contribute to projects. It has not been fully explored how following others influences the actions of GitHub users. Objective: this paper studies the motivation behind following (or no...
Article
Full-text available
With over 10 million git repositories, GitHub is becoming one of the most important sources of software artifacts on the Internet. Researchers mine the information stored in GitHub’s event logs to understand how its users employ the site to collaborate on software, but so far there have been no studies describing the quality and properties of the a...
Conference Paper
Full-text available
Previous studies on coordination in OSS projects have studied explicit communication. Research has theorized on the existence of coordination without direct communication or implicit coordination in OSS projects, suggesting that it contributes to their success. However, due to the intangible nature of implicit coordination, no studies have confirme...
Article
Full-text available
With over 10 million git repositories, GitHub is becoming one of the most important sources of software artifacts on the Internet. Researchers mine the information stored in GitHub’s event logs to understand how its users employ the site to collaborate on software, but so far there have been no studies describing the quality and properties of the a...
Conference Paper
Full-text available
With over 10 million git repositories, GitHub is becoming one of the most important source of software artifacts on the Internet. Researchers are starting to mine the infor- mation stored in GitHub’s event logs, trying to understand how its users employ the site to collaborate on software. However, so far there have been no studies describing the q...
Conference Paper
Full-text available
Users on GitHub can watch repositories to receive notifications about project activity. This introduces a new type of passive project membership. In this paper, we investigate the behavior of watchers and their contribution to the projects they watch. We find that a subset of project watchers begin contributing to the project and those contributors...
Conference Paper
Full-text available
Several methods exist to detect the coordination needs within software teams. Evidence exists that developers’ awareness about coordination needs improves work performance. Distinguishing with certainty between critical and trivial coordination needs and identifying and prioritizing which specific tasks a pair of developers should coordinate about...
Conference Paper
Full-text available
In this paper, we describe a way to identify the critical coordination needs that exist in a software development project through post-mortem content analysis and manual coding of task pairs. Our coding scheme provides guidelines on how to score the strength of the relationship of task pairs based on four characteristics. Such a method and coding s...
Article
Full-text available
Individuals participating in technologically mediated forms of organization often have difficulty recognizing when groups emerge, and how the groups they take part in evolve. This paper contributes an analytical framework that improves awareness of these virtual group dynamics through analysis of electronic trace data from tasks and interactions ca...
Article
Full-text available
Work dependencies often exist between the developers of a software project. These dependencies frequently result in a need for coordination between the involved developers. However, developers are not always aware of these Coordination Requirements. Current methods which detect the need to coordinate rely on information which is available only afte...
Article
Full-text available
This paper introduces ProxiScientia, a visualization tool that provides awareness support to developers, as they engage in collaborative software development activities. ProxiScientia leverages streams of fine-grained events that are generated by team members as they interact with software artifacts in their development environments. The main goal...
Article
Full-text available
Work dependencies often exist between the developers of a software project. These dependencies frequently result in a need for coordination between the involved developers. However, developers are not always aware of these Coordination Requirements. Current methods which detect the need to coordinate rely on information which is available only afte...

Network

Cited By