Integrated Software Management

a key process area for level 3: Defined


The purpose of Integrated Software Management is to integrate the software engineering and management activities into a coherent, defined software process that is tailored from the organization's standard software process and related process assets, which are described in Organization Process Definition.

Integrated Software Management involves developing the project's defined software process and managing the software project using this defined software process. The project's defined software process is tailored from the organization's standard software process to address the specific characteristics of the project.

The software development plan is based on the project's defined software process and describes how the activities of the project's defined software process will be implemented and managed. The management of the software project's size, effort, cost, schedule, staffing, and other resources is tied to the tasks of the project's defined software process.

Since the projects' defined software processes are all tailored from the organization's standard software process, the software projects can share process data and lessons learned.

The basic practices for estimating, planning, and tracking a software project are described in the Software Project Planning and Software Project Tracking and Oversight key process areas. They focus on recognizing problems when they occur and adjusting the plans and/or performance to address the problems. The practices of this key process area build on, and are in addition to, the practices of those two key process areas. The emphasis of Integrated Software Management shifts to anticipating problems and acting to prevent or minimize the effects of these problems.

Goals

Goal 1

The project's defined software process is a tailored version of the organization's standard software process.

Goal 2

The project is planned and managed according to the project's defined software process.

Commitment to perform

Commitment 1 -- The project follows a written organizational policy requiring that the software project be planned and managed using the organization's standard software process and related process assets.


Refer to the Organization Process Definition key process area for practices covering the organization's standard software process and related process assets.


This policy typically specifies that:
  1. Each project documents the project's defined software process by tailoring the organization's standard software process.
  2. The project's deviations from the organization's standard software process are documented and approved.
  3. Each project performs its software activities in accordance with the project's defined software process.
  4. Each project collects and stores appropriate project measurement data in the organization's software process database.

Refer to Activity 5 of the Organization Process Definition key process area for practices covering the organization's software process database.


Ability to perform

Ability 1 -- Adequate resources and funding are provided for managing the software project using the project's defined software process.


Refer to Ability 3 of the Software Project Planning key process area and Ability 3 of the Software Project Tracking and Oversight key process area for practices covering resources and funding for software project planning, tracking, and oversight.


Ability 2 -- The individuals responsible for developing the project's defined software process receive required training in how to tailor the organization's standard software process and use the related process assets.


Examples of training include:


Refer to the Training Program key process areas.


Ability 3 -- The software managers receive required training in managing the technical, administrative, and personnel aspects of the software project based on the project's defined software process.


Refer to Ability 4 of the Software Project Planning key process area and Ability 4 of the Software Project Tracking and Oversight key process area for practices covering training for software project planning, tracking, and oversight.



Examples of training include:


Refer to the Training Program key process area.


Activities performed

Activity 1 -- The project's defined software process is developed by tailoring the organization's standard software process according to a documented procedure.


Refer to Activity 2 of Organization Process Definition key process area for practices covering the contents of the organization's standard software process.


This procedure typically specifies that:
  1. A software life cycle is:
    Refer to Activity 4 of the Organization Process Definition key process area for practices covering the organization's tailoring guidelines and criteria.


  2. The description of the project's defined software process is documented.
    Refer to Activity 2 of the Organization Process Definition key process area for practices covering the expected contents of a process definition.



    The tailoring uses the organization's process assets as appropriate.


  3. Tailoring of the organization's standard software process for the project is reviewed by the group responsible for coordinating the organization's software process activities (e.g., software engineering process group) and approved by senior management.
    Refer to Activity 6 of the Organization Process Definition key process area for practices covering the library of software process-related documentation.


  4. Waivers for deviations from contractual software process requirements are documented and are reviewed and approved by senior management and the software project's customer, as appropriate.
  5. The description of the project's defined software process is 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.


Activity 2 -- Each project's defined software process is revised according to a documented procedure.

This procedure typically specifies that:
  1. Changes derived from the following are documented and systematically reviewed:
  2. Changes to the project's defined software process are reviewed and approved before they are incorporated.
    Examples of individuals who review the changes include:


    Examples of individuals who approve the changes include:

Activity 3 -- The project's software development plan, which describes the use of the project's defined software process, is developed and revised according to a documented procedure.


Refer to Activities 6 and 7 of the Software Project Planning key process area and Activities 1 and 2 of the Software Project Tracking and Oversight key process area for practices covering the software development plan.


Activity 4 -- The software project is managed in accordance with the project's defined software process.


Refer to the Software Project Planning and the Software Project Tracking and Oversight key process areas for basic practices covering managing a software project.


The project's defined software process typically specifies that:
  1. Provisions are made for gathering, analyzing, and reporting measurement data needed to manage the software project.
  2. The activities for software estimating, planning, and tracking are tied to the key tasks and work products of the project's defined software process.
  3. Readiness and completion criteria are established, documented, and used to authorize initiation and determine completion of key tasks.
  4. Documented criteria are defined to indicate when to replan the software project.
  5. Technical and management lessons learned are documented and stored in the organization's library of software process-related documentation.
    Refer to Activity 6 of the Organization Process Definition key process area for practices covering the organization's library of software process-related documentation.


  6. Technical and management lessons learned from monitoring the activities of other projects in the organization are systematically reviewed and used to estimate, plan, track, and replan the software project.
  7. The staffing plan addresses the software project's needs for individuals with special skills and application domain knowledge.
  8. Training needs are identified and documented to fit the specific needs of the software project.
    Refer to Activity 1 of the Training Program key process area for practices covering the identification of the project's training needs.


  9. The software plans and processes followed in interacting with other groups are adjusted to account for disparities with these groups and for other potential problems.
    Examples of disparities and problems include:

Activity 5 -- The organization's software process database is used for software planning and estimating.


Refer to Activity 5 of the Organization Process Definition key process area for practices covering the organization's software process database.


  1. The database is used as a source of data to estimate, plan, track, and replan a software project; data for similar software projects are used when possible.
    Examples of data contained in the organization's software process database include:
  2. Parameter values used to derive estimates for software size, effort, cost, schedule, and use of critical computer resources are compared to those of other software projects to assess their validity.
  3. The software project provides appropriate software planning data, replanning data, and actual measured data for storage in the organization's software process database.
    Examples of data recorded by the software project include:

Activity 6 -- The size of the software work products (or size of changes to the software work products) is managed according to a documented procedure.


Refer to Activity 9 of the Software Project Planning key process area and Activity 5 of the Software Project Tracking and Oversight key process area for basic practices covering planning and tracking size of software work products.


This procedure typically specifies that:
  1. A group that is independent of the software engineering group reviews the procedures for estimating the size of the software work products, and provides guidance in using historical data from the organization's software process database to establish credible estimates.
    An example of an independent group is a software estimating group.

    An example of a method to evaluate the credibility of software size estimates is a function-by-function comparison to a completed system.


  2. A contingency factor is applied to the size estimate for each software element identified as a software risk.
  3. Off-the-shelf or reusable software components are identified.
  4. Factors which could significantly affect the size of the software work products are identified and monitored closely.
  5. A size threshold is established for each managed software element which, when projected to be exceeded, requires action.

Activity 7 -- The project's software effort and costs are managed according to a documented procedure.


Refer to Activity 10 of the Software Project Planning key process area and Activity 6 of the Software Project Tracking and Oversight key process area for basic practices covering planning and tracking software efforts and costs.


This procedure typically specifies that:
  1. Software effort, cost, and staffing profile models, if used, are adapted to the project and use available historical data where appropriate.
  2. Referenced productivity and cost data are adjusted to incorporate project variables.
    Examples of project variables include:
  3. The overall software effort and cost is allocated to individually managed tasks or stages as needed to manage the effort and cost effectively.
  4. When the software effort and cost status is reviewed and the estimates are revised, actual expenditures over time and against work completed are compared to the software development plan and used to refine the effort and cost estimates for remaining work.
  5. An effort and cost threshold is established for each individually managed software task or stage which, when projected to be exceeded, requires action.

Activity 8 -- The project's critical computer resources are managed according to a documented procedure.


Refer to Activity 11 of the Software Project Planning key process area and Activity 7 of the Software Project Tracking and Oversight key process area for basic practices covering planning and tracking critical computer resources.


This procedure typically specifies that:
  1. Estimates for the project's critical computer resources are derived based on historical experience, simulations, prototyping, or analysis, as appropriate.
  2. The planned computer resources, the system requirements allocated to software, the software requirements, and/or the software design are adjusted to achieve the project's critical computer resource requirements.
  3. The available computer resources are allocated to the software components.
  4. The available capacity for the critical computer resources provides for a specified reserve capacity when the initial estimates are made.
  5. A threshold is established for each critical computer resource which, when projected to be exceeded, requires action.

Activity 9 -- The critical dependencies and critical paths of the project's software schedule are managed according to a documented procedure.


Refer to Activity 12 of the Software Project Planning key process area, Activity 8 of the Software Project Tracking and Oversight key process area, and Activity 4 of the Intergroup Coordination key process area for practices covering negotiating and tracking critical dependencies.


This procedure typically specifies that:
  1. Milestones, tasks, commitments, critical dependencies, staffing, costs, and reviews are allocated in the schedule consistent with the project's defined software process.
    Different levels of schedule detail, appropriately tied to each other, are developed to accommodate the needs of different groups and individuals.


  2. Critical dependencies are defined, negotiated, and reflected in the software schedule.
    Critical dependencies include both those within the software engineering group (i.e., between subgroups) and between the software engineering group and other affected groups.


  3. Schedule critical paths are defined and reflected in the software schedule.
  4. The software project's critical dependencies and schedule critical paths are tracked on a regular basis.
  5. Specific documented threshold criteria are established for each critical path which, when projected to be exceeded, require action.
    Examples of actions include:

Activity 10 -- The project's software risks are identified, assessed, documented, and managed according to a documented procedure.


Refer to Activity 13 of the Software Project Planning key process area and Activity 10 of the Software Project Tracking and Oversight key process area for basic practices covering identifying and tracking risk.



Examples of software risks that are to be managed include significant possibilities that the software project could fail to meet its objectives in areas such as:


Examples of activities to manage risks include:
This procedure typically specifies that:
  1. A software risk management plan is documented and used to identify and manage the software risks.
    Examples of items in a software risk management plan include:
  2. Contingency planning is based on the project's defined software process and is performed throughout the project's software life cycle.
    Examples of areas covered by contingency planning activities include:
  3. Alternatives for each software risk are defined, where possible, along with criteria for selecting among the alternatives.
  4. The initial release and major revisions to the software risk management plan undergo peer review.
    Refer to the Peer Reviews key process area.


  5. The software risk management plan is managed and controlled.
  6. Software risks are tracked, reassessed, and replanned at selected project milestones, at designated risk checkpoints, and during the planning of significant changes that affect the software project.
  7. The software engineering group and other affected groups and individuals are included in the communications on the software risks, the software risk management plans, and the results of risk mitigation.
    Examples of affected groups and individuals include:

Activity 11 -- Reviews of the software project are periodically performed to determine the actions needed to bring the software project's performance and results in line with the current and projected needs of the business, customer, and end users, as appropriate.


Examples of actions include:


The end users referred to in these practices are the customer-designated end users or representatives of the end users.


Measurement and analysis

Measurement 1 -- Measurements are made and used to determine the effectiveness of the integrated software management activities.


Examples of measurements include:

Verifying implementation

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


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 project 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 project and reports the results.


Refer to the Software Quality Assurance key process area.


At a minimum, the reviews and/or audits verify:
  1. The process for developing and revising the project's defined software process.
  2. The process for preparing the project's software development plan and software risk management plan.
  3. The processes for managing the project in accordance with the project's defined software process.
  4. The processes for collecting and providing appropriate data to the organization's software process database.
  5. The process for using the organization's software process database to support the software project's planning, estimating, and tracking activities

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