Organization Process Definition
a key process area for level 3: Defined
The purpose of Organization Process
Definition is to develop and maintain a usable set of software process assets
that improve process performance across the projects and provide a basis for
cumulative, long-term benefits to the organization.
Organization Process Definition involves developing and maintaining the
organization's standard software process, along with related process assets,
such as descriptions of software life cycles, process tailoring guidelines and
criteria, the organization's software process database, and a library of
software process-related documentation.
These assets may be collected in many ways, depending on the organization's
implementation of Organization Process Definition. For example, the
descriptions of the software life cycles may be an integral part of the
organization's standard software process or parts of the library of software
process-related documentation may be stored in the organization's software
process database.
The organization's software process assets are available for use in developing,
implementing, and maintaining the projects' defined software processes. (The
practices related to the development and maintenance of the project's defined
software process are described in the Integrated Software Management key
process area.)
Goals
Goal 1
A standard software process for the organization is developed and maintained.
Goal 2
Information related to the use of the organization's standard software
process by the software projects is collected, reviewed, and made available.
Commitment to perform
Commitment 1 -- The organization follows a written policy for developing
and maintaining a standard software process and related process assets.
The organization's software process assets include:
- the organization's standard software process,
- guidelines and criteria for the projects' tailoring of the organization's
standard software process,
- descriptions of software life cycles approved for use,
- the organization's software process database, and
- a library of software process-related documentation previously developed
and available for reuse.
This policy typically specifies that:
- A standard software process is defined for the
organization.
The primary purposes of a standard software process are to maximize the sharing
of process assets and experiences across the projects and to provide the
ability to define and aggregate a standard set of process measurements from the
projects at the organization level.
The organization's standard software process may contain multiple software
processes. Multiple software processes may be needed to address the needs of
different applications, life cycles, methodologies, and tools, which the
software projects may compose in multiple ways.
- A project's defined software process is a tailored version of the
organization's standard software process.
Refer to Activity 1 of the Integrated Software Management key process
area for practices covering tailoring of the organization's standard software
process.
- The organization's software process assets are maintained.
- Information collected from the projects is organized and used to improve
the organization's standard software process.
Examples of collected information include:
- process and product measurements,
- lessons learned, and
- other process-related documentation.
Ability to perform
Ability 1 -- Adequate resources and funding are provided for developing
and maintaining the organization's standard software process and related
process assets.
- The development and maintenance of the organization's standard software
process and related process assets is performed or coordinated by the group
responsible for the organization's software process activities (e.g., software
engineering process group).
Refer to the Organization Process Focus key process area for practices covering
the group responsible for the organization's software process activities.
- Tools to support process development and maintenance are made available.
Examples of support tools include:
- desktop publishing tools,
- database management systems, and
- process modeling tools.
Ability 2 -- The individuals who develop and maintain the organization's
standard software process and related process assets receive required training
to perform these activities.
Examples of training include:
- software engineering practices and methods,
- process analysis and documentation methods, and
- process modeling.
Refer to the Training Program key process area.
Activities performed
Activity 1 -- The organization's standard software process is developed
and maintained according to a documented procedure.
This procedure typically specifies that:
- The organization's standard software process satisfies the software
policies, process standards, and product standards imposed on the organization,
as appropriate.
- The organization's standard software process satisfies the software
process and product standards that are commonly imposed on the organization's
projects by their customers, as appropriate.
- State-of-the-practice software engineering tools and methods are
incorporated into the organization's standard software process, as appropriate.
- The internal process interfaces between the software disciplines are
described.
Examples of software engineering disciplines include:
- software requirements analysis,
- software design,
- coding,
- software testing,
- software configuration management, and
- software quality assurance.
- The external process interfaces between the software
process and the processes of other affected groups are described.
Examples of other affected groups include:
- system engineering,
- system test,
- contract management, and
- documentation support.
- Changes proposed for the organization's standard software process are
documented, reviewed, and approved by the group responsible for the
organization's software process activities (e.g., software engineering process
group) before they are incorporated.
Examples of sources for change include:
- the findings and recommendations of software process assessments,
- results of the project's tailoring of the organization's standard software
process,
- lessons learned from monitoring the organization's and projects' software
process activities,
- changes proposed by the organization's staff and managers, and
- process and product measurement data that are analyzed and
interpreted.
- Plans for introducing changes to the software process of ongoing projects
are defined as appropriate.
- The description of the organization's standard software process undergoes
peer review when initially developed and whenever significant changes or
additions are made.
Refer to the Peer Reviews key process area.
- The description of the organization's standard software process is placed
under configuration management.
Refer to the Software Configuration Management key process area.
Activity 2 -- The organization's standard software process
is documented according to established organization standards.
These standards typically specify that:
- The process is decomposed into constituent process elements to the
granularity needed to understand and describe the process.
Each process element covers a well-defined, bounded, closely related set of
activities.
Examples of process elements include:
- software estimating element,
- software design element,
- coding element, and
- peer review element.
-
The descriptions of the process elements may be templates to be filled
in, fragments to be completed, abstractions to be refined, or complete
descriptions to be modified or used unmodified.
- Each process element is described and addresses:
- the required procedures, practices, methods, and technologies;
- the applicable process and product standards;
- the responsibilities for implementing the process;
- the required tools and resources;
- inputs;
- the software work products produced;
- the software work products that should undergo peer review;
- the readiness and completion criteria; and
- the product and process data to be collected.
- The relationships of the process elements are described and
address:
- the ordering,
- the interfaces, and
- the interdependencies.
This relationship of the process elements is sometimes referred to as a
software process architecture.
Activity 3 -- Descriptions of software life cycles that are approved for
use by the projects are documented and maintained.
Examples of software life cycles include:
- waterfall,
- overlapping waterfall,
- spiral,
- serial build, and
- single prototype/overlapping waterfall.
- The software life cycles are compatible with the organization's standard
software process.
- Changes proposed for the descriptions of software life cycles are
documented, reviewed, and approved by the group responsible for the
organization's software process activities (e.g., software engineering process
group) before they are incorporated.
- The descriptions of the software life cycles undergo peer review when initially
documented and whenever significant changes or additions are made.
Refer to the Peer Reviews key process area.
- The descriptions of the software life cycles are 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 4 -- Guidelines and criteria for the projects' tailoring
of the organization's standard software process are developed and maintained.
- The tailoring guidelines and criteria cover:
- selecting and tailoring the software life cycle for the project,
- tailoring the organization's standard software process to accommodate the
software life cycle and the project's characteristics, and
Examples of tailoring include:
- adapting the process for a new product line or host environment,
- customizing the process for a specific project or class of projects, and
- elaborating and adding detail to the process so that the resulting
project's defined software process can be enacted.
- standards for documenting the project's defined software process.
- Changes proposed for the tailoring guidelines and criteria are documented,
reviewed, and approved by the group responsible for the organization's software
process activities (e.g., software engineering process group) before they are
incorporated.
- The tailoring guidelines and criteria are managed and controlled.
Activity 5 - The organization's software process database is established
and maintained.
- The database is established to collect and make available data on the
software processes and resulting software work products.
Examples of process and work product data include:
- estimates of software size, effort, and cost;
- actual data on software size, effort, and cost;
- productivity data;
- quality measurements;
- peer review coverage and efficiency;
- test coverage and efficiency;
- software reliability measures;
- number and severity of defects found in the software requirements; and
- number and severity of defects found in the software code.
- The data entered into the database is reviewed to ensure
the integrity of the database contents.
In addition, the database also contains or references the actual measurement
data and related information and data needed to understand and interpret the
measurement data and assess it for reasonableness and applicability.
- The database is managed and controlled.
- User access to the database contents is controlled to ensure completeness,
integrity, and accuracy of the data.
Access is limited to those who have a need to enter, change, view, analyze, or
extract data.
Sensitive data are protected and access to these data is appropriately
controlled.
Activity 6 -- A library of software process-related documentation is
established and maintained.
Examples of software process-related documentation include:
- the description of a project's defined software process,
- a project's standards,
- a project's procedures,
- a project's software development plans,
- a project's measurement plans, and
- a project's process training materials.
- Candidate documentation items are reviewed and appropriate items that may
be useful in the future are included in the library.
- The documentation items are catalogued for easy access.
- Revisions made to documentation items currently in the library are
reviewed, and the library contents are updated as appropriate.
- The library contents are made available for use by the software projects
and other software-related groups.
Examples of software-related groups include:
- software quality assurance
- software configuration management,
- software test, and
- documentation support.
- The use of each documentation item is reviewed periodically, and the
results are used to maintain the library contents.
- The library contents are managed and controlled.
Measurement and analysis
Measurement 1 -- Measurements are made and used to determine the status of
the organization's process definition activities.
Examples of measurements include:
- status of the schedule milestones for process development
and maintenance, and
- costs for the process definition activities.
Verifying implementation
Verification 1 -- The software quality assurance group reviews and/or
audits the organization's activities and work products for developing and
maintaining the organization's standard software process and related process
assets and reports the results.
Refer to the Software Quality Assurance key process area.
At a minimum, these reviews and/or audits verify that:
- The appropriate standards are followed in developing, documenting, and
maintaining the organization's standard software process and related process
assets.
- The organization's standard software process and related process assets
are controlled and used appropriately.
Table of contents
Back one chapter
Forward one chapter
| |
|