Department of Informatics

TU München - Fakultät für Informatik
Chair IV: Software & Systems Engineering

PDF-Datei  The Loss of Architectural Knowledge during System Evolution: An Industrial Case Study

Conference Paper

Author:Martin Feilkas, Daniel Ratiu, Elmar Juergens
Conference:ICPC 09: Proc. of the 17th 17th IEEE International Conference on Program Comprehension.
Abstract:Architecture defines the components of a system and their dependencies. The knowledge about how the architecture is intended to be implemented is essential to keep the system structure coherent and thereby comprehensible. In practice, this architectural knowledge is explicitly formulated only in the documentation (if at all), which usually gets outdated very soon. This leads to a growing amount of implicit knowledge during evolution that is especially volatile in projects with high developer fluctuation. In this paper we present a case study about the loss of architectural knowledge in three industrial projects by tackling the following research questions: 1) to what degree is the architectural documentation kept consistent with the code? 2) how well does the documentation reflect the intended architecture?, 3) how big is the architectural decay?, and 4) what are the causes for inconsistencies? We answer these questions by investigating the architecture documentation, the source code, and by performing interviews with developers. The most important outcomes of our study are: the informal documentation and the source code are not kept consistent with each other, none of them completely reflects the intended architecture, and even developers taken individually are not completely aware of the intended architecture. Quantitatively, between 70% and 90% of these inconsistencies are caused by flaws in the documentation and between 10% and 30% represent architectural violations in the code.

(c) 1999-2006 - Lehrstuhl Software & Systems Engineering
Sitemap |  Contact