Architectural support in industry: a reflection using C-POSH: Practice Articles

  • Authors:
  • R. J. Bril;R. L. Krikhaar;A. Postma

  • Affiliations:
  • Technical University Eindhoven (TU/e), Den Dolech 2, 5600 AZ Eindhoven, The Netherlands and Philips Research Laboratories Eindhoven, IST-SwA, Prof. Holstlaan 4, NL-5656 AA Eindhoven, The Ne ...;Philips Medical Systems, P.O. Box 10000, 5600 AA Best, The Netherlands;Philips Research Laboratories Eindhoven, IST-SwA, Prof. Holstlaan 4, NL-5656 AA Eindhoven, The Netherlands

  • Venue:
  • Journal of Software Maintenance and Evolution: Research and Practice - 2003 International Conference on Software Maintenance: The Architectural Evolution of Systems
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software architecture plays a vital role in the development (and hence maintenance) of large complex systems (containing millions of lines of code) with a long lifetime. It is therefore required that the software architecture is also maintained, i.e., sufficiently documented, clearly communicated, and explicitly controlled during its life-cycle. In our experience, these requirements cannot be met without appropriate support.Commercial-off-the-shelf support for architectural maintenance is still scarcely available, if at all, implying the need to develop appropriate proprietary means. In this paper, we reflect upon software architecture maintenance taken within three organizations within Philips that develop professional systems. We extensively describe the experience gained with introducing and embedding of architectural support in these three organizations. We focus on architectural support in the area of software architecture recovery, visualization, analysis, and verification.In our experience, the support must be carried by a number of pillars of software development, and all of these pillars have to go through a change process to ensure sustainable embedding. Managing these changes requires several key roles to be fulfilled in the organization: a champion, a company angel, a change agent, and a target. We call our reflection model C-POSH, which is an acronym for Change management of the four identified pillars of software development: Process, Organization, Software development environment, and Humans. Our experiences will be presented in terms of the C-POSH model. Copyright © 2005 John Wiley & Sons, Ltd.