Applying Software Product-Line Architecture

  • Authors:
  • David Dikel;David Kane;Steve Ornburn;William Loftus;Jim Wilson

  • Affiliations:
  • -;-;-;-;-

  • Venue:
  • Computer
  • Year:
  • 1997

Quantified Score

Hi-index 4.10

Visualization

Abstract

Many organizations today are investing in software product-line architecture-for good reason: A well-executed architecture enables organizations to respond quickly to a redefined mission or to new and changing markets. It allows them to accelerate the introduction of new products and improve their quality, to reengineer legacy systems, and to manage and enhance the many product variations needed for international markets. Sharing a common software architecture across a product line brings a core set of knowledge and assets to the development process. Product-line architecture not only reduces the complexity and cost of developing and maintaining code, but also streamlines the production of documentation, training materials, and product literature. However, technically excellent product-line architectures do fail, often because they are not effectively used. Some are developed but never used; others lose value as product teams stop sharing the common architecture; still others achieve initial success, but fail to keep up with a rapidly growing product mix. Sometimes the architecture deterioration is not noticed at first, masked by what appears to be a productivity increase. To learn what factors determine the effective use of software architecture, we looked at Nortel (Northern Telecom), a company with nearly 20 years of experience developing complex software architecture for telecommunications product families. We identified six principles that help reduce the complexity of an evolving family of products and that support and maintain the effective use and integrity of the architecture. Nortel's experience provides compelling evidence of software architecture's benefits and risks and shows the importance of organizational behaviors. We observed, however, that applying a principle without discrimination-too much, too little, or without focus-also caused negative consequences. How does one strike a balance? Our conclusion is that architecture is most effective in delivering value and managing complexity when the six critical organizational principles are applied in concert.