5 research outputs found

    Experiences on Managing Technical Debt with Code Smells and AntiPatterns

    Get PDF
    Technical debt has become a common metaphor for the accumulation of software design and implementation choices that seek fast initial gains but that are under par and counterproductive in the long run. However, as a metaphor, technical debt does not offer actionable advice on how to get rid of it. To get to a practical level in solving problems, more focused mechanisms are needed. Commonly used approaches for this include identifying code smells as quick indications of possible problems in the codebase and detecting the presence of AntiPatterns that refer to overt, recurring problems in design. There are known remedies for both code smells and AntiPatterns. In paper, our goal is to show how to effectively use common tools and the existing body of knowledge on code smells and AntiPatterns to detect technical debt and pay it back. We present two main results: (i) How a combination of static code analysis and manual inspection was used to detect code smells in a codebase leading to the discovery of AntiPatterns; and (ii) How AntiPatterns were used to identify, characterize, and fix problems in the software. The experiences stem from a private company and its long-lasting software product development effort.Peer reviewe

    Reversing Entropy in a Software Development Project : Technical Debt and AntiPatterns

    Get PDF
    Modern software development is faster than ever before with products needing to hit the markets in record time to be tested and modified to find a place in the market and start generating profit. This process often leads to an excessive amount of technical debt accrued even specially in the early experimental stages of the development of a new software product. This accumulated technical debt must then be amortized or otherwise it will hinder the future development of the product. This can in many cases be difficult not only by the time pressure for new requirements but by the nature of the problems behind the technical debt. These problems might not be apparent and appear just as symptoms that might not directly indicate the real source. In this thesis, an AntiPattern centric approach to the identification and fixing of the root causes of the technical debt was implemented in the context of a case study of the five-year-old codebase of a startup company. AntiPatterns were not only found and fixed from the codebase but from the Scrum methodologies used in the project and thus these were also analyzed and improved through AntiPattern analysis. The case study showed promise in this approach, generating concrete plans and actions towards decreasing the technical debt in the project. Being limited to the context of this one company and project, more research should be done on a larger scale to be able to generalize the results

    ScrumBut as an Indicator of Process Debt

    No full text
    Technical debt analysis is used to detect problems in a codebase. Most technical debt indicators rely on measuring the quality of the code, as developers tend to induce recurring technical debt that emerges along with evolution cycles. This debt can emerge when project pressure leads to process deviations, for instance. In agile methods like Scrum, such deviations are commonly known as ScrumButs (like Scrum but …), which can be considered as a form of process debt. In this paper, we investigate two recurring signs of process debt (i.e. code smells and anti-patterns) caused by Scrumbuts. Our contribution investigates typical ScrumBut practices found in agile projects in one company and we report the relationships found between problems in code and ScrumBut issues. Our findings identify three types of ScrumButs, their root causes, and how these relate to concrete code smells and anti-patterns.peerReviewe
    corecore