Tentative title

Sustaining Software: Craftsmanship Versus Engineering When Maintaining Long-Lived Systems

Abstract:

This thesis explores the operationalization of software craftsmanship in large-scale, long-lived software systems. 

While the software craftsmanship movement promotes principles such as clean code, value-focused architecture, and shared professional culture, their practical adoption remains underexplored in complex industrial environments. 

Building upon a structured anatomy of software craftsmanship, this research examines how these ideals are applied, adapted, and occasionally compromised in real-world contexts. 

Through four studies set in industrial contexts—spanning cloud migration, collective code ownership, technical debt from code clones, and the hidden costs of backward compatibility—the thesis investigates the intersection of development practices, architectural decisions, and socio-technical factors. 

Using a mixed-methods approach that combines thematic analysis, repository mining, and statistical modeling, the findings reveal how invisible structures such as tooling support, organizational boundaries, and legacy design decisions shape the trajectory of software quality over time. 

The research contributes both a refined empirical understanding of software craftsmanship and actionable insights for practitioners seeking to sustain it amid evolving constraints. 

By bridging theory and practice, the work uncovers how craftsmanship values manifest in dynamic systems—and how they can be preserved or eroded through everyday development decisions.