Page 167 -
P. 167

8 - PROJECT QUALITY MANAGEMENT






                      For some domains and kinds of software, model-driven development (MDD) can be used to improve software
                   quality by automatically generating code skeletons from specifications expressed in suitable notations. This reduces
                   the amount of error-prone coding. Model-driven development involves generating substantial parts of software
                   from “models” written in languages such as unified modeling language (UML) and/or domain-specific languages.

                      Configuration management (CM) also plays a significant role in controlling quality during software development.
                   CM provides routine and consistent checks to ensure the integrity, correctness, and completeness of each software
                   build, often based on execution of prepared scripts. Enforced configuration control avoids the problems that arise
                   when more than one developer works on the same module of code at the same time. Several tools working
                   together usually automate configuration management. Control of different versions of each source file document,
                   script, and the “configurations” (i.e., sets of these items that belong together) is accomplished using configuration
                   management tools. These tools can also manage the different ways that components are put together to create
                   different end products in a software product line or software product family.

                      CM tools can also be used to track the defects and other issues related to the software, plus the resolution
                   of these issues. Some CM tools are available as free open-source products and some are commercial products.
                   IEEE Standard 828 – Configuration Management in Systems and Software Engineering [33] provides guidance on
                   all aspects of configuration control for systems and software.

                      SQC can also be used to identify record, analyze, and treat software defects. Software defects may be classified
                   for severity (i.e., the impact on the user), urgency (i.e., the importance to users, often designated as “priority”), root
                   cause of the defect, or location of the defect in the software code. In addition, defect find/fix data provides a
                   statistical basis for assessing the level of stability or instability of a software system at a point in time.



                   8.3.2.1 Seven Basic Quality Tools

                      See Section 8.3.2.1 of the PMBOK  Guide.
                                                   ®
                      SQC uses most of the quality tools described in Section 8.3.2.1 of the PMBOK  Guide; in particular, control
                                                                                          ®
                   charts, run charts, Pareto charts, and histograms. These charts help the software manager to visualize data and
                   discern patterns and causes. In particular, they can be applied to the analysis of defect patterns in software, thus
                   providing the basis to identify areas for preventative improvements.

                      Run charts and control charts are two of the most commonly used tools for quality control of software projects
                   and products. A run chart is a control chart without upper and lower control limits; it is often used to track defects
                   over time. The numbers of defects found each week (or day) is plotted along a time axis. A run chart shows trends,
                   such as declining numbers of defects found as the product gains stability. A control chart is a run chart with upper
                   and lower control limits that can be specified using statistical techniques or rules of thumb. An upper control
                   limit of 5 may be specified for the number of serious defects found during software inspections. Exceeding the
                   control limit on two successive inspections could trigger an investigation to determine corrective action to improve
                   quality control processes. A lower control limit of 2 might be specified. Finding fewer than 2 serious defects during
                   two successive inspections would trigger an investigation to determine whether the inspection process needs






          158      ©2013 Project Management Institute. Software Extension to the PMBOK  Guide Fifth Edition
                                                                   ®
   162   163   164   165   166   167   168   169   170   171   172