85,318 research outputs found

    Culture dimensions in software development industry: The effects of mentoring

    Get PDF
    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?

    Full text link
    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?

    Get PDF
    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)

    Get PDF
    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

    Full text link
    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

    Get PDF
    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

    Get PDF
    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

    Full text link
    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

    Get PDF
    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
    • …
    corecore