-
Towards Quantifying Requirements Technical Debt for Software Requirements concerning Veracity: A Perspective and Research Roadmap
Authors:
Judith Perera,
Ewan Tempero,
Yu-Cheng Tu,
Kelly Blincoe,
Matthias Galster
Abstract:
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 quantification of RTD and support its management.…
▽ More
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 quantification of RTD and support its management. In this paper, we present our perspective and the vision to apply the lens of RTD to software requirements concerning veracity, i.e., requirements related to truth, trust, authenticity, and demonstrability in software-intensive systems. Our goal is to cultivate awareness of veracity as an important concern and eventually support the management of RTD for software requirements concerning veracity, what we term as `Veracity Debt,' through its quantification.
△ Less
Submitted 29 June, 2024;
originally announced July 2024.
-
The Future of Software Engineering in an AI-Driven World
Authors:
Valerio Terragni,
Partha Roop,
Kelly Blincoe
Abstract:
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 community cannot afford to overlook this trend; we mus…
▽ More
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 community cannot afford to overlook this trend; we must address the key research challenges posed by the integration of AI into the software development process. In this paper, we present our vision of the future of software development in an AI-Driven world and explore the key challenges that our research community should address to realize this vision.
△ Less
Submitted 11 June, 2024;
originally announced June 2024.
-
Human-centric Literature on Trust for SfTI Veracity Spearhead
Authors:
Kelly Blincoe,
Markus Luczak-Roesch,
Tim Miller,
Matthias Galster
Abstract:
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 the Science for Technological Innovation Veracity S…
▽ More
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 the Science for Technological Innovation Veracity Spearhead supported by New Zealand's National Science Challenges.
△ Less
Submitted 31 May, 2023;
originally announced June 2023.
-
Quantifying Technical Debt: A Systematic Mapping Study and a Conceptual Model
Authors:
Judith Perera,
Ewan Tempero,
Yu-Cheng Tu,
Kelly Blincoe
Abstract:
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, some compare an ideal state with the current state…
▽ More
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, some compare an ideal state with the current state of a software in terms of the software quality, and some compare alternative development paths to reduce TD. It is unclear if these approaches are quantifying the same thing and if they support similar or different decisions regarding TD Management (TDM). This creates the problem of not being able to effectively compare and evaluate approaches. To solve this problem, we developed a novel conceptual model, the Technical Debt Quantification Model (TDQM), that captures the important concepts related to TD quantification and illustrates the relationships between them. TDQM can represent varied TD quantification approaches via a common uniform representation, the TDQM Approach Comparison Matrix, that allows performing useful comparisons and evaluations between approaches. This paper reports on the mapping study, the development of TDQM, and on applying TDQM to compare and evaluate TD quantification approaches.
△ Less
Submitted 11 March, 2023;
originally announced March 2023.
-
Software Engineering in Australasia
Authors:
Sherlock A. Licorish,
Christoph Treude,
John Grundy,
Chakkrit Tantithamthavorn,
Kelly Blincoe,
Stephen MacDonell,
Li Li,
Jean-Guy Schneider
Abstract:
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 popular in the Australasian software engineering…
▽ More
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 popular in the Australasian software engineering community. We then briefly review the particular strengths of software engineering researchers in Australasia. Finally we make an open call for collaborators by reflecting on our current position and identifying future opportunities
△ Less
Submitted 10 June, 2022;
originally announced June 2022.
-
Code Smells Detection via Modern Code Review: A Study of the OpenStack and Qt Communities
Authors:
Xiaofeng Han,
Amjed Tahir,
Peng Liang,
Steve Counsell,
Kelly Blincoe,
Bing Li,
Yajing Luo
Abstract:
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 identified in modern code review and what actions review…
▽ More
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 identified in modern code review and what actions reviewers suggest and developers take in response to the identified smells, we conducted a study of code smells in code reviews by analyzing reviews from four large open source projects from the OpenStack (Nova and Neutron) and Qt (Qt Base and Qt Creator) communities. We manually checked a total of 25,415 code review comments obtained by keywords search and random selection, and identified 1,539 smell-related reviews. Our analysis found that 1) code smells were not commonly identified in code reviews, 2) smells were usually caused by violation of coding conventions, 3) reviewers usually provided constructive feedback, including fixing (refactoring) recommendations to help developers remove smells, 4) developers generally followed those recommendations and actioned the changes, 5) once identified by reviewers, it usually takes developers less than one week to fix the smells, and 6) the main reason why developers chose to ignore the identified smells is not worth fixing the smell. Our results suggest that: 1) developers should closely follow coding conventions in their projects to avoid introducing code smells, 2) review-based detection of code smells is perceived to be a trustworthy approach by developers, mainly because reviews are context-sensitive (as reviewers are more aware of the context of the code given that they are part of the project's development team), and 3) program context needs to be fully considered in order to make a decision of whether to fix the identified code smell immediately.
△ Less
Submitted 16 May, 2022;
originally announced May 2022.
-
Evaluating Software User Feedback Classifiers on Unseen Apps, Datasets, and Metadata
Authors:
Peter Devine,
Yun Sing Koh,
Kelly Blincoe
Abstract:
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 classifiers report generally good performance when evalua…
▽ More
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 classifiers report generally good performance when evaluated on a test set, questions remain as to how well they extend to unseen data in various forms.
This study evaluates machine learning classifiers performance on feedback for two common classification tasks (classifying bug reports and feature requests). Using seven datasets from prior research studies, we investigate the performance of classifiers when evaluated on feedback from different apps than those contained in the training set and when evaluated on completely different datasets (coming from different feedback platforms and/or labelled by different researchers). We also measure the difference in performance of using platform-specific metadata as a feature in classification.
We demonstrate that classification performance is similar on feedback from unseen apps compared to seen apps in the majority of cases tested. However, the classifiers do not perform well on unseen datasets. We show that multi-dataset training or zero shot classification approaches can somewhat mitigate this performance decrease. Finally, we find that using metadata as features in classifying bug reports and feature requests does not lead to a statistically significant improvement in the majority of datasets tested. We discuss the implications of these results on developing user feedback classification models to analyse and extract software requirements.
△ Less
Submitted 26 December, 2021;
originally announced December 2021.
-
What Drives and Sustains Self-Assignment in Agile Teams
Authors:
Zainab Masood,
Rashina Hoda,
Kelly Blincoe
Abstract:
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 themselves. We collected data from 42 participants wo…
▽ More
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 themselves. We collected data from 42 participants working in 25 different software companies. We applied Grounded Theory procedures to study and analyse factors for self-assigning tasks, which we grouped into three categories: task-based, developer-based, and opinion-based. We found that developers have individual preferences and not all factors are important to every developer. Managers share some common and varying perspectives around the identified factors. Most managers want developers to give higher priority to certain factors. Developers often need to balance between task priority and their own individual preferences, and managers facilitate this through a variety of strategies. More risk-averse managers encourage expertise-based self-assignment to ensure tasks are completed quickly. Managers who are risk-balancing encourage developers to choose tasks that provide learning opportunities only when there is little risk of delays or reduced quality. Finally, growth-seeking managers regularly encourage team members to pick tasks outside their comfort zone to encourage growth opportunities. Our findings will help managers to understand what developers consider when self-assigning tasks and help them empower their teams to practice self-assignment in a sustainable manner.
△ Less
Submitted 10 August, 2021;
originally announced August 2021.
-
Managing Requirements Change the Informal Way: When Saying 'No' is Not an Option
Authors:
Waqar Hussain,
Didar Zowghi,
Tony Clear,
Stephen MacDonell,
Kelly Blincoe
Abstract:
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 requirements changes is a critical aspect of software en…
▽ More
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 requirements changes is a critical aspect of software engineering, conceptions of requirements change in the literature and approaches to their management in practice still seem rudimentary. The overall goal of this study is to better understand the process of requirements change management. We present findings from an exploratory case study of requirements change management in a globally distributed setting. In this context we noted a contrast with the traditional models of requirements change. In theory, change control policies and formal processes are considered as a natural strategy to deal with requirements changes. Yet we observed that "informal requirements changes" (InfRc) were pervasive and unavoidable. Our results reveal an equally 'natural' informal change management process that is required to handle InfRc in parallel. We present a novel model of requirements change which, we argue, better represents the phenomenon and more realistically incorporates both the informal and formal types of change.
△ Less
Submitted 1 April, 2021;
originally announced April 2021.
-
Real World Scrum A Grounded Theory of Variations in Practice
Authors:
Zainab Masood,
Rashina Hoda,
Kelly Blincoe
Abstract:
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 interviews of 45 participants from 30 companies an…
▽ More
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 interviews of 45 participants from 30 companies and observations of five teams, we present our findings on how Scrum works in practice as compared to how it is presented in its formative books. We identify significant variations in these practices such as work breakdown, estimation, prioritization, assignment, the associated roles and artefacts, and discuss the underlying rationales driving the variations. Critically, we claim that not all variations are process misuse/abuse and propose a nuanced classification approach to understanding variations as standard, necessary, contextual, and clear deviations for successful Scrum use and adaptation
△ Less
Submitted 28 March, 2021;
originally announced March 2021.
-
Perceptions of Gender Diversity's impact on mood in software development teams
Authors:
Kelly Blincoe,
Olga Springer,
Michal R. Wrobel
Abstract:
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 that the atmosphere in gender-differentiated teams…
▽ More
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 that the atmosphere in gender-differentiated teams is more pleasant compared to purely male ones. The paper also discusses the problem of gender discrimination, which, according to the results of the study, unfortunately still exists and affects the working atmosphere. Finally, we looked at ways to reduce the gender inequity, where it turned out that soft approaches such as dedicated training, workshops to show the human face of the IT industry are preferred.
△ Less
Submitted 23 May, 2019;
originally announced May 2019.