Advanced

Strategies for Management of Architectural Change and Evolution

Nedstam, Josef LU (2005) In Reports on communication systems 169.
Abstract
Software architecture, the underlying structure to a software system, is an asset which can be invested in. Such investments can later be capitalized on in the form of e.g. increased flexibility and enhanced maintainability. These benefits may be gained in a system developed in one project, but are much more visible in a strategic perspective when several projects share resources. Architectural decisions must then be based not only on technical considerations, but also on organizational and business factors. Organizational factors come into play as the software development process is tightly related to the design rules surrounding the software architecture. Business factors are important, as any attempt at generating value by investing in... (More)
Software architecture, the underlying structure to a software system, is an asset which can be invested in. Such investments can later be capitalized on in the form of e.g. increased flexibility and enhanced maintainability. These benefits may be gained in a system developed in one project, but are much more visible in a strategic perspective when several projects share resources. Architectural decisions must then be based not only on technical considerations, but also on organizational and business factors. Organizational factors come into play as the software development process is tightly related to the design rules surrounding the software architecture. Business factors are important, as any attempt at generating value by investing in the software architecture must be aligned with the organization's overall view on value generation. Challenges in this field lie in raising the awareness of organizational and business factors for developers, and the abstractness of software architecture from a management point of view.



This thesis has involved multiple case studies at organizations facing challenges related to these aspects of software architecture. The research has been conducted mainly from a qualitative standpoint, to build theory from empirical observations. Interviews as part of architecture and process assessments have been the primary tool for gathering information, and the results have been validated by a continuing effort to find cases that broaden the emerging theories.



Different development models linked to architectural strategies have been investigated, and the flexibility of software processes has been assessed with respect to e.g. architectural changes. Study of the implementation of architectural changes has lead to a suggestion for a process for architectural change. Architectural decisions and changes drive the evolution of a software architecture, and the thesis gives a framework for evolution of software architecture and development strategy in general. One such strategy, Open Source Software development, is analyzed in-depth. An attempt to quantify the benefit of an architectural strategy is also made, when a model for decision support on reuse is implemented in a tool.



The thesis contributes to increasing the awareness among both developers and managers of the role of the software architecture as an enabler and mediator of technical as well as business goals. (Less)
Please use this url to cite or link to this publication:
author
supervisor
opponent
  • Professor Sjöberg, Dag, Simula Research Laboratory, Lysaker, Norway
organization
publishing date
type
Thesis
publication status
published
subject
keywords
Software Architecture, Software Engineering, Architectural Evolution, computer technology, Systems engineering, Data- och systemvetenskap
in
Reports on communication systems
volume
169
pages
192 pages
publisher
Department of Communication Systems, Lund University
defense location
Room E:1406. E-building, Ole Römers väg 3, Lund Institute of Technology
defense date
2005-12-08 13:15
external identifiers
  • other:ISRN: LUTEDX/TETS--1077--SE+192P
ISSN
1101-3931
language
English
LU publication?
yes
id
dbf13ce9-aa2a-4eba-884b-b66dd1d02dc4 (old id 24610)
date added to LUP
2007-06-01 07:50:38
date last changed
2016-09-19 08:44:57
@phdthesis{dbf13ce9-aa2a-4eba-884b-b66dd1d02dc4,
  abstract     = {Software architecture, the underlying structure to a software system, is an asset which can be invested in. Such investments can later be capitalized on in the form of e.g. increased flexibility and enhanced maintainability. These benefits may be gained in a system developed in one project, but are much more visible in a strategic perspective when several projects share resources. Architectural decisions must then be based not only on technical considerations, but also on organizational and business factors. Organizational factors come into play as the software development process is tightly related to the design rules surrounding the software architecture. Business factors are important, as any attempt at generating value by investing in the software architecture must be aligned with the organization's overall view on value generation. Challenges in this field lie in raising the awareness of organizational and business factors for developers, and the abstractness of software architecture from a management point of view.<br/><br>
<br/><br>
This thesis has involved multiple case studies at organizations facing challenges related to these aspects of software architecture. The research has been conducted mainly from a qualitative standpoint, to build theory from empirical observations. Interviews as part of architecture and process assessments have been the primary tool for gathering information, and the results have been validated by a continuing effort to find cases that broaden the emerging theories.<br/><br>
<br/><br>
Different development models linked to architectural strategies have been investigated, and the flexibility of software processes has been assessed with respect to e.g. architectural changes. Study of the implementation of architectural changes has lead to a suggestion for a process for architectural change. Architectural decisions and changes drive the evolution of a software architecture, and the thesis gives a framework for evolution of software architecture and development strategy in general. One such strategy, Open Source Software development, is analyzed in-depth. An attempt to quantify the benefit of an architectural strategy is also made, when a model for decision support on reuse is implemented in a tool.<br/><br>
<br/><br>
The thesis contributes to increasing the awareness among both developers and managers of the role of the software architecture as an enabler and mediator of technical as well as business goals.},
  author       = {Nedstam, Josef},
  issn         = {1101-3931},
  keyword      = {Software Architecture,Software Engineering,Architectural Evolution,computer technology,Systems engineering,Data- och systemvetenskap},
  language     = {eng},
  pages        = {192},
  publisher    = {Department of Communication Systems, Lund University},
  school       = {Lund University},
  series       = {Reports on communication systems},
  title        = {Strategies for Management of Architectural Change and Evolution},
  volume       = {169},
  year         = {2005},
}