Next: Useful Software and other Tools
Up: Software Quality Assurance Management
Previous: Peer Reviews
This material has been taken from Paulk et al. [1993b].
Requirements Management
Goals:
-
- System requirements allocated to software are controlled to
establish a baseline for software engineering and management use.
- Software plans, products, and activities are kept consistent
with the system requirements allocated to software.
Top-level activities:
-
- The software engineering group reviews the allocated
requirements before they are incorporated into the software project.
- The software engineering group uses the allocated requirements
as the basis for software plans, work products, and activities.
- Changes to the allocated requirements are reviewed and
incorporated into the software project.
Software Project Planning
Goals:
-
- Software estimates are documented for use in planning and
tracking the software project.
- Software project activities and commitments are planned and documented.
- Affected groups and individuals agree to their commitments
related to the software project.
Top-level activities:
-
- The software engineering group participates on the project
proposal team.
- Software project planning is initiated in the early stages of,
and in parallel with, the overall project planning.
- The software engineering group participates with other affected
groups in the overall project planning throughout the project's life.
- Software project commitments made to individuals and groups
external to the organization are reviewed with senior management
according to a documented procedure.
- A software life cycle with predefined stages of manageable size
is identified or defined.
- The project's software development plan is developed according
to a documented procedure.
- The plan for the software project is documented.
- Software work products that are needed to establish and maintain
control of the software project are identified.
- Estimates for the size of the software work products (or changes
to the size of software work products) are derived according to a
documented procedure.
- Estimates for the software project's effort and costs are
derived according to a documented procedure.
- Estimates for the project's critical computer resources are
derived according to a documented procedure.
- The project's software schedule is derived according to a
documented procedure.
- The software risks associated with the cost, resource, schedule,
and technical aspects of the project are identified, assessed, and
documented.
- Plans for the project's software engineering facilities and
support tools are prepared.
- Software planning data are recorded.
Software Project Tracking and
Oversight
Goals:
-
- Actual results and performances are tracked against the software
plans.
Corrective actions are taken and managed to closure when actual
results and performance deviate significantly from the software plans.
- Changes to software commitments are agreed to by the affected
groups and individuals.
Top-level activities:
-
- A documented software development plan is used for tracking the
software activities and communicating status.
- The project's software development plan is revised according to
a documented procedure.
- Software project commitments and changes to commitments made to
individuals and groups external to the organization are reviewed with
senior management according to a documented procedure.
- Approved changes to commitments that affect the software project
are communicated to the members of the software engineering group and
other software-related groups.
- The size of the software work products (or size of the changes
to the software work products) are tracked, and corrective actions are
taken as necessary.
- The project's software effort and costs are tracked, and
corrective actions are taken as necessary.
- The project's critical computer resources are tracked, and
corrective actions are taken as necessary.
- The project's software schedule is tracked, and corrective
actions are taken as necessary.
- Software engineering technical activities are tracked, and
corrective actions are taken as necessary.
- The software risks associated with cost, resource, schedule, and
technical aspects of the project are tracked.
- Actual measurement data and replanning data for the software
project are recorded.
- The software engineering group conducts periodic internal
reviews to track technical progress, plans, performance, and issues
against the software development plan.
- Formal reviews to address the accomplishments and results of the
software project are conducted at selected project milestones
according to a documented procedure.
Software Quality Assurance
Goals:
-
- Software quality assurance activities are planned.
- Adherence of software products and activities to the applicable
standards, procedures, and requirements is verified objectively.
- Affected groups and individuals are informed of software quality
assurance activities and results.
- Noncompliance issues that cannot be resolved within the software
project are addressed by senior management.
Top-level activities:
-
- A SQA plan is prepared for the software project according to a
documented procedure.
- The SQA group's activities are performed in accordance with the
SQA plan.
- The SQA group participates in the preparation and review of the
project's software development plan, standards, and procedures.
- The SQA group reviews the software engineering activities to
verify compliance.
- The SQA group audits designated software work products to verify
compliance.
- The SQA group periodically reports the results of its activities
to the software engineering group.
- Deviations identified in the software activities and software
work products are documented and handled according to a documented
procedure.
- The SQA group conducts periodic reviews of its activities and
findings with the customer's SQA personnel, as appropriate.
Software Configuration Management
Goals:
-
- Software configuration management activities are planned.
- Selected software work products are identified, controlled, and
available.
- Changes to identified software work products are controlled.
- Affected groups and individuals are informed of the status and
content of software baselines.
Top-level activities:
-
- A SCM plan is prepared for each software project according to a
documented procedure.
- A documented and approved SCM plan is used as the basis for
performing the SCM activities.
- A configuration management library system is established as a
repository for the software baselines.
- The software work products to be placed under configuration
management are identified.
- Change requests and problem reports for all configuration
items/units are initiated, recorded, reviewed, approved, and tracked
according to a documented procedure.
- Changes to baselines are controlled according to a documented procedure.
- Products from the software baseline library are created and
their release is controlled according to a documented procedure.
- The status of configuration items/units is recorded according to
a documented procedure.
- Standard reports documenting the SCM activities and the contents
of the software baseline are developed and made available to affected
groups and individuals.
- Software baseline audits are conducted according to a documented
procedure.
Software Product Engineering
Goals:
-
- The software engineering tasks are defined, integrated, and
consistently performed to produce the software.
- Software work products are kept consistent with each other.
Top-level activities:
-
- Appropriate software engineering methods and tools are
integrated into the project's defined software process.
- The software requirements are developed, maintained, documented,
and verified by systematically analyzing the allocated requirements
according to the project's defined software process.
- The software design is developed, maintained, documented, and
verified, according to the project's defined software process, to
accommodate the software requirements and to form the framework for
coding.
- The software code is developed, maintained, documented, and
verified, according to the project's defined software process, to
implement the software requirements and software design.
- Software testing is performed according to the project's defined
software process.
- System and acceptance testing of the software are planned and
performed to demonstrate that the software satisfies its requirements.
- The documentation that will be used to operate and maintain the
software is developed and maintained according to the project's
defined software process.
- Data on defects identified in peer reviews and testing are
collected and analyzed according to the project's defined software
process.
- Consistency is maintained across software work products,
including the software plans, process descriptions, allocated
requirements, software requirements, software design, code, test
plans, and test procedures.
Intergroup Coordination
Goals:
-
- The customer's requirements are agreed to by all affected groups.
- The commitments between the engineering groups are agreed to by
the affected groups.
- The engineering groups identify, track, and resolve intergroup issues.
Top-level activities:
-
- The software engineering group and the other engineering groups
participate with the customer and end users, as appropriate, to
establish the system requirements.
- Representatives of the project's software engineering group work
with representatives of the other engineering groups to monitor and
coordinate technical activities and resolve technical issues.
- A documented plan is used to communicate intergroup commitments
and to coordinate and track the work performed.
- Critical dependencies between engineering groups are identified,
negotiated, and tracked according to a documented procedure.
- Work products produced as input to other engineering groups are
reviewed by representatives of the receiving groups to ensure that the
work products meet their needs.
- Intergroup issues not resolvable by the individual
representatives of the project engineering groups are handled
according to a documented procedure.
- Representatives of the project engineering groups conduct
periodic technical reviews and interchanges.
Peer Reviews
Goals:
-
- Peer review activities are planned.
- Defects in the software work products are identified and removed.
Top-level activities:
-
- Peer reviews are planned, and the plans are documented.
- Peer reviews are performed according to a documented procedure.
- Data on the conduct and results of the peer reviews are recorded.
Next: Useful Software and other Tools
Up: Software Quality Assurance Management
Previous: Peer Reviews
Gerd Herzog
Last update: Fri Feb 26 13:17:30 MET 1999
Send comments to herzog@acm.org