85,318 research outputs found
Culture dimensions in software development industry: The effects of mentoring
Software development is a human centric and sociotechnical activity and like all human activities is influenced by cultural factors. However, software engineering is being further affected because of the globalization in software development. As a result, cultural diversity is influencing software development and its outcomes. The software engineering industry, a very intensive industry regarding human capital, is facing a new era in which software development personnel must adapt to multicultural work environments. Today, many organizations present a multicultural workforce which needs to be managed. This paper analyzes the influence of culture on mentoring relationships within the software engineering industry. Two interesting findings can be concluded from our study: (1) cultural differences affect both formal and informal mentoring, and (2) technical competences are not improved when implementing mentoring relationships
How do software practitioners perceive human-centric defects?
Context: Human-centric software design and development focuses on how users
want to carry out their tasks rather than making users accommodate their
software. Software users can have different genders, ages, cultures, languages,
disabilities, socioeconomic statuses, and educational backgrounds, among many
other differences. Due to the inherently varied nature of these differences and
their impact on software usage, preferences and issues of users can vary,
resulting in user-specific defects that we term as `human-centric defects'
(HCDs).
Objective: This research aims to understand the perception and current
management practices of such human-centric defects by software practitioners,
identify key challenges in reporting, understanding and fixing them, and
provide recommendations to improve HCDs management in software engineering.
Method: We conducted a survey and interviews with software engineering
practitioners to gauge their knowledge and experience on HCDs and the defect
tracking process.
Results: We analysed fifty (50) survey- and ten (10) interview- responses
from SE practitioners and identified that there are multiple gaps in the
current management of HCDs in software engineering practice. There is a lack of
awareness regarding human-centric aspects, causing them to be lost or
under-appreciated during software development. Our results revealed that
handling HCDs could be improved by following a better feedback process with
end-users, a more descriptive taxonomy, and suitable automation.
Conclusion: HCDs present a major challenge to software practitioners, given
their diverse end-user base. In the software engineering domain, research on
HCDs has been limited and requires effort from the research and practice
communities to create better awareness and support regarding human-centric
aspects
Software systems engineering: a journey to contemporary agile and beyond, do people matter?
It is fascinating to view the evolution of software systems engineering over the decades. At the first glance, it could be perceived that the various approaches and processes are different. Are they indeed different? This paper will briefly discuss such a journey relating to findings from an empirical study in some organisations in the UK. Some of the issues described in the literature and by practitioners are common across different software system engineering approaches over the time. It can be argued that human-element of software development plays an integral part in the success of software systems development endeavour. After all, software engineering is a human-centric craft. In order to understand such issues, we crossed the discipline to other disciplines in order to adapt theories and principles that will help to better understand and tackle such matter. Other disciplines have well established human related theories and principles that can be useful. From Japanese management philosophies, we have adapted Lean and knowledge management theories. From psychology, we have adapted Emotional Intelligence (EI). With such an interdisciplinary view, some of the issues can be addressed adequately. Which bring the question: is it really the process or the people? The second author will reflect on his experience attending the first SQM conference 25 years ago. The reflection will discuss the evolution of software systems engineering, and what was changed since then, if at all changed
Report on the 2nd Workshop on Human Centric Software Engineering & Cyber Security (HCSE&CS 2021)
As the creators, designers, coders, testers, users, and occasional abusers of all software systems-including cyber security systems - humans should be at the centre of all design and development efforts. Despite this, most software engineering and cyber security research and practices tend to be function, data, or process oriented. In contrast, human-centric software engineering focuses on the human-centric issues critical to successful software systems' engineering. The aim of the International Workshop on Human Centric Software Engineering & Cyber Security (HCSE&CS) was to provide a venue for sharing research ideas and outcomes on enhanced theory, models, tools, and capability for next-generation human-centric software engineering and cyber security. The Second HCSE&CS Workshop was held on 15 November 2021 in conjunction with ASE 2021, the 36th IEEE/ACM International Conference on Automated Software Engineering. It was originally intended to be held in Melbourne, Australia but was instead held virtually due to the COVID-19 pandemic. This post-workshop report provides an overview of the aims and motivation of the workshop as well as a summary of the presentations and discussions that took place during the workshop
UX Debt: Developers Borrow While Users Pay
Technical debt has become a well-known metaphor among software professionals,
illustrating how shortcuts taken during development can accumulate and become a
burden for software projects. In the traditional notion of technical debt,
software developers borrow from the maintainability and extensibility of a
software system for a short-term speed up in development time. In the future,
they are the ones who pay the interest in form of longer development times.
User experience (UX) debt, on the other hand, focuses on shortcuts taken to
speed up development at the expense of subpar usability, thus mainly borrowing
from user efficiency. Most research considers code-centric technical debt,
focusing on the implementation. With this article, we want to build awareness
for the often overlooked UX debt of software systems, shifting the focus from
the source code towards users. We outline three classes of UX debt that we
observed in practice: code-centric, architecture-centric, and process-centric
UX debt. In an expert survey, we validated those classes, with code-centric and
process-centric UX debt getting the strongest support. We discuss our
participants' feedback and present recommendations on how software development
teams can mitigate UX debt in their user-facing applications.Comment: 6 pages, 2 figures, Proceedings of the 17th International Conference
on Cooperative and Human Aspects of Software Engineering (CHASE 2024
Software project economics: A roadmap
The objective of this paper is to consider research progress in the field of software project economics with a view to identifying important challenges and promising research directions. I argue that this is an important sub-discipline since this will underpin any cost-benefit analysis used to justify the resourcing, or otherwise, of a software project. To accomplish this I conducted a bibliometric analysis of peer reviewed research articles to identify major areas of activity. My results indicate that the primary goal of more accurate cost prediction systems remains largely unachieved. However, there are a number of new and promising avenues of research including: how we can combine results from primary studies, integration of multiple predictions and applying greater emphasis upon the human aspects of prediction tasks. I conclude that the field is likely to remain very challenging due to the people-centric nature of software engineering, since it is in essence a design task. Nevertheless the need for good economic models will grow rather than diminish as software becomes increasingly ubiquitous
A multidisciplinary and collaborative problem solving architecture for high-level computer aided process planning in discrete manufacturing
Student Number : 0111474R -
PhD thesis -
School of Mechanical, Industrial and Aeronautical Engineering -
Faculty of Engineering and the Built EnvironmentOne of the most daunting challenges in Computer Integrated Manufacturing
(CIM) is bridging the gap between Computer Aided Design (CAD) and Computer
Aided Process Planning (CAPP). Past research into CAPP, considered one of the
most important and most complicated computer aided systems, resulted in a
wealth of knowledge but unresolved problems still exist. The actual CAPP
systems are considered large, complex, and monolithic, with limited extensibility,
low-level of integration with other applications, and high development and
maintenance costs. Consequently, this thesis develops a new framework that
focuses on a CAPP architecture for problem solving that manages complexity
through simplicity, and applies principles and strategies used in manufacturing
enterprise management, automation, robotics, and software engineering, that
finally leads to a system of systems which is human-centric, architectural-centric,
process-centric, and in line with the IT (Information Technology) infrastructure
trends. Thereafter, the framework is used to develop a number of software
applications that apply object-oriented programming as a new way of thinking
about solving CAPP problems and as a promising alternative to other techniques.
Then, the capabilities of the new approach are demonstrated through the use of
examples. The thesis ends with conclusions about the new CAPP approach, and
finally highlights its theoretical and practical implications
Runtime Monitoring of Human-centric Requirements in Machine Learning Components: A Model-driven Engineering Approach
As machine learning (ML) components become increasingly integrated into
software systems, the emphasis on the ethical or responsible aspects of their
use has grown significantly. This includes building ML-based systems that
adhere to human-centric requirements, such as fairness, privacy,
explainability, well-being, transparency and human values. Meeting these
human-centric requirements is not only essential for maintaining public trust
but also a key factor determining the success of ML-based systems. However, as
these requirements are dynamic in nature and continually evolve, pre-deployment
monitoring of these models often proves insufficient to establish and sustain
trust in ML components. Runtime monitoring approaches for ML are potentially
valuable solutions to this problem. Existing state-of-the-art techniques often
fall short as they seldom consider more than one human-centric requirement,
typically focusing on fairness, safety, and trust. The technical expertise and
effort required to set up a monitoring system are also challenging. In my PhD
research, I propose a novel approach for the runtime monitoring of multiple
human-centric requirements. This approach leverages model-driven engineering to
more comprehensively monitor ML components. This doctoral symposium paper
outlines the motivation for my PhD work, a potential solution, progress so far
and future plans
Learning Human Aspects of Collaborative Software Development
Collaboration has become increasingly widespread in the software industry as systems have become larger and more complex, adding human complexity to the technological complexity already involved in developing software systems. To deal with this complexity, human-centric software development methods, such as Extreme Programming and other agile methods, have been developed and implemented. Aiming to prepare future software developers for today\u27s software industry, this paper presents a framework for developing collaborative learning tools and activities, and examples that were developed for the course Human Aspects of Software Engineering in order to assist students in learning collaborative software development. The learning processes and knowledge construction undergone by the students in the study were examined empirically, both in general and with respect to collaboration in particular. Results indicate that, based on their individual and group in-class experiences and reflections, students developed skills and constructed both practical and theoretical knowledge relating to successful collaborative software development
- âŚ