|
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 comm fd2 itments 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 19c 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 plann fee ing 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. 19f
- 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.
- Th fdf e 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 subcontr 194 actor'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
accordi fcd ng 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 c 199 ompared
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 fb5 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.
|
|