Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Pattern languages of program design
Pattern languages of program design
Architectural mismatch or why it's hard to build systems out of existing parts
Proceedings of the 17th international conference on Software engineering
Software architecture: perspectives on an emerging discipline
Software architecture: perspectives on an emerging discipline
IEEE Software
Component-based systems development: challenges and lessons learned
STEP '97 Proceedings of the 8th International Workshop on Software Technology and Engineering Practice (STEP '97) (including CASE '97)
SAST '97 Proceedings of the 5th International Symposium on Assessment of Software Tools (SAST '97)
Journal of Systems and Software
Hi-index | 0.02 |
Component-based Software Engineering (CBSE) advocates the acquisition, adaptation, and integration of reusable software components, including commercial-of-the-shelf (COTS) products, to rapidly develop and deploy complex software systems with minimum engineering effort and resource cost. While the interest in CBSE continues to increase, underestimating the technical and management risks associated with this software engineering approach has resulted in a large number of unsuccessful projects. It is recognized that further understanding of fundamental challenges associated with CBSE will be needed before significant increase in industrial successes can be observed.This paper describes a 9-month effort, initiated by Motorola, to study the feasibility of applying CBSE to the IRIDIUM system development. Although succeeded, post-mortem of this effort reveals an unanticipated challenge in applying CBSE to projects that lack stable system requirements. This challenge caused by repeated cycles of (1) component selection, evaluation, and integration activities; and (2) requirement evaluation, negotiation, and definition activities that are costly both in time and resource. Mismanaging the risks associated with this cyclical dependency can lead to schedule slippage, costly production, and delivery of unusable solution. The paper concludes with description of several risk-mitigation strategies that we have effectively adopted for IRIDIUM and subsequent CBSE projects.