1,128 research outputs found

    Mitigating Turnover with Code Review Recommendation: Balancing Expertise, Workload, and Knowledge Distribution

    Get PDF
    Developer turnover is inevitable on software projects and leads to knowledge loss, a reduction in productivity, and an increase in defects. Mitigation strategies to deal with turnover tend to disrupt and increase workloads for developers. In this work, we suggest that through code review recommendation we can distribute knowledge and mitigate turnover with minimal impact on the development process. We evaluate review recommenders in the context of ensuring expertise during review, Expertise, reducing the review workload of the core team, CoreWorkload, and reducing the Files at Risk to turnover, FaR. We find that prior work that assigns reviewers based on file ownership concentrates knowledge on a small group of core developers increasing risk of knowledge loss from turnover by up to 65%. We propose learning and retention aware review recommenders that when combined are effective at reducing the risk of turnover by -29% but they unacceptably reduce the overall expertise during reviews by -26%. We develop the Sophia recommender that suggest experts when none of the files under review are hoarded by developers but distributes knowledge when files are at risk. In this way, we are able to simultaneously increase expertise during review with a ΔExpertise of 6%, with a negligible impact on workload of ΔCoreWorkload of 0.09%, and reduce the files at risk by ΔFaR -28%. Sophia is integrated into GitHub pull requests allowing developers to select an appropriate expert or “learner” based on the context of the review. We release the Sophia bot as well as the code and data for replication purposes

    Are developers fixing their own bugs?: Tracing bug-fixing and bug-seeding committers

    Get PDF
    This is the post-print version of the Article. The official published version can be accessed from the link below - Copyright @ 2011 IGI GlobalThe process of fixing software bugs plays a key role in the maintenance activities of a software project. Ideally, code ownership and responsibility should be enforced among developers working on the same artifacts, so that those introducing buggy code could also contribute to its fix. However, especially in FLOSS projects, this mechanism is not clearly understood: in particular, it is not known whether those contributors fixing a bug are the same introducing and seeding it in the first place. This paper analyzes the comm-central FLOSS project, which hosts part of the Thunderbird, SeaMonkey, Lightning extensions and Sunbird projects from the Mozilla community. The analysis is focused at the level of lines of code and it uses the information stored in the source code management system. The results of this study show that in 80% of the cases, the bug-fixing activity involves source code modified by at most two developers. It also emerges that the developers fixing the bug are only responsible for 3.5% of the previous modifications to the lines affected; this implies that the other developers making changes to those lines could have made that fix. In most of the cases the bug fixing process in comm-central is not carried out by the same developers than those who seeded the buggy code.This work has been partially funded by the European Commission, under the ALERT project (ICT-258098)

    A systematic examination of knowledge loss in open source software projects

    Get PDF
    Context Open Source Software (OSS) development is a knowledge focused activity which relies heavily on contributors who can be volunteers or paid workers and are geographically distributed. While working on OSS projects contributors acquire project related individualistic knowledge and gain experience and skills, which often remains unshared with others and is usually lost once contributors leave a project. All software development organisations face the problem of knowledge loss as employees leave, but this situation is exasperated in OSS projects where most contributors are volunteers with largely unpredictable engagement durations. Contributor turnover is inevitable due to the transient nature of OSS project workforces causing knowledge loss, which threatens the overall sustainability of OSS projects and impacts negatively on software quality and contributor productivity. Objective The objective of this work is to deeply and systematically investigate the phenomenon of knowledge loss due to contributor turnover in OSS projects as presented in the state-of-the-art literature and to synthesise the information presented on the topic. Furthermore, based on the learning arising from our investigation it is our intention to identify mechanisms to reduce the overall effects of knowledge loss in OSS projects. Methodology We use the snowballing methodology to identify the relevant literature on knowledge loss due to contributor turnover in OSS projects. This robust methodology for a literature review includes research question, search strategy, inclusion, exclusion, quality criteria, and data synthesis. The search strategy, and inclusion, exclusions and quality criteria are applied as a part of snowballing procedure. Snowballing is considered an efficient and reliable way to conduct a systematic literature review, providing a robust alternative to mechanically searching individual databases for given topics. Result Knowledge sharing in OSS projects is abundant but there is no evidence of a formal strategy or practice to manage knowledge. Due to the dynamic and diverse nature of OSS projects, knowledge management is considered a challenging task and there is a need for a proactive mechanism to share knowledge in the OSS community for knowledge to be reused in the future by the OSS project contributors. From the collection of papers found using snowballing, we consolidated various themes on knowledge loss due to contributor turnover in OSS projects and identified 11 impacts due to knowledge loss in OSS projects, and 10 mitigations to manage with knowledge loss in OSS projects. Conclusion In this paper, we propose future research directions to investigate integration of proactive knowledge retention practices with the existing OSS practices to reduce the current knowledge loss problem. We suggest that there is insufficient attention paid to KM in general in OSS, in particular there would appear to an absence of proactive measures to reduce the potential impact of knowledge loss. We also propose the need for a KM evaluation metric in OSS projects, similar to the ones that evaluate health of online communities, which should help to inform potential consumers of the OSS of the KM status on a project, something that is not existent today

    Towards solving social and technical problems in open source software ecosystems : using cause-and-effect analysis to disentangle the causes of complex problems

    Get PDF
    Managing large-scale development projects in open source software ecosystems involves dealing with an array of technical and social problems. To disentangle the causes of such problems, we interviewed experts and performed a cause-and-effect analysis. Our findings demonstrate that loss of contributors is the most important social problem, while poor code quality is the most important technical problem, and that both problems result from complex socio-technical interrelations of causes. Our approach suggests that cause-and-effect analysis can help to better understand problems in open source software ecosystems

    The impact of knowledge loss on software projects: turnover, customer found defects, and dormant files

    Get PDF
    The success of a software project is dependent on the expertise and knowledge of its developers. In this dissertation, we use empirical studies to develop an understanding of the impact of knowledge loss on software projects. First, we studied the damage done to projects from turnover, the susceptibility of the project to future turnover, and the suggestion of potential successors to assume abandoned files. Based on the project vulnerability to turnover, project leaders can induce key developers to stay with the project and to mitigate files abandonment. Second, we did an empirical research on the impact of turnover on the quality of a software project. Third, we performed an examination of the impact of inactive files (dormant files). Our findings on the first research topic showed that the greater the spread of knowledge the less likely a project is to be affected by turnover. Moreover, we found that knowledgeable developers, rather than newcomers, take over abandoned code. In our second study, we observed an unexpected result that in the Chrome web-browser project, the number of developers who leave and join both decreased the number of post-release defects. We discuss this unexpected result. The third study on dormant files, i.e. inactive files, contrasted a legacy system with a popular system. We found that for a legacy system, the developers that take on dormant files were experienced developers

    An approach to investigating proactive knowledge retention in OSS communities

    Get PDF
    Open Source Software (OSS) is the manifestation of software developed and released under an “open source” license, meaning that under certain conditions; it is openly available for use, inspection, modification, and for redistribution free of cost, or with cost based on the license agreement. The transient nature of the OSS work force results in turnover induced knowledge loss in OSS projects. In this work, we examine the research methodology, which will contribute to the formation of proactive knowledge retention practices in OSS projects to transform contributor’s use of knowledge and engagement in knowledge relevant activities including knowledge sharing and knowledge transfer

    Riscos Da Perda De Conhecimento Em Emprsas Intensivas Em Vinculados Aos Fatores Humanos: Um Estudo De Casos MĂșltiplos

    Get PDF
    Atualmente os ativos intang veis s o recursos fundamentais para as organiza es especialmente na garantia de vantagem competitiva sustent vel Dentre eles o conhecimento fator determinante para o sucesso e sustentabilidade organizacional especialmente para as Empresas Intensivas em Conhecimento como as empresas de tecnologia Por isto a perda de conhecimento considerado um risco s organiza es especialmente quando relacionada aos fatores humanos Reter e captar os profissionais uma necessidade s organiza es as quais precisam atuar de forma proativa e preditiva revendo sua postura frente estes novos desafios Ou seja mitigar a perda de conhecimento fundamental para sobreviv ncia das mesmas Desta forma o objetivo desta pesquisa compreender os riscos da perda de conhecimento para Empresas Intensivas em Conhecimento relacionado aos fatores humanos Para tanto foi realizada uma pesquisa qualitativa atrav s de estudo de caso m ltiplos para identificar as causas da perda de conhecimento identificar os impactos e apresentar as estrat gias de mitiga

    A mechanism to explore proactive knowledge retention in open source software communities.

    Get PDF
    Open-source software (OSS) is a type of computer software wherein the source code is distributed under a special type of licence in which the copyright holder grants users the rights to inspect, alter, and redistribute the software. OSS projects are collaborative endeavours which have multiple contributors who are constantly joining, leaving, or changing their role in the project. This ever-changing and ever-transient nature of OSS project contributors contributes to a contributor turnover-induced knowledge loss in OSS projects. In this case, “knowledge loss” refers to the phenomenon of the loss of project-specific knowledge, experience, and expertise in an OSS project, caused by contributors regularly joining and leaving the OSS project. This paper describes the design and development of a robust research methodology and contributes towards the formation of proactive knowledge retention practices in OSS projects to transform contributor's use of knowledge and engagement in knowledge-relevant activities including knowledge sharing and knowledge transfer
    • 

    corecore