Page 153 -
P. 153
8 - PROJECT QUALITY MANAGEMENT
decisions about how to integrate quality assurance and quality control into the overall software development
process. Balancing the tradeoffs between software features, quality attributes, schedule, cost, and criticality of
the software determines how much emphasis will be given to software quality during the project. Defining what is
acceptable quality to meet the users’ needs determines when the product is ready for release and when the project
can be closed. Explicit attention to process improvement can lead to midcourse changes in projects, as well as
produce benefits for future projects within the organization.
A significant part of planning software project quality management activities is determining which of the
software quality attributes are priorities for a particular project, and how the attributes are specified in the software
requirements. Defining what quality attributes will be built into the product, and how the attributes will be measured
by SQA and SQC activities, such as audits, reviews, and testing significantly affects the scope and resources
required to successfully plan and execute a software project.
ISO/IEC/IEEE Standard 15026 for Systems and software engineering – Systems and Software Assurance [27], is
a multi-part standard that provides a comprehensive framework for developing the appropriate assurance case(s)
to guide software development projects where one or more critical properties need to be achieved.
Testing provides a good example of how quality management activities span the three key processes of software
quality management (planning, performing, controlling): test planning is a component of Plan Quality Management,
analyze defect data is a component of Perform Quality Assurance, and test execution is part of Control Quality.
But planning for SQA and SQC is more than designating a small group of auditors and testers who are budgeted
proportionately to the developer team and scheduled to pick out defects at the end of a project. Since it is less
expensive to “build a little, test a little” than to spend months developing and integrating a complex system that fails
verification and validation testing, SQA and SQC need to be performed by everyone on the team, through continuing
peer reviews, walkthroughs, inspections, automated regression tests, and analyses. SQA and SQC are best planned
to occur as part of requirements specification, architecture and data design, and software construction, as well as
through configuration management and formal testing.
Adaptive software project life cycles that rely on frequent iterations to produce working, tested, and deliverable
software are well suited for planning an integrated approach to SQA and SQC. For predictive software project life
cycles that consist of distinct development phases, SQA and SQC are planned as distinct processes.
8.1.1 Plan Quality Management: Inputs
The inputs for planning quality management in Section 8.1.1 of the PMBOK Guide are applicable for software
®
projects. The following considerations also apply to the inputs for planning software project quality management.
In addition to the quality planning inputs identified in the PMBOK Guide, software project managers typically
®
place emphasis on identifying the stakeholders and the product requirements, as well as using quality statistics
from previous projects.
In general, software projects fail because the software product does not meet user expectations of functionality
and quality when developed within the constraints of schedule, budget, and available resources. The software project
144 ©2013 Project Management Institute. Software Extension to the PMBOK Guide Fifth Edition
®