An investigation into sustainable software architecture
2025 (English)Independent thesis Advanced level (professional degree), 20 credits / 30 HE credits
Student thesis
Abstract [en]
Like humans, software architectures age. The software architecture deterioration is inevitable and it leads to increased maintenance costs and eventual obsolescence. While a sustainable software architecture offers solutions to mitigate software aging, previous research lacks a unified definition, processes and methods for evaluating the health of the architecture and its half-life. This gap is addressed by investigating both academia's and a large retail company's view on sustainable software architecture and software aging.
Using a mixed-methods approach combining a design science methodology with a case study, the findings from a systematic literature review through snowballing are incorporated with empirical data from a case study. The case study involved semi-structured interviews with software architects, developers, and testers, followed by thematic analysis to identify practitioner perspectives on sustainability and key internal and external factors contributing to software aging (e.g., outdated dependencies, evolving business needs, regulatory requirements).
The Goal-Question-Metric (GQM) approach is used to develop the HÅLLA framework. By incorporating themes from academia and the industry, the framework evaluates architectural sustainability across technical and environmental dimensions, where important sustainability themes such as longevity, future-proofing, modularity, adaptability, maintainability, resource efficiency, organizational practices, and business alignment are considered. Ensuring the framework's relevance was done through a survey at the case company, where practitioners validated the sustainability metrics.
The goal of the HÅLLA framework is to advance the sustainable architecture field through a practical tool intended to help assess architectural health, estimate software half-life, and support decisions for maintaining or evolving software architectures. This work contributes by identifying relevant internal and external software aging factors in an industrial setting where software is used as a supportive measure for a primary business. The thesis proposes a concrete evaluation framework, and bridging the gap between theoretical sustainability concepts and real-world software architecture adaptation.
Abstract [sv]
Liksom människor åldras mjukvaruarkiekturer. Försämringen av mjukvaruarkiekturer är oundviklig och leder till ökade underhållskostnader och slutligen föråldring. Medan hållbar mjukvaruarkitektur erbjuder lösningar för att minska mjukvaruåldrande, saknar tidigare forskning en gemensamt accepterad definition, processer och metoder för att utvärdera arkitekturens hälsa och dess halveringstid. Denna vetenskapliga lucka undersöks både ur akademins och ett stort detaljhandelsföretags perspektiv av hållbar mjukvaruarkitektur och mjukvaruåldrande.
Med en blandad metodansats som kombinerar en designvetenskaplig metodik med en fallstudie, resultatet härstammar från en systematisk litteraturgenomgång genom snöbollsurval med empirisk data från en fallstudie. Fallstudien innehöll semistrukturerade intervjuer med mjukvaruarkitekter, utvecklare och testare, följt av en tematisk analysmetod för att identifiera mjukvarupraktikers perspektiv på hållbarhet samt viktiga interna och externa faktorer som bidrar till mjukvaruåldrande (t.ex. föråldrade beroenden, föränderliga affärsbehov, regulatoriska krav).
Goal-Question-Metric (GQM)-metoden används för att utveckla ramverket HÅLLA. Genom att jämföra teman från akademin och industrin utvärderar ramverket hållbarhet ur ett mjukvaruarkitektoniskt perspektiv över tekniska och miljömässiga dimensioner där viktiga hållbarhetsteman som lång livslängd, framtidssäkring, modularitet, anpassningsbarhet, underhållbarhet, resurseffektivitet, organisatoriska praxis och affärsanpassning beaktas. Ramverkets relevans säkerställdes genom en enkätundersökning på fallföretaget där mjukvarupraktiker validerade hållbarhetsmåtten.
Målet med HÅLLA-ramverket är att bidra kunskap till fältet för hållbar mjukvaruarkitektur genom föreslaget av ett praktiskt verktyg avsett att bedöma hälsan av en mjukvaruarkitektur, uppskatta mjukvarans halveringstid och stödja beslut för underhåll eller utveckling av mjukvarusystem. Detta arbete bidrar genom att identifiera relevanta interna och externa faktorer för mjukvaruåldrande i en industriell miljö där mjukvara används som ett stödjande mått för en primär verksamhet. Avhandlingen föreslår ett konkret utvärderingsramverk och binder ihop skillnaden mellan teoretiska hållbarhetskoncept och anpassning av mjukvaruarkitektur i den verkliga världen.
Place, publisher, year, edition, pages
2025. , p. 113
Keywords [en]
Software, Sustainability, Architecture, Software Aging, Software Half-life
Keywords [sv]
Mjukvara, Hållbarhet, Arkitektur, Åldrande mjukvara, Mjukvaruhalveringstid
National Category
Software Engineering
Identifiers
URN: urn:nbn:se:bth-28071OAI: oai:DiVA.org:bth-28071DiVA, id: diva2:1973033
External cooperation
inter IKEA
Subject / course
Degree Project in Master of Science in Engineering 30,0 hp
Educational program
PAAMJ Master of Science in Engineering: Software Engineering 300,0 hp
Supervisors
Examiners
2025-06-192025-06-192025-09-30Bibliographically approved