1234563 of 6
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
On Quantifying Software Craftsmanship Concepts
Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering. Ericsson AB.ORCID iD: 0000-0001-9898-2222
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 [en]
Software Craftsmanship, Professionalism, Large-scale software development
National Category
Software Engineering
Research subject
Software Engineering
Identifiers
URN: urn:nbn:se:bth-28614ISBN: 978-91-7295-512-7 (print)OAI: oai:DiVA.org:bth-28614DiVA, id: diva2:1997635
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
List of papers
1. Learning Observability Tracing Through Experiential Learning
Open this publication in new window or tab >>Learning Observability Tracing Through Experiential Learning
2025 (English)In: International Conference on Product-Focused Software Process Improvement / [ed] Giuseppe Scanniello, Valentina Lenarduzzi, Simone Romano, Sira Vegas, Rita Francese, Springer Nature, 2025Conference paper, Published paper (Refereed)
Place, publisher, year, edition, pages
Springer Nature, 2025
National Category
Software Engineering
Identifiers
urn:nbn:se:bth-28612 (URN)
Conference
26th International Conference on Product-Focused Software Process Improvement (PROFES 2025), Salerno, Dec 1-3, 2025
Available from: 2025-09-12 Created: 2025-09-12 Last updated: 2025-09-30Bibliographically approved
2. Reducing Friction in Cloud Migration of Services
Open this publication in new window or tab >>Reducing Friction in Cloud Migration of Services
(English)Manuscript (preprint) (Other academic)
Abstract [en]

Public cloud services are integral to modern software development, oeringscalability and exibility to organizations.Based on customer requests, alarge product development organization considered migrating the microservice-based product deployments of a large customer to a public cloud provider.

We conducted an exploratory single-case study, utilizing quantitative andqualitative data analysis to understand how and why deployment costs wouldchange when transitioning the product from a private to a public cloud en-vironment while preserving the software architecture. We also isolated themajor factors driving the changes in deployment costs.

We found that switching to the customer-chosen public cloud providerwould increase costs by up to 50%, even when sharing some resources be-tween deployments, and limiting the use of expensive cloud services such assecurity log analyzers. A large part of the cost was related to the sizing andlicense costs of the existing relational database, which was running on Vir-tual Machines in the cloud. We also found that existing system integrators,using the product via its API, were likely to use the product ineciently, inmany cases causing at least 10% more load to the system than needed.

From a deployment cost perspective, successful migration to a publiccloud requires considering the entire system architecture, including serviceslike relational databases, value-added cloud services, and enabled productfeatures. Our study highlights the importance of leveraging end-to-end us-age data to assess and manage these cost drivers eectively, especially inenvironments with elastic costs, such as public cloud deployments.

National Category
Software Engineering
Research subject
Software Engineering
Identifiers
urn:nbn:se:bth-28613 (URN)
Available from: 2025-09-12 Created: 2025-09-12 Last updated: 2025-10-17Bibliographically approved
3. Governing the commons: code ownership and code-clones in large-scale software development
Open this publication in new window or tab >>Governing the commons: code ownership and code-clones in large-scale software development
2025 (English)In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 30, no 2, article id 43Article in journal (Refereed) Published
Abstract [en]

Context: In software development organizations employing weak or collective ownership, different teams are allowed and expected to autonomously perform changes in various components. This creates diversity both in the knowledge of, and in the responsibility for, individual components.

Objective: Our objective is to understand how and why different teams introduce technical debt in the form of code clones as they change different components.

Method: We collected data about change size and clone introductions made by ten teams in eight components which was part of a large industrial software system. We then designed a Multi-Level Generalized Linear Model (MLGLM), to illustrate the teams’ differing behavior. Finally, we discussed the results with three development teams, plus line manager and the architect team, evaluating whether the model inferences aligned with what they expected. Responses were recorded and thematically coded.

Results: The results show that teams do behave differently in different components, and the feedback from the teams indicates that this method of illustrating team behavior can be useful as a complement to traditional summary statistics of ownership.

Conclusions: We find that our model-based approach produces useful visualizations of team introductions of code clones as they change different components. Practitioners stated that the visualizations gave them insights that were useful, and by comparing with an average team, inter-team comparisons can be avoided. Thus, this has the potential to be a useful feedback tool for teams in software development organizations that employ weak or collective ownership. © The Author(s) 2024.

Place, publisher, year, edition, pages
Springer, 2025
Keywords
Bayesian linear model, Code clones, Code ownership, Software craftsmanship, Team behavior, Bayesian, Code clone, Collective ownership, Large-scales, Linear modeling, Software development organizations, Team behaviour
National Category
Software Engineering
Identifiers
urn:nbn:se:bth-27329 (URN)10.1007/s10664-024-10598-7 (DOI)001377050600004 ()2-s2.0-85211925991 (Scopus ID)
Funder
Knowledge Foundation, 20180010
Available from: 2024-12-28 Created: 2024-12-28 Last updated: 2025-09-30Bibliographically approved
4. The hidden cost of backward compatibility: When deprecation turns into technical debt - An experience report
Open this publication in new window or tab >>The hidden cost of backward compatibility: When deprecation turns into technical debt - An experience report
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
Keywords
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:nbn:se:bth-20625 (URN)10.1145/3387906.3388629 (DOI)001048482100008 ()2-s2.0-85093112486 (Scopus ID)9781450379601 (ISBN)
Conference
3rd IEEE/ACM International Conference on Technical Debt, TechDebt 2020, Seoul, South Korea, 28 June 2020 through 30 June 2020
Available from: 2020-11-02 Created: 2020-11-02 Last updated: 2025-09-30Bibliographically approved
5. Towards an Anatomy of Software Craftsmanship
Open this publication in new window or tab >>Towards an Anatomy of Software Craftsmanship
2022 (English)In: ACM Transactions on Software Engineering and Methodology, ISSN 1049-331X, E-ISSN 1557-7392, Vol. 31, no 1, article id 6Article in journal (Refereed) Published
Abstract [en]

Context:   The concept of software craftsmanship has early roots in computing, and in 2009, the Manifesto for Software Craftsmanship was formulated as a reaction to how the Agile methods were practiced and taught. But software craftsmanship has seldom been studied from a software engineering perspective.  

Objective:  The objective of this article is to systematize an anatomy of software craftsmanship through literature studies and a longitudinal case study.     

Method:  We performed a snowballing literature review based on an initial set of nine papers, resulting in~18 papers and 11 books.  We also performed a case study following seven years of software development of a product for the financial market, eliciting qualitative and quantitative results.  We used thematic coding to synthesize the results into categories.

Results:  The resulting anatomy is centered around four themes, containing 17 principles and 47 hierarchical practices connected to the principles.  We present the identified practices based on the experiences gathered from the case study, triangulating with the literature results.

Conclusion: We provide our systematically derived anatomy of software craftsmanship with the goal of inspiring more research into the principles and practices of software craftsmanship and how these relate to other principles within software engineering in general.

Place, publisher, year, edition, pages
Association for Computing Machinery (ACM), 2022
Keywords
software craftsmanship, principles of software development, deliberate practice
National Category
Software Engineering
Research subject
Software Engineering
Identifiers
urn:nbn:se:bth-22037 (URN)10.1145/3468504 (DOI)000870650700006 ()
Funder
Knowledge Foundation, 20170213Knowledge Foundation, 20170176Knowledge Foundation, 20180010
Available from: 2021-08-20 Created: 2021-08-20 Last updated: 2025-09-30Bibliographically approved

Open Access in DiVA

fulltext(4101 kB)64 downloads
File information
File name FULLTEXT01.pdfFile size 4101 kBChecksum SHA-512
8dd58f27e8add7c05f405934aea6ef9497ee1deb634d8d9700d0bfcdffc92160e7579a99077235fd30ce4751061c3950029b3220d237f0d3cd6cca093ba1ceba
Type fulltextMimetype application/pdf

Authority records

Sundelin, Anders

Search in DiVA

By author/editor
Sundelin, Anders
By organisation
Department of Software Engineering
Software Engineering

Search outside of DiVA

GoogleGoogle Scholar
Total: 64 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

isbn
urn-nbn

Altmetric score

isbn
urn-nbn
Total: 1046 hits
1234563 of 6
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