next up previous contents New Search Help FLUIDS_Home DFKI_Home
Next: Useful Software and other Tools Up: Software Quality Assurance Management Previous: Peer Reviews


Selected Key Practices

 This material has been taken from Paulk et al. [1993b].

Requirements Management 

* Goals:
  
* Top-level activities:
  1. The software engineering group reviews the allocated requirements before they are incorporated into the software project.
  2. The software engineering group uses the allocated requirements as the basis for software plans, work products, and activities.
  3. Changes to the allocated requirements are reviewed and incorporated into the software project.

Software Project Planning 

* Goals:
  
* Top-level activities:
  1. The software engineering group participates on the project proposal team.
  2. Software project planning is initiated in the early stages of, and in parallel with, the overall project planning.
  3. The software engineering group participates with other affected groups in the overall project planning throughout the project's life.
  4. Software project commitments made to individuals and groups external to the organization are reviewed with senior management according to a documented procedure.
  5. A software life cycle with predefined stages of manageable size is identified or defined.
  6. The project's software development plan is developed according to a documented procedure.
  7. The plan for the software project is documented.
  8. Software work products that are needed to establish and maintain control of the software project are identified.
  9. 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.
  10. Estimates for the software project's effort and costs are derived according to a documented procedure.
  11. Estimates for the project's critical computer resources are derived according to a documented procedure.
  12. The project's software schedule is derived according to a documented procedure.
  13. The software risks associated with the cost, resource, schedule, and technical aspects of the project are identified, assessed, and documented.
  14. Plans for the project's software engineering facilities and support tools are prepared.
  15. Software planning data are recorded.

Software Project Tracking and Oversight 

* Goals:
  
* Top-level activities:
  1. A documented software development plan is used for tracking the software activities and communicating status.
  2. The project's software development plan is revised according to a documented procedure.
  3. 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.
  4. Approved changes to commitments that affect the software project are communicated to the members of the software engineering group and other software-related groups.
  5. 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.
  6. The project's software effort and costs are tracked, and corrective actions are taken as necessary.
  7. The project's critical computer resources are tracked, and corrective actions are taken as necessary.
  8. The project's software schedule is tracked, and corrective actions are taken as necessary.
  9. Software engineering technical activities are tracked, and corrective actions are taken as necessary.
  10. The software risks associated with cost, resource, schedule, and technical aspects of the project are tracked.
  11. Actual measurement data and replanning data for the software project are recorded.
  12. The software engineering group conducts periodic internal reviews to track technical progress, plans, performance, and issues against the software development plan.
  13. 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:
  
* Top-level activities:
  1. A SQA plan is prepared for the software project according to a documented procedure.
  2. The SQA group's activities are performed in accordance with the SQA plan.
  3. The SQA group participates in the preparation and review of the project's software development plan, standards, and procedures.
  4. The SQA group reviews the software engineering activities to verify compliance.
  5. The SQA group audits designated software work products to verify compliance.
  6. The SQA group periodically reports the results of its activities to the software engineering group.
  7. Deviations identified in the software activities and software work products are documented and handled according to a documented procedure.
  8. The SQA group conducts periodic reviews of its activities and findings with the customer's SQA personnel, as appropriate.

Software Configuration Management 

* Goals:
  
* Top-level activities:
  1. A SCM plan is prepared for each software project according to a documented procedure.
  2. A documented and approved SCM plan is used as the basis for performing the SCM activities.
  3. A configuration management library system is established as a repository for the software baselines.
  4. The software work products to be placed under configuration management are identified.
  5. Change requests and problem reports for all configuration items/units are initiated, recorded, reviewed, approved, and tracked according to a documented procedure.
  6. Changes to baselines are controlled according to a documented procedure.
  7. Products from the software baseline library are created and their release is controlled according to a documented procedure.
  8. The status of configuration items/units is recorded according to a documented procedure.
  9. Standard reports documenting the SCM activities and the contents of the software baseline are developed and made available to affected groups and individuals.
  10. Software baseline audits are conducted according to a documented procedure.

Software Product Engineering 

* Goals:
  
* Top-level activities:
  1. Appropriate software engineering methods and tools are integrated into the project's defined software process.
  2. The software requirements are developed, maintained, documented, and verified by systematically analyzing the allocated requirements according to the project's defined software process.
  3. 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.
  4. 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.
  5. Software testing is performed according to the project's defined software process.
  6. System and acceptance testing of the software are planned and performed to demonstrate that the software satisfies its requirements.
  7. The documentation that will be used to operate and maintain the software is developed and maintained according to the project's defined software process.
  8. Data on defects identified in peer reviews and testing are collected and analyzed according to the project's defined software process.
  9. 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:
  
* Top-level activities:
  1. The software engineering group and the other engineering groups participate with the customer and end users, as appropriate, to establish the system requirements.
  2. 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.
  3. A documented plan is used to communicate intergroup commitments and to coordinate and track the work performed.
  4. Critical dependencies between engineering groups are identified, negotiated, and tracked according to a documented procedure.
  5. 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.
  6. Intergroup issues not resolvable by the individual representatives of the project engineering groups are handled according to a documented procedure.
  7. Representatives of the project engineering groups conduct periodic technical reviews and interchanges.

Peer Reviews 

* Goals:
  
* Top-level activities:
  1. Peer reviews are planned, and the plans are documented.
  2. Peer reviews are performed according to a documented procedure.
  3. Data on the conduct and results of the peer reviews are recorded.

next up previous contents New Search Help FLUIDS_Home DFKI_Home
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