Article

Agile software engineers’ affective states, their performance and software quality: A systematic mapping review

Authors:
To read the full-text of this research, you can request a copy directly from the authors.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

... Within digital environments, engineers test various materials along with different configurations and operating conditions to exceed design boundaries beyond what physical testing would allow. Aerospace and automotive engineering, together with other precision-demanding sectors, benefit from this feature [5]. Companies using simulation tools in their design process speed up product development durations and decrease material expenditure, and produce better final products. ...
... Previous research (e.g., [ 10,53,60]) emphasize that performance metrics are crucial for understanding, predicting, and evaluating software development projects. Recent studies discussed the reasons using software metrics within agile software development [ 23,62]. ...
Chapter
Context: The success of software development projects relies on effective software process improvement (SPI), particularly within the agile paradigm that thrives on adaptability in dynamic markets. Objective: This study aims to investigate the barriers to effectively employing performance metrics in agile software development and to propose actionable strategies for enhancing their application. Method: Leveraging a mixed-methods approach, this research builds upon previous findings by conducting an updated literature review to identify current trends and challenges in performance metrics usage. Additionally, an in-depth case study employing focus group discussions and qualitative data analysis was performed in a real-world agile environment. Results: The findings reveal that while metrics such as story points and burn-down charts are commonly utilized, teams encounter significant obstacles including a lack of standardization, transparency, and accuracy. This paper provides a nuanced analysis of these barriers and introduces additional metrics identified from an exhaustive literature review. Contributions: This work broadens the repository of performance metrics for agile practices and offers a structured framework to address the challenges uncovered. By combining updated theoretical insights with practical recommendations, it provides researchers and practitioners with a road-map to optimize metric adoption, enabling more robust and effective agile software process improvement initiatives.
... Agile Software Development (ASD) is the most popular method in Software Engineering, ensuring the rapid development of high-quality software for customers [1]. Recent research has applied ASD to implement software engineering processes, employing Requirements Engineering (RE) as the initial phase. ...
... Previous research (e.g., [8], [9]) emphasize that performance metrics are crucial for understanding, predicting, and evaluating software development projects. Recent studies discussed the reasons using software metrics within ASD [10]. ...
Conference Paper
Context: Software process improvement (SPI) is known as a key for being successful in software development. Measuring quality and performance is of high importance in agile software development as agile approaches focussing strongly on short-term success in dynamic markets. Even if software engineering research emphasizes the importance of performance metrics while using agile methods, the literature lacks on detail how to apply such metrics in practice and what challenges may occur while using them. Objective: The core objective of our study is to identify challenges that arise when using agile software development performance metrics in practice and how we can improve their successful application. Method: We decided to design a mixed-method study. First, we performed a rapid literature review to provide an up-to-date overview of used performance metrics. Second, we conducted a single case study using a focus group approach and qualitative data collection and analysis in a real-world setting. Results: Our results show that while widely used performance metrics such as story points and burn down charts are widely used in practice, agile software development teams face challenges due to a lack of transparency and standardization as well as insufficient accuracy. Contributions: Based on our findings, we present a repository of widely used performance metrics for agile software development. Furthermore, we present implications for practitioners and researchers especially how to deal with challenges agile software development face while applying such metrics in practice.
... The complete team, guided by the professors, creates the project's work plan and sets the goals and deliverables, as well as the team structures. The Agile Project Management (APM) methodology guides the process [18], emphasizing critical moments like "Project Kickoff", "Weekly team stand-up", "Weekly catch-up meetings", and a "Release retrospective". This approach ensures efficiency and continual improvement and aids in identifying future project leaders while delivering customer-centric and proactive products according to stakeholders' needs [19]. ...
Conference Paper
Traditionally, research and scientific endeavors have predominantly involved graduate students, often sidelining participation of undergraduate students. However, integrating under-graduate students into leading cutting-edge projects significantly enhances their academic experience and professional growth. This manuscript delves into the case study of Conscious Technologies, an innovative research group comprising the Campus City initiative and the IUCRC International BRAIN Affiliate Site at Tecnologico de Monterrey. The group's focus encompasses smart city solutions, computer vision, robotic operating systems, neuroengineering, biometry, and biomechanics, all powered by artificial intelligence. The group efficiently manages a diverse array of projects by employing methodologies such as agile project management and a progressive-phased research approach, which leads to beneficial outcomes for all stakeholders. Undergraduate students gain hands-on experience, increasing their prospects for admission into prestigious graduate programs abroad, while at the same time, research professors expand their international presence through impactful publications. High research output gradually fosters collaboration, including exchanges and stays abroad, further catalyzing the centre's growth. By tackling real-world challenges within a well-structured framework, supplemented with intrinsic and extrinsic rewards and regular meetings, students enjoy autonomy within guided projects, culminating in the publication of 26 scientific works over a span of three years.
... Previous research [6], [7] shows that performance metrics are crucial for understanding, predicting, and evaluating software development projects. Existing software metrics have been widely studied, and recent studies have discussed their reasons for use and effects within ASD [8]. ...
Preprint
Full-text available
Context: Software process improvement (SPI) is known as a key for being successfull in software development. Measuring quality and performance is of high importance in agile software development as agile approaches focussing strongly on short-term success in dynamic markets. Even if software engineering research emphasizes the importance of performance metrics while using agile methods, the literature lacks on detail how to apply such metrics in practice and what challenges may occur while using them. Objective: The core objective of our study is to identify challenges that arise when using agile software development performance metrics in practice and how we can improve their successful application. Method: We decided to design a mixed-method study. First, we performed a rapid literature review to provide an up-to-date overview of used performance metrics. Second, we conducted a single case study using a focus group approach and qualitativ data collection and analysis in a real-world setting. Results: Our results show that while widely used performance metrics such as story points and burn down charts are widely used in practice, agile software development teams face challenges due to a lack of transparency and standardization as well as insufficient accuracy. Contributions: Based on our findings, we present a repository of widely used performance metrics for agile software development. Furthermore, we present implications for practitioners and researchers especially how to deal with challenges agile software development face while applying such metrics in practice.
... XP is a well-established agile software development model known for its agility in adapting to changing requirements while ensuring high customer satisfaction (Anwer et al., 2017). It places a strong emphasis on effective communication and active customer involvement, underscoring the importance of interpersonal and social skills within the development team to efficiently deliver modules to customers during each iteration (Salido O. et al., 2023). Agile approaches, as highlighted by Van Casteren (2017), incorporate short iterative cycles, feature planning, and dynamic prioritization as essential components. ...
Article
Full-text available
This study introduces MyOnTime, an innovative application designed to revolutionize student attendance management at Sekolah Indonesia Kota Kinabalu (SIKK) in response to the evolving educational landscape in the aftermath of the COVID-19 pandemic. The primary objective of this research was to develop an efficient and user-friendly solution that enhances attendance recording, promotes administrative efficiency, and aligns with current health and environmental guidelines. To achieve this goal, we employed the Extreme Programming (XP) and harnessed the AppSheet platform, a low-code application development tool. MyOnTime offers a streamlined approach to attendance recording through barcode scanning, minimizing manual data entry and reducing reliance on paper-based methods. We conducted a comprehensive user survey to evaluate the application's functionality, responsiveness, and reliability. The results indicate overwhelmingly positive user feedback, highlighting MyOnTime's effectiveness and its ability to meet the specific needs of students, teachers, and administrative staff. MyOnTime empowers educational institutions by providing real-time attendance data, comprehensive reporting capabilities, and a user-friendly interface. It supports sustainable practices by reducing paper waste and contributes to a more organized and disciplined learning environment. MyOnTime represents a promising tool for enhancing the educational experience in the post-pandemic era, promoting efficiency, convenience, and environmental friendliness in attendance management.
Article
Purpose A survey of 153 Brazilian agile software development (ASD) professionals was conducted to meet the study’s objectives. Data were analyzed using partial least squares structural equation modeling (PLS-SEM). Design/methodology/approach ASD practices have been greatly influenced by digital technologies, including big data analytics (BDA). BDA capabilities refer to the ability of companies to continuously use extensive collections of data, bringing together different types of knowledge and analytical techniques with the strategic aim of creating value and sustaining competitive advantages. Grounded on the dynamic capabilities view (DCV) theory, this study assessed the effects that ASD practices have on project performance. In addition, this study investigated whether BDA capabilities have a moderating or mediating effect on this relationship. Findings Findings suggest that agile practices account for 51.72% of the variance in project performance, reinforcing their significance in the successful management of software projects. However, a meaningful impact of BDA capabilities on project performance within agile environments was not observed. Possible reasons for this finding are presented and include BDA maturity level and company size as most relevant. Originality/value Our study opens new avenues for future research and theoretical developments on how BDA capabilities can be effectively integrated with agile methodologies to influence project performance positively.
Article
Full-text available
Agile software development is immensely popular in the industry, but most teams struggle to sustain its use. Human factors like management support, agile training, agile mindset, and team resilience are often neglected, hindering long-term success. However, research has not explored their underlying mechanisms in depth. Therefore, this study examines if management support impacts the sustained usage of agile methodologies within software development teams. It subsequently investigates the individual and serial mediating effects of agile training, the agile mindset, and team resilience on this relationship. Additionally, it compares the importance and performance of management support, agile training, the agile mindset, and team resilience in infusing agile practices. Finally, it determines these antecedents’ necessity for the enduring success of agile application. Data collected from 391 agile software development professionals using a structured questionnaire. Partial-least-squares structural equation modelling, importance-performance map analysis and necessary condition analysis were used to investigate relationships. The findings underscore the pivotal role of management support in infusing agile practices. Agile training, mindset, and team resilience emerge as critical mediators, with a strong serial mediation effect. While management support is paramount, its practical implementation falls short within teams. All four antecedents are found to be necessary for optimal agile sustainment. Thus, this study significantly advances theoretical understanding by introducing a serial mediation model that elucidates their mechanisms in impacting agile infusion. It extends prior organisational-level findings to the team-level. The study’s quantitative verification of qualitative findings strengthens their generalisability to a broader spectrum of teams. It pioneers in expounding the constructs’ relative importance, performance and necessity, to offer actionable insights for agile practitioners. Finally, it provides methodological guidance to apply importance performance map analysis and necessary condition analysis in agile software development research.
Article
Full-text available
Reports of poor work well-being and fluctuating productivity in software engineering have been reported in both academic and popular sources. Understanding and predicting these issues through repository analysis might help manage software developers’ well-being. Our objective is to link data from software repositories, that is commit activity, communication, expressed sentiments, and job events, with measures of well-being obtained with a daily experience sampling questionnaire. To achieve our objective, we studied a single software project team for eight months in the software industry. Additionally, we performed semi-structured interviews to explain our results. The acquired quantitative data are analyzed with generalized linear mixed-effects models with autocorrelation structure. We find that individual variance accounts for most of the R ² values in models predicting developers’ experienced well-being and productivity. In other words, using software repository variables to predict developers’ well-being or productivity is challenging due to individual differences. Prediction models developed for each developer individually work better, with fixed effects R ² value of up to 0.24. The semi-structured interviews give insights into the well-being of software developers and the benefits of chat interaction. Our study suggests that individualized prediction models are needed for well-being and productivity prediction in software development.
Article
Full-text available
Stress pervades our everyday life to the point of being considered the scourge of the modern industrial world. The effects of stress on knowledge workers causes, in short term, performance fluctuations, decline of concentration, bad sensorimotor coordination, and an increased error rate, while long term exposure to stress leads to issues such as dissatisfaction, resignation, depression and general psychosomatic ailment and disease. Software developers are known to be stressed workers. Stress has been suggested to have detrimental effects on team morale and motivation, communication and cooperation-dependent work, software quality, maintainability, and requirements management. There is a need to effectively assess, monitor, and reduce stress for software developers. While there is substantial psycho-social and medical research on stress and its measurement, we notice that the transfer of these methods and practices to software engineering has not been fully made. For this reason, we engage in an interdisciplinary endeavor between researchers in software engineering and medical and social sciences towards a better understanding of stress effects while developing software. This article offers two main contributions. First, we provide an overview of supported theories of stress and the many ways to assess stress in individuals. Second, we propose a robust methodology to detect and measure stress in controlled experiments that is tailored to software engineering research. We also evaluate the methodology by implementing it on an experiment, which we first pilot and then replicate in its enhanced form, and report on the results with lessons learned. With this work, we hope to stimulate research on stress in software engineering and inspire future research that is backed up by supported theories and employs psychometrically validated measures.
Conference Paper
Full-text available
Agile methodologies have been frequently adopted in software development. In the literature, multiple metrics have been used as tools for continuous improvement in Agile Software Development (ADS). However, there is a limited number of studies into specialized metrics for measuring a team’s productivity. This article presents a systematic review of the literature on metrics that assess the productivity of teams that create software implementing ADS. In total, 822 articles were identified, out of which 10 were selected applying the protocol described in this article. The results include 21 team productivity metrics, most of which focus on measuring the timely and frequent delivery of software and the value that tasks add to the software product. The classification of the metrics revealed that they are mainly oriented to organizational performance and project management and use numeric and comparative scales for measurements. These metrics reflect new trends in agile methodologies that encourage reflection-experimentation.
Article
Full-text available
Agile development methodologies (ADM) have become a widely implemented project management approach in Information Systems (IS). Yet, along with its growing popularity, the amount of concerns raised in regard to human related challenges caused by applying ADM are rapidly increasing. Nevertheless, the extant scholarly literature has neglected to identify the primary origins and reasons of these challenges. The purpose of this study is therefore to examine if these human related challenges are related to a lack of Emotional Intelligence (EI) by means of a quantitative approach. From a sample of 194 agile practitioners, EI was found to be significantly correlated to human related challenges in agile teams in terms of anxiety, motivation, mutual trust and communication competence. Hence, these findings offer important new knowledge for IS-scholars, project managers and human resource practitioners, about the vital role of EI for staffing and training of agile managed IS-projects.
Article
Full-text available
Emotions influence cognitive processes that underlie human behavior. Whereas experiencing negative emotions may lead to develop psychological disorders, experiencing positive emotions may improve creative thinking and promote cooperative behavior. The importance of human emotions has led to the development of automatic emotion recognition systems based on analysis of speech waveforms, facial expressions, and physiological signals as well as text data mining. However, emotions are associated with a context (in which emotions are actually experienced), hence, this work focuses on emotion recognition from contextual information. In this paper, we present a study aimed to assess the feasibility of automatically recognizing emotions from individuals' contexts. In this study, 32 participants provided information using a mobile application about their emotions and the context (e.g., companions, activities, and locations) in which these emotions were experienced. We used machine learning techniques to build individual models, general models, and gender-specific models to automatically recognize emotions of participants. The empirical results show that individuals' emotions are highly related to their context and that automatic recognition of emotions in real-world situations is feasible by using contextual data.
Conference Paper
Full-text available
Agile software development teams strive for fast and continuous feedback. Both the quality of the resulting software and the performance of the team require feedback. The performance of the team developments is often addressed in retrospectives which are not only part of the SCRUM framework, but also in general. Reflecting on incidents during the last sprint helps the team to increase performances, expressed by, e.g., efficiency and productivity. However, it is not only essential to identify volatile sprint performances, but also to characterize the primary cause to solve them. Main reasons for low performance are often not visible, primarily when they are related to socialdriven team behavior, such as communication structures, mood, or satisfaction. In this paper, we analyze whether automated team feedback about retrospective sprint-behavior can help the team to increase performances due to additional awareness about the dynamic effects over time. In a comparative case study with 15 software projects and a total of 130 undergraduate students, we investigated the sustainable impact of feedback on human aspects. Our results indicate that automated feedback positively affects team performances – and customer satisfaction.
Chapter
Full-text available
Stress is an important workplace issue, affecting both the health of individuals, and the health of organizations. Early advocacy for Agile Software Development suggested it might help avoid stress, with practices that emphasize a sustainable pace, and self-organizing teams. Our analysis of a 2014 survey, however, suggested that stress might still be commonplace in Agile teams, especially for those with less experience. We also noticed that newcomers to Agile emphasized technical, rather than collaborative, practices, and speculated this might explain the stress. We explored this in our analysis of a follow-up survey conducted in 2016, and report our findings in this paper. We show that there are a variety of factors involved, and that avoiding stress is associated with both collaborative and technical practices, and a range of outcomes.
Article
Full-text available
Software developers experience and share a wide range of emotions throughout a rich ecosystem of communication channels. A recent trend that has emerged in empirical software engineering studies is leveraging sentiment analysis of developers' communication traces. We release a dataset of 4,800 questions, answers, and comments from Stack Overflow, manually annotated for emotions. Our dataset contributes to the building of a shared corpus of annotated resources to support research on emotion awareness in software development.
Conference Paper
Full-text available
The ever strengthening symbiosis between software and society calls for increasing attention on the emotions of the users in the engineering of software. In the context of agile software development, this paper proposes a preliminary framework for a user-centered and conceptual model-based process for engineering affective user stories, and illustrates a part of it by an example.
Article
Full-text available
The growing literature on affect among software developers mostly reports on the linkage between happiness, software quality, and developer productivity. Understanding happiness and unhappiness in all its components -- positive and negative emotions and moods -- is an attractive and important endeavour. Scholars in industrial and organizational psychology have suggested that understanding happiness and unhappiness could lead to cost-effective ways of enhancing working conditions, job performance, and to limiting the occurrence of psychological disorders. Our comprehension of the consequences of (un)happiness among developers is still too shallow, being mainly expressed in terms of development productivity and software quality. In this paper, we study what happens when developers are happy and not happy. Qualitative data analysis of responses given by 317 questionnaire participants identified 42 consequences of unhappiness and 32 of happiness. We found consequences of happiness and unhappiness that are beneficial and detrimental for developers' mental well-being, the software development process, and the produced artefacts. Our classification scheme, available as open data enables new happiness research opportunities of cause-effect type, and it can act as a guideline for practitioners for identifying damaging effects of unhappiness and for fostering happiness on the job.
Conference Paper
Full-text available
The happy-productive worker thesis states that happy workers are more productive. Recent research in software engineering supports the thesis, and the ideal of flourishing happiness among software developers is often expressed among industry practitioners. However, the literature suggests that a cost-effective way to foster happiness and productivity among workers could be to limit unhappiness. Psychological disorders such as job burnout and anxiety could also be reduced by limiting the negative experiences of software developers. Simultaneously, a baseline assessment of (un)happiness and knowledge about how developers experience it are missing. In this paper, we broaden the understanding of unhappiness among software developers in terms of (1) the software developer population distribution of (un)happiness, and (2) the causes of unhappiness while developing software. We conducted a large-scale quantitative and qualitative survey, incorporating a psychometrically validated instrument for measuring (un)happiness, with 2,220 developers, yielding a rich and balanced sample of 1,318 complete responses. Our results indicate that software developers are a slightly happy population, but the need for limiting the unhappiness of developers remains. We also identified 219 factors representing causes of unhappiness while developing software. Our results, which are available as open data, can act as guidelines for practitioners in management positions and developers in general for fostering happiness on the job. We suggest future research in software engineering should consider happiness in studies of human aspects and even in seemingly unrelated technical areas.
Conference Paper
Full-text available
During the past years, psychological diseases related to unhealthy work environments, such as burnouts, have drawn more and more public attention. One of the known causes of these affective problems is time pressure. In order to form a theoretical background for time pressure detection in software repositories, this paper combines interdisciplinary knowledge by analyzing 1270 papers found on Scopus database and containing terms related to time pressure. By clustering those papers based on their abstract, we show that time pressure has been widely studied across different fields, but relatively little in software engineering. From a literature review of the most relevant papers, we infer a list of testable hypotheses that we want to verify in future studies in order to assess the impact of time pressures on software developers mental health.
Article
Full-text available
Recent research in software engineering supports the "happy-productive" thesis, and the desire of flourishing happiness among programmers is often expressed by industry practitioners. Recent literature has suggested that a cost-effective way to foster happiness and productivity among workers could be to limit unhappiness of developers due to its negative impact. However, possible negative effects of unhappiness are still largely unknown in the software development context. In this paper, we present the first results from a study exploring the consequences of the unhappy developers. Using qualitative data analysis of the survey responses given by 181 participants, we identified 49 potential consequences of unhappiness while developing software. These results have several implications. While raising the awareness of the role of moods, emotions and feelings in software development, we foresee that our classification scheme will spawn new happiness studies linking causes and effects, and it can act as a guideline for developers and managers to foster happiness at work.
Article
Full-text available
Small, self-directed teams are central in agile development. This article investigates the effect of teamwork quality on team performance, learning and work satisfaction in agile software teams, and whether this effect differs from that of traditional software teams. A survey was administered to 477 respondents from 71 agile software teams in 26 companies and analyzed using structural equation modeling. A positive effect of teamwork quality on team performance was found when team members and team leaders rated team performance. In contrast, a negligible effect was found when product owners rated team performance. The effect of teamwork quality on team members ́ learning and work satisfaction was strongly positive but was only rated by the team members. Despite claims of the importance of teamwork in agile teams, this study did not find teamwork quality to be higher than in a similar survey on traditional teams. The effect of teamwork quality on team performance was only marginally greater for the agile teams than for the traditional teams.
Article
Full-text available
Agile software-development advocates claim that an important value proposition of agile methods is that they make people more motivated and satisfied with their jobs. While several studies present anecdotal evidence that agile methods increase motivation and satisfaction, research has not theoretically explained or empirically examined how agile development practices relate to team members’ feelings about their work. Drawing on the management and software-development literature, we articulate a model of job design that connects agile development practices to perceptions of job characteristics and, thereby, improve agile team members’ job satisfaction. Using data collected from 252 software-development professionals, we tested the model and found a positive relationship between agile project-management and software-development practices and employees’ perceptions of job characteristics. Further, we found direct effects between agile development-practice use and job satisfaction. Finally, we found interaction effects between the use of agile project-management and software-development approaches and the perception of job autonomy. With this study, we contribute to the literature by theoretically explaining and directly evaluating agile development practices’ impact on individuals’ perceptions about their job characteristics and on their job satisfaction.
Article
Full-text available
Affects---emotions and moods---have an impact on cognitive processing activities and the working performance of individuals. It has been established that software development tasks are undertaken through cognitive processing activities. Therefore, we have proposed to employ psychology theory and measurements in software engineering (SE) research. We have called it "psychoempirical software engineering". However, we found out that existing SE research has often fallen into misconceptions about the affect of developers, lacking in background theory and how to successfully employ psychological measurements in studies. The contribution of this paper is threefold. (1) It highlights the challenges to conduct proper affect-related studies with psychology; (2) it provides a comprehensive literature review in affect theory; and (3) it proposes guidelines for conducting psychoempirical software engineering.
Article
Full-text available
Effective interaction processes are becoming critical to group functioning in today's organizations where groups of diverse experts are increasingly asked to make complex, well-integrated, important decisions. In this paper, we fill a current theoretical void by presenting a model of group effectiveness that explains in detail the means through which effective group interaction processes develop and the route through which they impact group effectiveness. Central to the model are the concepts of emotional intelligence (see Goleman, 1995; Mayer & Salovey, 1997) and social capital (see Burt, 1997; Coleman, 1988). Specifically, we argue that emotionally intelligent groups that think intelligently about emotions and that use emotions to think intelligently (Mayer & Salovey, 1997), build a foundation of social capital, defined as collective beliefs that support group trust, safety, networks, identity, and potency. We then propose that the group's level of social capital influences the development of effective task processes, and importantly, engagement in those processes. Thus, the model integrates the role of emotions and social capital into current understanding of group effectiveness in order to explain theoretically, how groups develop effective interaction processes, engage members in effective task processes, and build group effectiveness. Implications and future research directions are discussed.
Article
Full-text available
Software development is a collaborative activity in which developers interact to create and maintain a complex software system. Human collaboration inevitably evokes emotions like joy or sadness, which can affect the collaboration either positively or negatively, yet not much is known about the individual emotions and their role for software development stakeholders. In this study, we analyze whether development artifacts like issue reports carry any emotional information about software development. This is a first step towards verifying the feasibility of an automatic tool for emotion mining in software development artifacts: if humans cannot determine any emotion from a software artifact, neither can a tool. Analysis of the Apache Software Foundation issue tracking system shows that developers do express emotions (in particular gratitude, joy and sadness). However, the more context is provided about an issue report, the more human raters start to doubt and nuance their interpretation of emotions. More investigation is needed before building a fully automatic emotion mining tool.
Conference Paper
Full-text available
Background: Agile software development has been increasingly adopted during the last two decades. Nonetheless, many studies show that using agile methods as defined in the literature does not work very well. Thus, companies adapt these methods by just using parts of them (called agile practices). Objective: The goal of the literature study was to understand which agile practices are used in industry under different circumstances, such as different project types, domains, or processes. Method: We conducted a mapping study of empirical studies using agile practices in industry. The search strategy identified 1110 studies, of which 24 studies including 68 projects were analyzed. Results: The results of this study show that there are practices that are used more often and that the domain and the process also influence the application of different practices. Additionally, the findings confirm the assumption of Ken Schwaber that in most cases, agile methods are not used “completely” but that rather certain practices are adopted. Conclusions: Our results can be used by researchers to get a better idea of where and how to follow up research as well as by practitioners to get a better idea of which practices fit their needs and which are used by others. Therefore, our contribution increases the body of knowledge in agile practices usage.
Conference Paper
Full-text available
Recent surveys show that 42% of Agile projects are successful. While this is three times better than traditional projects, 49% of Agile projects are late or over budget and 9% are total failures. There is a better way to help Agile teams to implement Scrum. At the 2013 Scrum PLoP Conference held in Tisvildeleje, Denmark thought leaders in the Agile community reviewed a set of Scrum Patterns that together generate a high performing Scrum team. During this editorial process it became apparent that a combination of nine Patterns in conjunction with the Scrum framework could help teams achieve Hyper-Productivity, more than a 400% increase in velocity over a team's initial velocity.
Article
The demand for success in agile projects requires serious attention in addressing its issues and challenges, besides merely implementing suitable agile methods. A comprehensive number of factors have been discussed in the literature, but it does not reflect the crucial challenges confronted by the Information Technology industry. This study utilises a Grounded Theory approach, to capture 38 unique issues and challenges faced by 42 participating industry practitioners, through several rounds of interviews. The issues and challenges, simplified as factors, were grouped into Organisation, People, Process and Technical categories. The proposed mitigation methods were also captured, and mapped into a framework, to be used as a guide to manage agile-hybrid projects. Most factors were related to the process and people categories. Key issues were in the areas of executive support, misalignment of agile methods with the business objectives, deficient understanding of agile principles, lack of teamwork and inadequate skillset of the project stakeholders.
Article
Requirements Engineering (RE) requires the collaboration of various roles in SE, such as requirements engineers, stakeholders and other developers, and it is thus a very highly human dependent process in software engineering (SE). Identifying how “human aspects” – such as personality, motivation, emotions, communication, gender, culture and geographic distribution – might impact on the RE process would assist us in better supporting successful RE. The main objective of this paper is to systematically review primary studies that have investigated the effects of various human aspects on the RE process. We wanted to identify if any critical human aspects have been found, and what might be the relationships between different human aspects impacting the RE process. A systematic literature review (SLR) was conducted and identified 474 initial primary research studies. These were eventually filtered down to 74 relevant, high-quality primary studies. No primary study to date was found to focus on identifying what are the most influential human aspects on the RE process. Among the studied human aspects, the effects of communication have been considered in many studies of RE. Other human aspects such as personality, motivation and gender have mainly been investigated to date in relation to more general SE studies that include RE as one phase. Findings show that studying more than one human aspect together is beneficial, as this reveals relationships between various human aspects and how they together impact the RE process. However, the majority of these studied combinations of human aspects are unique. From 56.8 percent of studies that identified the effects of human aspects on RE, 40.5 percent identified the positive impact, 30.9 percent negative, 26.2 percent identified both impacts whereas 2.3 percent mentioned that there was no impact. This implies that a variety of human aspects positively or negatively affects the RE process and a well-defined theoretical analysis on the effects of different human aspects on RE remains to be defined and practically evaluated. The findings of this SLR help researchers who are investigating the impact of various human aspects on the RE process by identifying well-studied research areas, and highlight new areas that should be focused on in future research.
Article
Context Previous research found that the performance of a team not only depends on the team personality composition, but also on the interactive effects of team climate. Although investigation on personalities associated with software development has been an active research area over the past decades, there has been very limited research in relation to team climate. Objective Our study investigates the association between the five factor model personality traits (openness to experience, conscientiousness, extraversion, agreeableness and neuroticism) and the factors related to team climate (team vision, participative safety, support for innovation and task orientation) within the context of agile teams working in a telecom company. Method A survey was used to gather data on personality characteristics and team climate perceptions of 43 members from eight agile teams. The data was initially used for correlation analysis; then, regression models were developed for predicting the personality traits related to team climate perception. Results We observed a statistically significant positive correlation between openness to experience and support for innovation (r = 0.31). Additionally, agreeableness was observed to be positively correlated with overall team climate (r = 0.35). Further, from regression models, we observed that personality traits accounted to less than 15% of the variance in team climate. Conclusion A person's ability to easily get along with team members (agreeableness) has a significant positive influence on the perceived level of team climate. Results from our regression analysis suggest that further data may be needed, and/or there are other human factors, in addition to personality traits, that should also be investigated with regard to their relationship with team climate. Overall, the relationships identified in our study are likely to be applicable to organizations within the telecommunications domain that use scrum methodology for software development.
Article
We are glad to present the "Sentiment and Emotion in Software Engineering" special issue of IEEE Software . In recent years, this topic has gained attention from both the research community and industry. Indeed, academic researchers have organized a number of highly successful workshops, such as the International Workshop on Emotional Awareness in Software Engineering (SEmotion) in 2016-2019. The topic was also explored in a special issue of The Journal of Systems and Software .1 Both small and large companies have considered emotions in some aspects of their work. For example, Microsoft considers emotions in the context of inclusive hiring and support of neurodiverse developers.2 Meanwhile, SkyTV aims at enhancing productivity of teams3 by increasing their emotional awareness. Yet another company, source{d}, designs techniques for detection of sentiment in source-code repositories.<sup>4</sup
Article
Context Over the past 50 years of Software Engineering, numerous studies have acknowledged the importance of human factors. However, software developers’ emotions are still an area under investigation and debate that is gaining relevance in the software industry. Objective In this study, a systematic literature review (SLR) was carried out to identify, evaluate, and synthesize research published concerning software developers’ emotions as well as the measures used to assess its existence. Method By searching five major bibliographic databases, authors identified 7172 articles related to emotions in Software Engineering. We selected 66 of these papers as primary studies. Then, they were analyzed in order to find empirical evidence of the intersection of emotions and software engineering. Results Studies report a total of 40 discrete emotions but the most frequent were: anger, fear, disgust, sadness, joy, love, and happiness. There are also 2 different dimensional approaches and 10 datasets related to this topic which are publicly available on the Web. The findings also showed that self-reported mood instruments (e.g., SAM, PANAS), physiological measures (e.g., heart rate, perspiration) or behavioral measures (e.g., keyboard use) are the least reported tools, although, there is a recognized intrinsic problem with the accuracy of current state of the art sentiment analysis tools. Moreover, most of the studies used software practitioners and/or datasets from industrial context as subjects. Conclusions The study of emotions has received a growing attention from the research community in the recent years, but the management of emotions has always been challenging in practice. Although it can be said that this field is not mature enough yet, our results provide a holistic view that will benefit researchers by providing the latest trends in this area and identifying the corresponding research gaps.
Article
Context Engineering quality requirements in agile projects does not fit organically with agile methods. Despite the agile community acknowledges this, little empirical evidence has been published on this topic. Objective This exploratory qualitative interview-based study explicates the challenging situations experienced by practitioners in engineering the quality requirements in the context of large-scale distributed agile projects. Moreover, this study describes the practices that agile distributed teams currently use which could contribute by dealing with the identified challenges. Method The challenging situations and possible mitigation practices were studied from the perspective of 17 practitioners from large distributed agile project teams in six organizations in The Netherlands. Qualitative data were collected using semi-structured, open-ended interviews. Qualitative coding techniques were used for data analysis, to identify the challenges of engineering quality requirements, the mechanisms behind the challenges and the practices used that could mitigate the impact of those challenges. Further, by using dialog mapping technique for qualitative data structuring, we have mapped the identified mechanisms and practices to the challenges. Results From the perspective of the participating practitioners, our exploratory study revealed 15 challenges classified in five categories: (1) team coordination and communication, (2) quality assurance, (3) quality requirements elicitation, (4) conceptual challenges, and (5) software architecture. The study has also disclosed 13 mechanisms behind the challenges and 9 practices that could mitigate the impact of those challenges. Conclusions The main contributions of the paper are: 1) the explication of the challenges from practitioners’ perspective and the comparison of our findings with previously published results, 2) the description of the mechanisms behind the challenges, and 3) the identification of the practices currently used by agile teams that could mitigate the impact of the challenges. The findings of this study provide useful input into the process of designing possible solution approaches to overcome the challenges.
Conference Paper
Software developers experience a wide variety of emotions during their work and research is now focusing on the role played by these emotions on software developers productivity as well as on their wellbeing. In this paper, we propose a replication of a study aimed investigating to what extent biometric sensors can be used to automatically detect developers' emotions during programming tasks. The long-term goal of our research is to discover which emotions affect developers' productivity and wellbeing during their work. Specifically, we aim at defining approaches for early detection of negative affective states that are known to impair mental wellbeing and productivity.
Article
Software projects are dominated by meetings. For participants, not all meetings are useful and enjoyable. However, interaction within a meeting has an impact on individual and group affects. Group affect influences team performance and project success. Despite frequent yet vague dissatisfaction with some meetings, many software engineers are not aware of the crucial importance of their behavior in those meetings. This can set the tone for the entire project. By influencing group affect, meeting interaction influences success without participants even noticing. Due to this lack of awareness, it depends on good or bad luck whether software teams will adopt a promising meeting style. In a study of 32 student projects with 155 participants, we coded fine-grained interaction elements during the first internal meeting of each team. The analysis of resulting codes showed that constructive remarks had a positive impact on positive group affect tone (PGAT). However, this effect was only observed when constructive remarks were followed by supportive utterances. We were able to show a complete mediation of this statistically significant effect. Seemingly subtle behavior patterns influence group affect. Software projects could significantly benefit from supportive meeting behavior. We propose practical interventions to improve meeting quality.
Article
The next business epoch will focus on teams and teamwork, specifically the development of high-performing teams, which are characterized by high rates of production, the ability to solve complex problems and create innovative solutions. Agile systems provide processes surrounding how work is done but do not address how team members interact in working together. Beyond process, training and developing teams into high performance will define the best organizations.
Conference Paper
Social media and discussion centric collaborative tools have become an integral part of software development team communication. Accessible by mobile apps and alongside development tools, these tools provide a medium for conversation and enable teams to share project artifacts including commits, documents, and models. As with other forms of human communication, team members naturally emote during software development, resulting in affective post content expressing emotions such as urgency, frustration, and commendation. The effects of affective interaction on team performance, while studied in the literature, are still not well understood, particularly for student teams. This paper adds to the exploration of affect, by examining the effect of emotional post content on project performance metrics among teams of students in a software engineering course. The data set consists of over thirteen hundred forum posts produced by five teams across three Scrum Sprints in two different classes, each of which was taught by a different instructor. Using manual sentiment analysis techniques, we found that individuals with less emotive posts performed better than those that emoted more and that less affective individuals were evaluated more positively by their peers. From a pedagogical and management perspective, these results indicate that intervention may be needed when posts become emotionally charged in software development team communication.
Article
Context: Over the past 50 years numerous studies have investigated the possible effect that software engineers’ personalities may have upon their individual tasks and teamwork. These have led to an improved understanding of that relationship; however, the analysis of personality traits and their impact on the software development process is still an area under investigation and debate. Further, other than personality traits, “team climate” is also another factor that has also been investigated given its relationship with software teams’ performance.
Conference Paper
This work presents the relevance of emotions in the software development process. Emotions are an important human factor that must be considered when developing software. Unlike in psychology, where the influence of emotions on industrial productivity is well known, there are few studies reported on its importance in software engineering.
Article
Throughout the history of software engineering, the human aspects have repeatedly been recognized as important. Even though research that investigates them has been growing in the past decade, these aspects should be more generally considered. The main objective of this study is to clarify the research area concerned with human aspects of software engineering and to create a common platform for future research. In order to meet the objective, we propose a definition of the research area behavioral software engineering (BSE) and present results from a systematic literature review based on the definition. The result indicates that there are knowledge gaps in the research area of behavioral software engineering and that earlier research has been focused on a few concepts, which have been applied to a limited number of software engineering areas. The individual studies have typically had a narrow perspective focusing on few concepts from a single unit of analysis. Further, the research has rarely been conducted in collaboration by researchers from both software engineering and social science. Altogether, this review can help put a broader set of human aspects higher on the agenda for future software engineering research and practice.
Article
Facilitating change is more effective than attempting to prevent it. Learn to trust in your ability to respond to unpredictable events; it's more important than trusting in your ability to plan for disaster. In the past 12–18 months, a wide range of publications—Software Development, IEEE Software, Cutter IT Journal, Software Testing and Quality Engineering, and even The Economist—has published articles on what Martin Fowler calls the New Methodology (see www.martinfowler.com/articles/newMethodology.html), reflecting a growing interest in these new approaches to software development (Extreme Programming, Crystal Methodologies, SCRUM, Adaptive Software Development, Feature-Driven Development and Dynamic Systems Development Methodology among them). In addition to these "named" methodologies, scores of organizations have developed their own "lighter" approach to building software. Formation of the Agile Alliance On February 11–13, 2001, at The Lodge at Snowbird ski resort in the Wasatch mountains of Utah, 17 people met to talk, ski, relax and try to find common ground. What emerged was the Agile Software Development Alliance. A bigger gathering of organizational anarchists would be hard to find, so what emerged from this meeting was symbolic—a Manifesto for Agile Software Development—signed by all participants. Although the Manifesto provides some specifics, a deeper theme drives many Alliance members. At the close of the two-day meeting, Extreme Programming mentor Bob Martin joked that he was about to make a "mushy" statement. Though tinged with humor, Bob's sentiments were shared by the group—we all enjoyed working with people who shared compatible goals and values based on mutual trust and respect, promoting collaborative, people-focused organizational models, and building the types of professional communities in which we would want to work. The agile methodology movement is not anti-methodology; in fact, many of us want to restore credibility to the word. We also want to restore a balance: We embrace modeling, but not merely to file some diagram in a dusty corporate repository. We embrace documentation, but not to waste reams of paper in never-maintained and rarely-used tomes. We plan, but recognize the limits of planning in a turbulent environment. Those who brand proponents of XP, SCRUM or any of the other agile methodologies as "hackers" are ignorant of both the methodologies and the original definition of the term (a "hacker" was first defined as a programmer who enjoys solving complex programming problems, rather than someone who practices ad hoc development or destruction).
Conference Paper
This paper presents the results of an exploratory research study that investigates factors contributing to preference for the agile software development approaches. The initial exploration revolves around the Five Factor Model of personality and the premise that these personality factors provide a partial explanation of preference for an agile approach. A survey instrument for measuring the preference for agile methods was developed and validated. The results from the quantitative data collected from the survey study indicate that three out of the five personality factors from the Five Factor Model show a correlation with above average preference for agile methods. These factors are extraversion, openness and neuroticism. The first two have a positive relationship with agile preference while neuroticism (emotional instability) has a negative relationship with agile methodology preference. To further investigate the results, an exploratory factor analysis was performed on the data, which identified three factors that may also contribute to a preference for agile methods.