Software Subcontract Management

a key process area for level 2: Repeatable


The purpose of Software Subcontract Management is to select qualified software subcontractors and manage them effectively.

Software Subcontract Management involves selecting a software subcontractor, establishing commitments with the subcontractor, and tracking and reviewing the subcontractor's performance and results. These practices cover the management of a software (only) subcontract, as well as the management of the software component of a subcontract that includes software, hardware, and possibly other system components.

The subcontractor is selected based on its ability to perform the work. Many factors contribute to the decision to subcontract a portion of the prime contractor's work. Subcontractors may be selected based on strategic business alliances, as well as technical considerations. The practices of this key process area address the traditional acquisition process associated with subcontracting a defined portion of the work to another organization.

When subcontracting, a documented agreement covering the technical and nontechnical (e.g., delivery dates) requirements is established and is used as the basis for managing the subcontract. The work to be done by the subcontractor and the plans for the work are documented. The standards that are to be followed by the subcontractor are compatible with the prime contractor's standards.

The software planning, tracking, and oversight activities for the subcontracted work are performed by the subcontractor. The prime contractor ensures that these planning, tracking, and oversight activities are performed appropriately and that the software products delivered by the subcontractor satisfy their acceptance criteria. The prime contractor works with the subcontractor to manage their product and process interfaces.

Goals

Goal 1

The prime contractor selects qualified software subcontractors.

Goal 2

The prime contractor and the software subcontractor agree to their commitments to each other.

Goal 3

The prime contractor and the software subcontractor maintain ongoing communications.

Goal 4

The prime contractor tracks the software subcontractor's actual results and performance against its commitments.

Commitment to perform

Commitment 1 -- The project follows a written organizational policy for managing the software subcontract.

This policy typically specifies that:
  1. Documented standards and procedures are used in selecting software subcontractors and managing the software subcontracts.
  2. The contractual agreements form the basis for managing the subcontract.
  3. Changes to the subcontract are made with the involvement and agreement of both the prime contractor and the subcontractor.

Commitment 2 -- A subcontract manager is designated to be responsible for establishing and managing the software subcontract.

  1. The subcontract manager is knowledgeable and experienced in software engineering or has individuals assigned who have that knowledge and experience.
  2. The subcontract manager is responsible for coordinating the technical scope of work to be subcontracted and the terms and conditions of the subcontract with the affected parties.
    The project's system engineering group and software engineering group define the technical scope of the work to be subcontracted.

    The appropriate business function groups, such as purchasing, finance, and legal, establish and monitor the terms and conditions of the subcontract.


  3. The subcontract manager is responsible for:

Ability to perform

Ability 1 -- Adequate resources and funding are provided for selecting the software subcontractor and managing the subcontract.

  1. Software managers and other individuals are assigned specific responsibilities for managing the subcontract.
  2. Tools to support managing the subcontract are made available.
    Examples of support tools include:

Ability 2 -- Software managers and other individuals who are involved in establishing and managing the software subcontract are trained to perform these activities.


Examples of training include:

Ability 3 -- Software managers and other individuals who are involved in managing the software subcontract receive orientation in the technical aspects of the subcontract.


Examples of orientation include:

Activities performed

Activity 1 -- The work to be subcontracted is defined and planned according to a documented procedure.

This procedure typically specifies that:
  1. The software products and activities to be subcontracted are selected based on a balanced assessment of both technical and nontechnical characteristics of the project.
  2. The specification of the work to be subcontracted and the standards and procedures to be followed are derived from the project's:
  3. A subcontract statement of work is:
    Refer to Ability 1 of the Software Project Planning key process area for practices covering typical contents of the statement of work.


  4. A plan for selecting a subcontractor is prepared concurrent with the subcontract statement of work and is reviewed, as appropriate.

Activity 2 -- The software subcontractor is selected, based on an evaluation of the subcontract bidders' ability to perform the work, according to a documented procedure.

This procedure covers the evaluation of:
  1. Proposals submitted for the planned subcontract.
  2. Prior performance records on similar work, if available.
  3. The geographic locations of the subcontract bidders' organizations relative to the prime contractor.
    Effective management of some subcontracts may require frequent face-to-face interactions.


  4. Software engineering and software management capabilities.
    An example of a method to evaluate subcontractors' capabilities is the SEI Software Capability Evaluation method.


  5. Staff available to perform the work.
  6. Prior experience in similar applications, including software expertise on the subcontractor's software management team.
  7. Available resources.
    Examples of resources include:

Activity 3 -- The contractual agreement between the prime contractor and the software subcontractor is used as the basis for managing the subcontract.

The contractual agreement documents:
  1. The terms and conditions.
  2. The statement of work.
    Refer to Ability 1 of the Software Project Planning key process area for practices covering the typical contents of a statement of work.


  3. The requirements for the products to be developed.
  4. The list of dependencies between the subcontractor and the prime contractor.
  5. The subcontracted products to be delivered to the prime contractor.
    Examples of products include:
  6. The conditions under which revisions to products are to be submitted.
  7. The acceptance procedures and acceptance criteria to be used in evaluating the subcontracted products before they are accepted by the prime contractor.
  8. The procedures and evaluation criteriato be used by the prime contractor to monitor and evaluate the subcontractor's performance.

Activity 4 -- A documented subcontractor's software development plan is reviewed and approved by the prime contractor.

  1. This software development plan covers (directly or by reference) the appropriate items from the prime contractor's software development plan.
    In some cases, the prime contractor's software development plan, may include the software development plan for the subcontractor, and no separate subcontractor's software development plan is needed.



    Refer to Activity 7 of the Software Project Planning key process area for practices covering content of the project's software development plan.


Activity 5 -- A documented and approved subcontractor's software development plan is used for tracking the software activities and communicating status.

Activity 6 -- Changes to the software subcontractor's statement of work, subcontract terms and conditions, and other commitments are resolved according to a documented procedure.

  1. This procedure typically specifies that all affected groups of both the prime contractor and the subcontractor are involved.

Activity 7 -- The prime contractor's management conducts periodic status/coordination reviews with the software subcontractor's management.

  1. The subcontractor is provided with visibility of the needs and desires of the product's customers and end users, as appropriate.
    The end users referred to in these practices are the customer designated end users or representatives of the end users.


  2. The subcontractor's technical, cost, staffing, and schedule performance is reviewed against the subcontractor's software development plan.
  3. Computer resources designated as critical for the project are reviewed; the subcontractor's contribution to the current estimates are tracked and compared to the estimates for each software component as documented in the subcontractor's software development plan.
  4. Critical dependencies and commitments between the subcontractor's software engineering group and other subcontractor groups are addressed.
  5. Critical dependencies and commitments between the prime contractor and the subcontractor are addressed.
  6. Nonconformance to the subcontract is addressed.
  7. Project risks involving the subcontractor's work are addressed.
  8. Conflicts and issues not resolvable internally by the subcontractor are addressed.
  9. Action items are assigned, reviewed, and tracked to closure.

Activity 8 -- Periodic technical reviews and interchanges are held with the software subcontractor.

These reviews:
  1. Provide the subcontractor with visibility of the customer's and end users' needs and desires, as appropriate.
  2. Monitor the subcontractor's technical activities.
  3. Verify that the subcontractor's interpretation and implementation of the technical requirements conform to the prime contractor's requirements.
  4. Verify that commitments are being met.
  5. Verify that technical issues are resolved in a timely manner.

Activity 9 -- Formal reviews to address the subcontractor's software engineering accomplishments and results are conducted at selected milestones according to a documented procedure.

This procedure typically specifies that:
  1. Reviews are preplanned and documented in the statement of work.
  2. Reviews address the subcontractor's commitments for, plans for, and status of the software activities.
  3. Significant issues, action items, and decisions are identified and documented.
  4. Software risks are addressed.
  5. The subcontractor's software development plan is refined, as appropriate.

Activity 10 -- The prime contractor's software quality assurance group monitors the subcontractor's software quality assurance activities according to a documented procedure.

This procedure typically specifies that:
  1. The subcontractor's plans, resources, procedures, and standards for software quality assurance are periodically reviewed to ensure they are adequate to monitor the subcontractor's performance.
  2. Regular reviews of the subcontractor are conducted to ensure the approved procedures and standards are being followed.
  3. The subcontractor's records of its software quality assurance activities are periodically audited to assess how well the software quality assurance plans, standards, and procedures are being followed.

Activity 11 -- The prime contractor's software configuration management group monitors the subcontractor's activities for software configuration management according to a documented procedure.

This procedure typically specifies that:
  1. The subcontractor's plans, resources, procedures, and standards for software configuration management are reviewed to ensure they are adequate.
  2. The prime contractor and the subcontractor coordinate their activities on matters relating to software configuration management to ensure that the subcontractor's products can be readily integrated or incorporated into the project environment of the prime contractor.
  3. The subcontractor's software baseline library is periodically audited to assess how well the standards and procedures for software configuration management are being followed and how effective they are in managing the software baseline.

Activity 12 -- The prime contractor conducts acceptance testing as part of the delivery of the subcontractor's software products according to a documented procedure.

This procedure typically specifies that:
  1. The acceptance procedures and acceptance criteria for each product are defined, reviewed, and approved by both the prime contractor and the subcontractor prior to the test.
  2. The results of the acceptance tests are documented.
  3. An action plan is established for any software product that does not pass its acceptance test.

Activity 13 -- The software subcontractor's performance is evaluated on a periodic basis, and the evaluation is reviewed with the subcontractor.


Evaluation of the subcontractor's performance provides an opportunity for the subcontractor to obtain feedback on whether or not it is satisfying its customer's (i.e., the prime contractor's) needs. A mechanism such as performance award fee reviews provides this type of feedback, as opposed to the periodic coordination and technical reviews which occur throughout the project. Documentation of these evaluations also acts as input for future subcontractor selection activities.


Measurement and analysis

Measurement 1 -- Measurements are made and used to determine the status of the activities for managing the software subcontract.


Examples of measurements include:

Verifying implementation

Verification 1 -- The activities for managing the software subcontract are reviewed with senior management on a periodic basis.


The primary purpose of periodic reviews by senior management is to provide awareness of and insight into software process activities at an appropriate level of abstraction and in a timely manner. The time between reviews should meet the needs of the organization and may be lengthy, as long as adequate mechanisms for exception reporting are available.



Refer to Verification 1 of the Software Project Tracking and Oversight key process area for practices covering the typical content of senior management oversight reviews.


Verification 2 -- The activities for managing the software subcontract are reviewed with the project manager on both a periodic and event-driven basis.


Refer to Verification 2 of the Software Project Tracking and Oversight key process area for practices covering the typical content of project management oversight reviews.


Verification 3 -- The software quality assurance group reviews and/or audits the activities and work products for managing the software subcontract and reports the results


Refer to the Software Quality Assurance key process area.


At a minimum, the reviews and/or audits verify:
  1. The activities for selecting the subcontractor.
  2. The activities for managing the software subcontract.
  3. The activities for coordinating configuration management activities of the prime contractor and subcontractor.
  4. The conduct of planned reviews with the subcontractor.
  5. The conduct of reviews that establish completion of key project milestones or stages for the subcontract.
  6. The acceptance process for the subcontractor's software products.

[^^]Table of contents [->]Back one chapter [->]Forward one chapter