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:
- Documented standards and procedures are used in selecting software
subcontractors and managing the software subcontracts.
- The contractual agreements form the basis for managing the subcontract.
- 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.
- The subcontract manager is knowledgeable and experienced in software
engineering or has individuals assigned who have that knowledge and experience.
- 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.
- The subcontract manager is responsible for:
- selecting the software subcontractor,
- managing the software subcontract, and
- arranging for the post-subcontract support of the subcontracted
products.
Ability to perform
Ability 1 -- Adequate resources and funding are provided for selecting
the software subcontractor and managing the subcontract.
- Software managers and other individuals are assigned specific
responsibilities for managing the subcontract.
- Tools to support managing the subcontract are made available.
Examples of support tools include:
- estimating models,
- spreadsheet programs, and
- project management and scheduling programs.
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:
- preparing and planning for software subcontracting,
- evaluating a subcontract bidder's software process capability,
- evaluating a subcontract bidder's software estimates and plans,
- selecting a subcontractor, and
- managing a subcontract.
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:
- application domain,
- software technologies being applied,
- software tools being used,
- methodologies being used,
- standards being used, and
- procedures being used.
Activities performed
Activity 1 -- The work to be subcontracted is defined and planned
according to a documented procedure.
This procedure typically specifies that:
- The software products and activities to be subcontracted are selected
based on a balanced assessment of both technical and nontechnical
characteristics of the project.
- The functions or subsystems to be subcontracted are selected to match the
skills and capabilities of potential subcontractors.
- The specification of the software products and activities to be
subcontracted is determined based on a systematic analysis and appropriate
partitioning of the system and software requirements.
- The specification of the work to be subcontracted and the standards and
procedures to be followed are derived from the project's:
- statement of work,
- system requirements allocated to software,
- software requirements,
- software development plan, and
- software standards and procedures.
- A subcontract statement of work is:
- prepared,
- reviewed,
- agreed to,
Examples of individuals who review and agree to the subcontract statement of
work include:
- the project manager,
- the project software manager,
- the responsible software managers,
- the software configuration management manager,
- the software quality assurance manager, and
- the subcontract manager.
- revised when necessary, and
- managed and controlled.
"Managed and controlled" implies that the version of the work product in use at
a given time (past or present) is known (i.e., version control), and changes
are incorporated in a controlled manner (i.e., change control).
If a greater degree of control than is implied by "managed and controlled" is
desired, the work product can be placed under the full discipline of
configuration management, as is described in the Software Configuration
Management key process area.
Refer to Ability 1 of the Software Project Planning key process area for
practices covering typical contents of the statement of work.
- 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:
- Proposals submitted for the planned subcontract.
- Prior performance records on similar work, if available.
- 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.
- Software engineering and software management capabilities.
An example of a method to evaluate subcontractors' capabilities is the SEI
Software Capability Evaluation method.
- Staff available to perform the work.
- Prior experience in similar applications, including software expertise on
the subcontractor's software management team.
- Available resources.
Examples of resources include:
- facilities,
- hardware,
- software, and
- training.
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:
- The terms and conditions.
- 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.
- The requirements for the products to be developed.
- The list of dependencies between the subcontractor and the prime
contractor.
- The subcontracted products to be delivered to the prime contractor.
Examples of products include:
- source code,
- software development plan,
- simulation environment,
- design documentation, and
- acceptance test plan.
- The conditions under which revisions to products are to be submitted.
- The acceptance procedures and acceptance criteria to be used in evaluating
the subcontracted products before they are accepted by the prime
contractor.
- 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.
- 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.
- 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.
- 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.
- The subcontractor's technical, cost, staffing, and schedule performance is
reviewed against the subcontractor's software development plan.
- 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.
- Critical dependencies and commitments between the subcontractor's software
engineering group and other subcontractor groups are addressed.
- Critical dependencies and commitments between the prime contractor and the
subcontractor are addressed.
- Subcontractor commitments to the prime contractor and prime contractor
commitments to the subcontractor are both reviewed.
- Nonconformance to the subcontract is addressed.
- Project risks involving the subcontractor's work are addressed.
- Conflicts and issues not resolvable internally by the subcontractor are
addressed.
- Action items are assigned, reviewed, and tracked to closure.
Activity 8 -- Periodic technical reviews and interchanges are held with
the software subcontractor.
These reviews:
- Provide the subcontractor with visibility of the customer's and end users'
needs and desires, as appropriate.
- Monitor the subcontractor's technical activities.
- Verify that the subcontractor's interpretation and implementation of the
technical requirements conform to the prime contractor's requirements.
- Verify that commitments are being met.
- 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:
- Reviews are preplanned and documented in the statement of work.
- Reviews address the subcontractor's commitments for, plans for, and status
of the software activities.
- Significant issues, action items, and decisions are identified and
documented.
- Software risks are addressed.
- 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:
- 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.
- Regular reviews of the subcontractor are conducted to ensure the approved
procedures and standards are being followed.
- The prime contractor's software quality assurance group spot checks the
subcontractor's software engineering activities and products.
- The prime contractor's software quality assurance group audits the
subcontractor's software quality assurance records, as appropriate
- 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:
- The subcontractor's plans, resources, procedures, and standards for
software configuration management are reviewed to ensure they are adequate.
- 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.
- 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:
- 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.
- The results of the acceptance tests are documented.
- 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:
- costs of the activities for managing the subcontract compared to the plan,
- actual delivery dates for subcontracted products compared to the plan, and
- actual dates of prime contractor deliveries to the subcontractor compared
to the plan.
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:
- The activities for selecting the subcontractor.
- The activities for managing the software subcontract.
- The activities for coordinating configuration management activities of the
prime contractor and subcontractor.
- The conduct of planned reviews with the subcontractor.
- The conduct of reviews that establish completion of key project milestones
or stages for the subcontract.
- The acceptance process for the subcontractor's software products.
Table of contents
Back one chapter
Forward one chapter