Software Engineering Institute Carnegie Mellon

Control Channel Toolkit: A Software Product Line Case Study

Launching CCT

The primary motivation for adopting a product line approach is economic¾ the promise of long-term savings in return for some extra short-term effort. Thus, business issues often dominate any discussion about a particular product line. The resolution and handling of those business issues may determine the success or failure of the product line effort, as measured by its long-term costs and savings. The feasibility study team, which was already steeped in the understanding of the domain we just summarized, analyzed both business and technical issues. In getting started, they and the initial CCT team that followed exercised practices in the following software product line practice areas:

And it was the combination of practices from these areas that accomplished the "Launching" part of the "Launching and Institutionalizing" practice area.  

 

3.1  Developing a Business Case for CCT

The business goals for CCT were to reduce life-cycle costs and development risks, promote interoperability, and provide flexibility. For the government spacecraft community, flexibility translates into accommodating multiple implementation contractors and enabling the integration of both commercially available and legacy assets. The strategy was to develop a toolkit once, and have the three candidate programs share the development and maintenance costs.

The study team examined an array of government and commercial spacecraft command and control systems, including the three under primary investigation. They objectively examined the life-cycle cost data of the DCCS, the SSCS, and the Spacecraft C2 Program. Original program estimates were used; the validity of these estimates was not challenged, although the estimates were considered by the study team to be lower than the actual costs. Based on a domain requirements analysis, cost estimates were derived for implementing the three candidate systems using a product line approach. The commonality of requirements across these systems ranged from a low of 49% to a high of 89%, and the cost-benefit analysis showed significant life-cycle savings. The team also conducted a thorough risk identification and analysis activity. Mitigation strategies were defined for identified risks.

The feasibility study concluded that:

  • There was a credible CCT development schedule that contained a supportable staffing plan and no staffing impacts to DCCS and that was timely enough to meet Spacecraft C2 needs.

  • CCT would ensure significant cost savings for these three programs over a ten-year period.

  • Risks that could preclude CCT’s success were manageable.

  • CCT supported the overall government reuse vision.

The business case for CCT, as expressed in the original CCT statement of work, described cost savings over multiple programs that were partially attributable to maximized reuse of DCCS assets and exploitation of DCCS experience. Interestingly, the cost analysis did not show major savings for CCT’s three candidate systems in terms of development; program sponsors were sold on the vision of greatly reduced risk and the promise of cost savings in the future. The concept of recruiting additional subscribers to the product line¾ that is, finding new satellite programs that could be built using CCT¾ was always a key part of the business strategy behind CCT.  

 

3.2  Developing the Acquisition Strategy and Funding CCT

Typically a command and control system is acquired as part of a larger procurement that includes whatever is being commanded and controlled. The contract for the entire procurement is usually awarded to a single prime contractor. In the case of CCT, three government programs formed a partnership to acquire software that could be used across those three programs, as well as others. The CCT acquisition strategy required that the government assume some responsibility development, because spacecraft software systems were becoming too complex to be acquired as stand-alone, one-of-a-kind systems. Otherwise, both the cost and the risk were too great.

Asset ownership was a key product line issue, because the product line was commissioned by one organization but developed by another. In the CelsiusTech example described by Brownsword and Clements, a defense contractor developed a product line on its own initiative and successfully sold it to many governments around the world [Brownsword 96]. In that case, CelsiusTech made sure to retain all intellectual rights to the product line.

In the case of CCT, however, the product line was commissioned by the U.S. Government, which wanted to recover its up-front investment in building the assets by realizing savings across other programs, some of which had not yet been identified. Therefore, it retained the rights to the asset base. In both the CCT and CelsiusTech cases, intellectual rights resided with the organization that (1) paid the up-front cost to build the asset base and (2) took it upon itself to find more customers for the product line to recoup that cost.

Although the NRO commissioned Raytheon for development of product line assets, the assets may be used by other government organizations. These organizations will commission contractors to build specific spacecraft command and control systems. The U.S. Government retains total rights to the CCT architecture and the components. However, Raytheon has full freedom to develop commercialized derivations that they can then bring to the marketplace.  

 

3.3  Structuring the CCT Organization

There are four organizational groups or stakeholders in the CCT effort; the NRO (the sponsoring customer) and Raytheon (the commissioned developer) have already been mentioned. The third set of stakeholders consists of the organizations charged with developing the systems for which the product line was launched: the Spacecraft C2 System, DCCS, and SSCS. The fourth set of stakeholders includes future CCT users¾ those organizations that may subscribe to CCT as a basis for building or reengineering their own systems in the future. Only the organizational units that the NRO and Raytheon structured for CCT were important to the initial CCT effort.

Raytheon’s CCT Program was divided into the organizational units shown in Table 1 to accomplish the CCT development tasks.

Table 1: Raytheon’s Organizational Structure for CCT Development

Organizational Unit

Responsibilities

Contractor program office

Technical management of development effort; accountable to the NRO CCT Program Office

Program support

Technical management support functions—for example, configuration management, quality assurance, business operations

Domain engineering and architecture

Requirements engineering; architecture definition

Component engineering

Component development

Application engineering

Testing architecture that demonstrates the ability to build products from CCT

Test engineering

Component and assembly testing

Training

Training materials and internal training of CCT personnel

Sustainment engineering

Fixing and enhancing CCT baseline; working with application engineers and users to refine, deliver, and maintain the CCT assets

CCT development was structured into six overlapping increments with an integrated development team responsible for each. The members of the integrated teams came from a cross section of the organizational structure listed in Table 1 with the exception of the first increment, which involved only the Domain Engineering and Architecture group because this increment was primarily dedicated to scoping the CCT product line. The phases and the integrated teams make explicit the iteration we talk about as inherent in core asset development.

The NRO’s organizational unit for CCT was the CCT Program Office, which consisted of a small team of government management and technical personnel who managed CCT development at the organizational level. The CCT Program Office was augmented by a small number of technical personnel from two government research and development centers, the SEI and the Aerospace Corporation.

Every product line effort is dependent on strong communication among the stakeholders [Clements 01]. To ensure effective communication and to guide CCT’s development over the extended life cycle-¾ creation, usage in an initial product set, usage in a future product set, and evolution¾ the CCT Program Office created a variety of working groups. The main CCT working group coordinated project-level decisions for the CCT program and ran the stakeholder working groups. In turn, the stakeholder working groups provided direction for the CCT component and sustainment engineering groups. An architecture group advised the main working group on issues relating to the CCT architecture.

Raytheon’s integrated teams and the NRO’s working groups were a unique aspect of the CCT organizational structure that permitted productive cross-pollination and communication among the stakeholders.  

 

3.4  Organizational and Technical Planning

The NRO and Raytheon partnered in the planning of CCT. CCT development was scheduled to begin in August 1997 and end on December 31, 1999. Plans were developed that spanned this time period. These plans addressed carefully the organizational management needs of the CCT Program Office for reviews and incremental deliveries, Raytheon’s technical management needs for plotting and tracking the development processes, and Spacecraft C2’s needs for requisite CCT assets for their system development effort. In addition, configuration management, risk management, and quality assurance plans were developed. There was also a transition plan to be used by developers of CCT-based systems, which describes the process for delivering and installing the CCT assets for use by developers of target systems. The formal process of maintaining the CCT assets was documented in a CCT Sustainment Plan.

All of these plans were accessible at the CCT Web site, and all were updated as the CCT effort progressed to depict the current status of the CCT development and integration process. The CCT effort scored high in the two planning practice areas; the development of the plans, the plans themselves, and their practice of religiously keeping the plans visible, accessible, and up-to-date make CCT an exemplar in these practice areas.  

 

3.5  Operations

Operations for core asset development were governed by the plans set in motion. The integrated teams for each of the six development increments carried out the development tasks. The systematic reuse approach adopted by the CCT effort was process-driven and took advantage of what was available¾ legacy assets, proven algorithms, and commercial off-the-shelf (COTS) products. Value-adding operational processes included frequent technical interchange meetings, weekly status meetings with the CCT program office, and use of the CCT Web site to post all artifacts and documentation. The government designated more than 20 documents as deliverables in addition to supporting documents created to aid developers and users. Baselined versions of all deliverable documents and links to the CCT models and software development folders were available on the CCT Web site. The site also hosted the CCT master schedule, archives of reviews, and project status information.

The integrated teams and the working groups promoted sufficient community and stakeholder involvement to make traditional long, drawn-out government reviews unnecessary. The CCT Program Office established a modest number of review points at which increment deliverables and the status of development and technical management activities were reviewed. Metrics were defined and the corresponding data collected to track and evaluate progress. A proof-of-concept prototype was developed to show how long it would take to mine assets and integrate them with the architecture.

As for how the CCT effort would connect with the software product line it was to support, the NRO developed the CCT Program Concept of Operations, which documented operations for coordination with CCT users (those organizations developing products from the CCT assets). This concept of operation contained:

  • the strategies, tactics, policies, and constraints that describe processes to be used to field products

  • the organizations, activities, and interactions involved in fielding the products

  • the specific processes, in overview fashion, that provide a process model for fielding a product in terms of when and in what order these processes take place, including dependencies and concurrencies

Also defined are three stages for using CCT to support the envisioned spacecraft command and control product line: asset development, asset sustainment and process refinement, and product line sustainment and improvement.

  1. Asset development: Development activities, performed by the CCT contractor, translate the set of common user command and control requirements into software components that provide the needed capabilities. The six developmental increments of CCT that were already described were all part of asset development.

  2. Asset sustainment and process refinement: Delivery and installation of CCT assets as increments are completed by the CCT Contractor to CCT users, including assistance with installing and transitioning these increments into the user’s development environment.

  3. Product line sustainment and improvement: Coordination of continuous improvement of CCT and its attached processes. As use of CCT increases, it is expected that members of the CCT user community will participate in a CCT users group. The sustainment effort will be coordinated by means of the chief CCT working group processes and procedures.

The CCT Concept of Operations called for a Senior Management Panel to provide "corporate oversight" of the product line and to guide its evolution by setting strategic goals (such as attracting particular new customers). The CCT Program Office was to take the lead in evaluating new subscribers. The sustainment costs were to be shared equally by all future partners, although it is easy to imagine variations on this allocation should all parties agree.

The Business Plan: Asset Development Phase, an addendum to the concept of operations, established procedures and criteria for working with potential CCT users. These procedures were designed to support evaluation of the ability of the CCT assets to accommodate the technical and programmatic requirements of new users. Also identified were organizational responsibilities, coordination processes, and timelines for conducting these evaluations and establishing agreements with new users. Specifically, the business plan addressed the qualification of new subscribers. A preliminary assessment to evaluate a prospective new program that inquires about using the CCT product line assets was defined. This assessment was designed to determine the answers to the following questions:

  • Does the candidate user fit into the CCT vision?

  • Will the candidate user’s needs alter the scope of the CCT domain?

  • Is the candidate user’s concept of system operation compatible with the CCT architecture?

  • Does the CCT schedule satisfy the candidate user’s needs?

  • Would there be a potentially significant impact on existing users if the candidate user were to be added to the CCT user community?

  • Does the CCT asset base benefit from accommodating the candidate user?

  • Are there any significant contracting issues associated with supporting the candidate user?

If the preliminary assessment was favorable, then a detailed evaluation would take place, based on the following criteria:

  • Technical
    • extent to which CCT currently satisfies candidate user’s requirements
    • benefits to CCT from enhancing capabilities to encompass a greater portion of candidate user’s requirements set
    • fraction of candidate user’s proposed requirements that fall outside the scope of CCT assets (and user must pursue independently)
    • potential for technology infusion from user to CCT assets and expected functionality improvements
    • compatibility of CCT architecture with candidate user’s system concept of operations, including computing platforms, development tools, and operations skill mix and staffing profiles

  • Schedule
    • feasibility of CCT program office meeting candidate user’s schedule requirements
    • impact of candidate user’s requirements on schedule commitments to existing CCT users

  • Cost
    • feasibility of identifying and allocating costs for added development work required by candidate user
    • acceptability of cost sharing provisions to candidate user and existing users
    • potential for overall cost savings

  • Risk (technical performance, cost, and schedule)
    • level of risk for meeting commitments to candidate user
    • increase in level of risk associated with meeting commitments to existing users

  • Contract issues
    • extent to which accommodating the needs of candidate user falls within defined CCT contract scope
    • issues regarding sole-source vs. competitive selection for any additional required development work
CCT also developed a concept of operations for the sustainment phase that contains:

  • the strategies, tactics, policies, and constraints that describe how the product line assets will be sustained and used to field future products

  • the organizations, activities, and interactions that describe who will participate in sustaining the product line and what these stakeholders do in that process

  • the specific operational processes, in overview fashion, that the CCT program will apply to sustain the assets and maintain CCT user collaboration.

The concept of operations documents developed for CCT provide rich examples for organizations that will not be the product developers of the products in their product lines.  

 


[Title Page]     [Abstract]     [Figures]     [1 Introduction]    
[2 Contextual Background]     [ Launching CCT]    
[4 Engineering the CCT Core Assets]     [5 Managing the CCT Effort]    
[6 Early Benefits from CCT]     [7 Lessons and Issues]     [8 Summary]    
[References]     [DTIC page]     [PDF file]