6 research outputs found

    Towards the Repayment of Self-Admitted Technical Debt

    Get PDF
    Technical Debt is a metaphor used to express sub-optimal source code implementations that are introduced for short-term benefits that often must be paid back later, at an increased cost. In recent years, various empirical studies have focused on investigating source code comments that indicate Technical Debt, often referred to as Self-Admitted Technical Debt (SATD). In this thesis, we survey research work on SATD, analyzing characteristics of current approaches and techniques for SATD, dividing literature in three categories: detection, comprehension, and repayment. To set the stage for novel and improved work on SATD, we compile tools, resources, and data sets made publicly available. We also identify areas that are missing investigation, open challenges, and discuss potential future research avenues. From the literature survey, we conclude that most findings and contributions have focused on techniques to identify, classify, and comprehend SATD. Few studies focused on the repayment or management of SATD, which is an essential goal of studying technical debt for software maintenance. Therefore, we perform an empirical study towards SATD repayment. We conducted a preliminary online survey with developers to understand the elements they consider to prioritize SATD. With the acquired knowledge from the survey responses and previous literature work, we select metrics to estimate SATD repayment effort. We examine SATD instances found in software systems to see how it has been repaid and investigate the possibility of using historical data at the time of SATD introduction as indicators for SATD that should be addressed. We find two SATD repayment effort metrics that can be consistently modeled in our studied projects and surface the best early indicators for important SATD

    Exploring the application of gamification in the software development process

    Get PDF
    The purpose of this study is to investigate the use of game elements in software development teams and their impact on the software development process in South African financial institutions. The study was instigated by the numerous tools and procedures to administer software development entanglements, which is an ongoing challenge. In recent years, many researchers have investigated the dynamics and issues pertaining to the development team's behaviour. Most organisations are challenged in their development teams and seek new creative methods and solutions to overcome the obstacles to enhance their software development process. A software development process is identified as a set of actions to generate software applications in which humans are a key factor. Considering that it involves human activity, challenges that arise are a user's engagement, collaboration, communication, and motivation may arise. Many researchers seek to enhance the software development process, and innovative research offers emerging practical concepts and techniques. The study adopted a quantitative research design approach founded on the positivist paradigm followed by a deductive approach. A survey was developed to collect data from four selected South African institutions using a questionnaire of 95 respondents. The study's results contribute to knowledge by illustrating that although project teams are aware of the benefits of game elements, it does not necessarily translate into applying game elements. The study revealed that in the context of project team members, engagement, motivation, and performance positively impact the application of gamification in South African financial institutions. Understanding the factors which impact the application of gamification among financial institutions is neglected. Therefore, this research study sought to address a gap in the literature on gamification. Gamification augments the software development process and subdues the challenges connected to human factors. Nevertheless, applying game elements in a software development team is not as straightforward as it may appear because it is a controversial issue that is yet to be investigated by researchers in this field. The outcome of this study brings forth practical recommendations for future research and industry.School of ComputingM. Sc. (Computing

    The Gamification of Crowdsourcing Systems: Empirical Investigations and Design

    Get PDF
    Recent developments in modern information and communication technologies have spawned two rising phenomena, gamification and crowdsourcing, which are increasingly being combined into gamified crowdsourcing systems. While a growing number of organizations employ crowdsourcing as a way to outsource tasks related to the inventing, producing, funding, or distributing of their products and services to the crowd – a large group of people reachable via the internet – crowdsourcing initiatives become enriched with design features from games to motivate the crowd to participate in these efforts. From a practical perspective, this combination seems intuitively appealing, since using gamification in crowdsourcing systems promises to increase motivations, participation and output quality, as well as to replace traditionally used financial incentives. However, people in large groups all have individual interests and motivations, which makes it complex to design gamification approaches for crowds. Further, crowdsourcing systems exist in various forms and are used for various tasks and problems, thus requiring different incentive mechanisms for different crowdsourcing types. The lack of a coherent understanding of the different facets of gamified crowdsourcing systems and the lack of knowledge about the motivational and behavioral effects of applying various types of gamification features in different crowdsourcing systems inhibit us from designing solutions that harness gamification’s full potential. Further, previous research canonically uses competitive gamification, although crowdsourcing systems often strive to produce cooperative outcomes. However, the potentially relevant field of cooperative gamification has to date barely been explored. With a specific focus on these shortcomings, this dissertation presents several studies to advance the understanding of using gamification in crowdsourcing systems

    Code Tagging as a Social Game

    No full text
    corecore