Page 149 -
P. 149

8 - PROJECT QUALITY MANAGEMENT






                      Within software teams, internal SQA takes the form of introspection, retrospective meetings, and lessons-
                   learned reviews to determine whether or not the specified processes are being followed and to find ways to
                   improve those processes. Performance measures are also reviewed and compared to norms and expectations.

                      SQA at the organizational level examines internal and external SQC methods, tools, techniques, and results for
                   software projects within the organization. The other activities of external SQA may differ for predictive and adaptive
                   software project life cycles. For a predictive life cycle, external SQA determines the degree to which processes
                   such as initiating and planning a software project, eliciting and documenting requirements, preparing design
                   documentation, conducting milestone reviews, and adhering to processes and procedures for change control, test
                   planning, software construction, and testing are being followed and the results that are being obtained.

                      External SQA for adaptive life cycle software projects typically involves determining the degree to which processes
                   and procedures are being followed for the particular adaptive life cycle used and the results being obtained.
                   Processes examined include development of initial project and product scope, identification and involvement of
                   key stakeholders, inclusion of a knowledgeable customer or key stakeholder who is available on a continuing
                   basis, appropriate numbers and skills of teams and team members, and the other elements of agility described
                   in Section 2.4.2.4 of this Software Extension. SQA also examines measurement results related to team velocity,
                   cadence of iteration cycles, and burnup/burndown rates. Measurement results are compared to historical values for
                   the team or teams, and to historical and current values for other software projects within the organization.

                      Commonly used methods of SQC include reviews, inspections, and testing both within teams and externally by
                   independent agents. For a predictive life cycle software project, external SQC typically has a prominent role to play
                   at the end of each incremental development stage (when software increments are developed) and in particular, prior
                   to software delivery/deployment for software projects in the organization. When SQC is applied near the end of a
                   predictive software project, significant rework, increased cost, and schedule delays are often encountered. This can
                   result in pressure on the project manager and the software development team members by key stakeholders. The
                   result can be inadequate software testing and suppression of software quality findings. Developing the software in
                   tested, demonstrable increments can reduce these problems. External SQC for adaptive life cycle software projects
                   may be applied to some or all of the working, demonstrable increments of software produced and for the final,
                   deliverable software product.


                      Most of the tools and techniques in Section 8 of the  PMBOK   Guide for project quality management are
                                                                            ®
                   applicable to managing project quality for software projects, with the following adaptations and extensions that are
                   unique to, or especially important for planning software project quality management, performing software quality
                   assurance, and controlling software quality. This section of the Software Extension also discusses how software
                   quality is defined and how software project managers, their teams, and others plan for and perform software quality
                   management. Both project quality and product quality should be considered to ensure the quality of the delivered
                   software product, and to improve software project quality management for software projects and organizations
                   that develop and modify software.

                                ®
                      The  PMBOK   Guide defines quality as delivered performance:  “the degree to which a set of inherent
                   characteristics fulfill requirements.” The definition from software engineering is similar: “the degree to which a
                   software product satisfies stated and implied needs when used under specified conditions” [2]. To paraphrase




          140      ©2013 Project Management Institute. Software Extension to the PMBOK  Guide Fifth Edition
                                                                   ®
   144   145   146   147   148   149   150   151   152   153   154