Defining software debt, an expanded and multidimensional view of socio-technical debt in industry

Organizations, be they private companies, non-profit corporations, or government agencies, often mobilize dozens and even hundreds of developers. Those developers produce large amounts of code daily and tend to work under strict time and/or budget constraints. This often leads to the accumulation of technical debt, which has a negative impact on the overall quality of products and on the future agility, productivity, and innovation capabilities of organizations. Various approaches have been proposed to tackle these concerns but they often focus only on code smells and code metrics and tend to disregard aspects that may be more problematic in the long run, like higher-level technical issues (architecture, security, etc.), inappropriate development workflow, organizational and socio-technical problems, and inadequate engineering culture. This research project aims to propose a more holistic approach to socio-technical debt, based on the design of indicators, of a methodology and of tools for helping developers and managers address software debt and prioritize mitigating actions. The proposed research will be conducted in an actual organization of 4,800 employees among which nearly 90 developers working on dozens of applications. Research methods will include the analysis of version control data, the mining of software repositories, the use of code quality analysis tools, the study of development workflow and organization, and developer and manager surveys and/or interviews. The expected outcomes of this research are both practical (e.g., proposing data collection and analysis methods and tools, designing indicators, identifying friction points, raising alarms, proposing risk management techniques) and more general, that is, answering questions about current software engineering practices.

Nicolas Riquet
Nicolas Riquet
PhD Student

I am the head of Software Engineering Productivity at Le Forem, a public service for employment and vocational training in Wallonia, Belgium, where I lead a team of 21 employees and consultants. My research goal is to develop a holistic approach to socio-technical debt by designing a framework for helping developers and managers to address software debt and prioritize mitigating actions.

Xavier Devroey
Xavier Devroey
Assistant Professor of Software Testing

My research goal is to to ease software testing by exploring new paths to achieve a high level of automation for test case design, generation, selection, and prioritization. My main research interests include search-based and model-based software testing, test suite augmentation, DevOps, and variability-intensive systems.

Benoît Vanderose
Benoît Vanderose
Assistant Professor of Software Engineering

Related