Digitala Vetenskapliga Arkivet

System disruptions
There are recurring service disruptions on some of the search portals due to high traffic. We are working to resolve the issue, you may temporarily encounter an error message.
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
The hidden cost of backward compatibility: When deprecation turns into technical debt - An experience report
Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.ORCID iD: 0000-0001-9898-2222
Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.ORCID iD: 0000-0003-1350-7030
Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.ORCID iD: 0000-0003-3567-9300
2020 (English)In: Proceedings - 2020 IEEE/ACM International Conference on Technical Debt, TechDebt 2020, ACM Digital Library, 2020, p. 67-76Conference paper, Published paper (Refereed)
Abstract [en]

Context The micro-services architectural pattern advocates for the partitioning of functionality into loosely coupled services, which should be backward compatible, to enable independent upgrades. Deprecation is commonly used as a tool to manage multiple versions of methods or services. However, deprecation carries a cost in that tests might be duplicated and might rely on services that have become deprecated over time. Objective Using the terms of the Technical Debt metaphor, we explore the consequences of deprecation, and how it has affected the test base during seven years. Method We take an exploratory approach, reporting on experiences found before and after servicing parts of the incurred Technical Debt. We mine code repositories and validate our findings with experienced developers. Results We found that the growth of deprecation debt varied a lot. Some services experienced substantial growth, but most did not. Unit tests, where deprecation is visible in the developers' tools, were much less affected than integration tests, which lack such visualization mechanisms. While servicing debt of 121 out of 285 deprecated services, we discovered that up to 29% of the spent effort could be attributed to accrued interest. However, this is an upper bound; there could be less impact, depending on whether scripting could be used to service the debt or not. Conclusion This paper illustrates that integration tests can be viewed as a debt from the perspective of deprecated services. While the pattern was that deprecated services (debt principal) experienced no or little accrued interest, some, highly used, services experienced a lot, particularly during stressful times. Java-based tests, where deprecation is visible in the IDE, did not experience a similar pattern of increasing debt. We postulate that deprecation debt should be kept visible, either using developer tools or statistical reports. © 2020 ACM.

Place, publisher, year, edition, pages
ACM Digital Library, 2020. p. 67-76
Keywords [en]
automated test base, backwards compatibility, deprecation, technical debt, Architectural pattern, Backward compatibility, Backward compatible, Experience report, Loosely coupled, Similar pattern, Statistical report, Technical debts, Testing
National Category
Software Engineering
Identifiers
URN: urn:nbn:se:bth-20625DOI: 10.1145/3387906.3388629ISI: 001048482100008Scopus ID: 2-s2.0-85093112486ISBN: 9781450379601 (print)OAI: oai:DiVA.org:bth-20625DiVA, id: diva2:1485431
Conference
3rd IEEE/ACM International Conference on Technical Debt, TechDebt 2020, Seoul, South Korea, 28 June 2020 through 30 June 2020
Part of project
SERT- Software Engineering ReThought, Knowledge FoundationSHADE- A value-oriented strategy for managing the degradation of software assets, Knowledge FoundationAvailable from: 2020-11-02 Created: 2020-11-02 Last updated: 2025-09-30Bibliographically approved
In thesis
1. Towards Understanding Software Craftsmanship
Open this publication in new window or tab >>Towards Understanding Software Craftsmanship
2021 (English)Licentiate thesis, comprehensive summary (Other academic)
Abstract [en]

The concept of software craftsmanship has roots in the earliest days of computing but has received comparably little attention from the research community.As a reaction to how Agile methods were practiced and taught in industry, in 2009, the Manifesto for Software Craftsmanship was formulated and published, drawing attention to the concept. Subsequent books and research papers have also elaborated on the concept.

With this dissertation, we aim to study the software craftsmanship phenomenon using empirical software engineering methods.We developed an anatomy of software craftsmanship through a systematic literature study and a longitudinal case study, following a project consisting of multiple teams over several years.We also illustrate some consequences of not following through on the espoused craftsmanship practice of managing and account for technical debt. We find that some areas exhibited high growth in technical debt, while others remained comparably idle. This indicates that it is important to keep track of existing technical debt, but repayment should consider the distribution of each kind of technical debt in the codebase.

Our studies are empirical, using mixed methods, analyzing quantitative as well as qualitative data.We used thematic coding to structure the qualitative data into themes, principles, and practices.

We provide our systematically derived anatomy of the principles and practices of software craftsmanship and discuss how these relate to other principles within software engineering in general.

Place, publisher, year, edition, pages
Karlskrona: Blekinge Tekniska Högskola, 2021
Series
Blekinge Institute of Technology Licentiate Dissertation Series, ISSN 1650-2140 ; 7
Keywords
Software craftsmanship
National Category
Software Engineering
Research subject
Software Engineering
Identifiers
urn:nbn:se:bth-22041 (URN)978-91-7295-427-4 (ISBN)
Presentation
2021-10-07, J1650, 09:00
Supervisors
Available from: 2021-08-23 Created: 2021-08-20 Last updated: 2025-09-30Bibliographically approved
2. On Quantifying Software Craftsmanship Concepts
Open this publication in new window or tab >>On Quantifying Software Craftsmanship Concepts
2025 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

Background: Books on software craftsmanship typically focus on small teams or individual behavior, and are seldom associated with large, globally distributed organizations that develop and maintain long-lived software systems.

Objective: This thesis aims to quantify the effects of systematically derived aspects of software craftsmanship in industrial settings involving large-scale organizations, with developers spread around the globe.

Method: We employ mixed-methods studies, utilizing both qualitative and quantitative data collection and analysis. A Systematic Literature Review (SLR), together with a longitudinal industrial case study, is used to derive an initial anatomy of software craftsmanship, and we use case studies, experience reports and action research to explore and quantify aspects of this anatomy. We use Bayesian methods to analyze data obtained via archival analysis, as well as Likert-scale data obtained froma survey using the Technology Adoption Model (TAM). Qualitative data has been analyzed using thematic coding, and we use focus groups to validate our conclusions with the studied subjects.

Results: Based on the SLR results and a industrial case study, we derive an anatomy of software craftsmanship, based on four themes, 17 principles and 47 practices. The effects of some practices from this anatomy are then quantified in subsequent articles in the thesis.

Conclusion: Based on literature and case study results, we have found a usable conceptual map of software craftsmanship. However, it remains to be seen how this map will stay relevant, in the face of how cloud migrations and AI-powered Large-Language Model tools will impact future software engineers.

Place, publisher, year, edition, pages
Karlskrona: Blekinge Tekniska Högskola, 2025. p. 217
Series
Blekinge Institute of Technology Doctoral Dissertation Series, ISSN 1653-2090 ; 2025:12
Keywords
Software Craftsmanship, Professionalism, Large-scale software development
National Category
Software Engineering
Research subject
Software Engineering
Identifiers
urn:nbn:se:bth-28614 (URN)978-91-7295-512-7 (ISBN)
Public defence
2025-11-28, J1630, BTH, Valhallavägen 1, Karlskrona, 09:00 (English)
Opponent
Supervisors
Available from: 2025-10-20 Created: 2025-09-12 Last updated: 2025-11-06Bibliographically approved

Open Access in DiVA

fulltext(823 kB)948 downloads
File information
File name FULLTEXT01.pdfFile size 823 kBChecksum SHA-512
61a81cf7e0500d19f86884d0292791f481f46a89cc2dc52e51c78c781ae6d1f7d5e755986d9ab4435f66f28f8a57d40460bc4eda3f8c6ab5db252f3da7c0c9bb
Type fulltextMimetype application/pdf

Other links

Publisher's full textScopus

Search in DiVA

By author/editor
Sundelin, AndersGonzalez-Huerta, JavierWnuk, Krzysztof
By organisation
Department of Software Engineering
Software Engineering

Search outside of DiVA

GoogleGoogle Scholar
Total: 948 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

doi
isbn
urn-nbn

Altmetric score

doi
isbn
urn-nbn
Total: 879 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf