Control Channel Toolkit: A Software Product Line Case Study
1 Introduction
A software product line is a set of software-intensive
systems sharing a common, managed set of features that satisfy the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way
[Clements 01]. Many organizations are finding that software product lines take economic advantage of the commonality among similar systems and can yield remarkable quantitative improvements in productivity, time to market or field, product quality, and customer satisfaction.
The United States National Reconnaissance Office (NRO)
recognized that much is the same from one ground-based
spacecraft command and control system to another. They
decided to take advantage of the commonality and build a
product line asset base for their ground-based spacecraft
command and control software. Early results show that
they made a fine decision. The first system in their
product line is enjoying, among other benefits, 50%
reductions in overall cost and schedule, and nearly
ten-fold reductions in development personnel and defects.
These are impressive results for a first foray into
software product lines, and much can be learned from their
experience.
This case story is the story of that experience¾the story of the Control Channel Toolkit (CCT), the
software asset base for a software product line of ground-based spacecraft
command and control systems built under the direction of the NRO. We begin by
characterizing the CCT context and then we chronicle the history of the
effort, describing the justification for CCT, the CCT team’s organizational
structure and influences, the software artifacts that were developed, and the
practices and processes that were used. We also describe the results that were
achieved and the lessons that were learned, including the measurable benefits
the government has already reaped in the initial use of CCT on a specific
spacecraft command and control system.
Throughout, we underscore software product line
practice area coverage and patterns as well as how the CCT
effort uniquely addressed many of the practice areas. The
practice areas and patterns we refer to are thoroughly
described in Software Product Lines: Practices and
Patterns [Clements 01]. With
the permission of Addison-Wesley, this report is extracted
from this same book, where it was published with the
approval of the National Reconnaissance Office.
[Title Page]
[Abstract]
[Figures]