Application of CBSE to Projects with Evolving Requirements - A Lesson-Learned

  • Authors:
  • Vu N. Tran;Dar-Biau Liu

  • Affiliations:
  • -;-

  • Venue:
  • APSEC '99 Proceedings of the Sixth Asia Pacific Software Engineering Conference
  • Year:
  • 1999

Quantified Score

Hi-index 0.02

Visualization

Abstract

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.