Anders Sundelin

dblp:230/0672 · DBLP profile ↗
← Back
5ranked-venue papers
5as first author
3since 2021 · last 2025
0000-0001-9898-2222ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 5 · 5 first-author · 3 since 2021
YearPublicationVenuePosition
2025 Learning Observability Tracing Through Experiential Learning
Anders Sundelin
PROFES1
2025 Governing the commons: code ownership and code-clones in large-scale software development
abstract
Abstract 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.
Anders Sundelin, Javier Gonzalez-Huerta, Richard Torkar, Krzysztof Wnuk
Empir. Softw. Eng.1
2022 Towards an Anatomy of Software Craftsmanship
abstract
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.
Anders Sundelin, Javier Gonzalez-Huerta, Krzysztof Wnuk, Tony Gorschek
ACM Trans. Softw. Eng. Methodol.1
2020 The hidden cost of backward compatibility: when deprecation turns into technical debt - an experience report
abstract
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.
Anders Sundelin, Javier Gonzalez-Huerta, Krzysztof Wnuk
TechDebt@ICSE1
2018 Test-Driving FinTech Product Development: An Experience Report
Anders Sundelin, Javier Gonzalez-Huerta, Krzysztof Wnuk
PROFES1