Architectural support in industry: a reflection using C-POSH: Practice Articles
Journal of Software Maintenance and Evolution: Research and Practice - 2003 International Conference on Software Maintenance: The Architectural Evolution of Systems
Software Engineering
Hi-index | 0.00 |
Software architecture plays a vital role in thedevelopment (and hence maintenance) of large complex systemswith a long lifetime. It is therefore required that the software architectureis also maintained, i.e. sufficiently documented, clearlycommunicated, and explicitly controlled. In our experience, theserequirements cannot be met without appropriate support.Commercial-off-the-shelf support for architectural maintenanceis still scarcely available, if at all, implying the needto develop appropriate proprietary means. In this paper, webriefly report upon an overall approach taken within three organizationswithin Philips that develop professional systems. Weextensively describe the experience gained with the embeddingof architectural support in these three organizations. We focuson architectural support in the area of software architecturerecovery, visualization, analysis, and verification.In our experience, the support must be carried by a number ofelements of software development, and all of these elements haveto go through a change process to ensure sustainable embedding.We distinguish four of these elements, i.e. process, organization,software development environment, and humans, and present ourexperience in terms of those elements.