What is quality? Before answering that question, keep in mind that quality can mean different things to different people. For example, if we were comparing the quality of two cars—an expensive luxury car with leather seats and every possible option to a lower-priced economy car that basically gets you where you want to go—many people may be inclined to say that the more expensive car has higher quality. Although the more expensive car has more features, you may not consider it a bargain if you have to keep bringing it back to the shop for expensive repairs. The less-expensive car may start looking much better to you if it were more dependable or met higher safety standards. On the other hand, why do car manufacturers build different models of cars with different price ranges? If everyone could afford luxury cars, then quality comparisons among different manufacturers' cars would be much easier. Although you may have your eyes on a luxury car, your current financial situation (and subsequent logic) may be a constraint. You may have to buy a car you can afford.
Therefore, it is important not to define quality only in terms of features or functionality. Other attributes such as dependability or safety may be just as important to the customer. Similarly in software development, we can build systems that have a great deal of functionality, but perform poorly. On the other hand, we can develop systems that have few features or limited functionality, but also fewer defects.
However, we still need a working definition of quality. The dictionary defines quality as "an inherent or distinguishing characteristic; a property," or as something "having a high degree of excellence." In business, quality has been defined in terms of "fitness for use" and "conformance to requirements." "Fitness for use" concentrates on delivering a system that meets the customer's needs, while "conformance to requirements" centers more on meeting some predefined set of standards. Therefore, quality depends on the needs or expectations of the customer. It is up to the project manager and project team to accurately define those needs or expectations, while allowing the customer to remain within his or her resource constraints.
Although the concepts and philosophies of quality have received a great deal of attention over the last fifty years in the manufacturing and service sectors, many of these same ideas have been integrated into a relatively new discipline or knowledge area called project quality management (PQM). The Project Management Body of Knowledge defines PQM as:
The processes required to ensure that the project will satisfy the needs for which it was undertaken. It includes all activities of the overall management function that determine the quality policy, objectives, and responsibility and implements them by means of quality planning, quality assurance, quality control, and quality improvement, within the quality system. (95)
Moreover, PMBOK defines the major quality management processes as:
• Quality Planning—Determining which quality standards are important to the project and deciding how these standards will be met.
• Quality Assurance—Evaluating overall project performance regularly to ensure that the project team is meeting the specified quality standards.
• Quality Control—Monitoring the activities and results of the project to ensure that the project complies with the quality standards. In addition, the project organization as a whole should use this information to eliminate causes of unsatisfactory performance and implement new processes and techniques to improve project quality throughout the project organization.
Therefore, PQM should focus on both the product and process of the project. From our point of view, the project's most important product is the information system solution that the project team must deliver. The system must be "fit for use" and "conform to specified requirements" outlined in both the project's scope and requirements definition. More importantly, the IT product must add measurable value to the sponsoring organization and meet the scope, schedule, and budget objectives. Quality can, however, also be built into the project management and software development processes. A process refers to the activities, methods, materials, and measurements used to produce the product or service. We can also view these processes as part of a quality chain where outputs of one process serve as inputs to other project management processes (Besterfield, Besterfield-Michna et al. 1999).
By focusing on both the product and chain of project processes, the project organization can use its resources more efficiently and effectively, minimize errors, and meet or exceed project stakeholder expectations. The cost of quality, however, can be viewed as the cost of conforming to standards (i.e., building quality into the product and processes) as well as the cost of not conforming to the standards (i.e., rework). Substandard levels of quality can be viewed as waste, errors, or the failure to meet the project sponsor's or client's needs, expectations, or system requirements (Kloppenborg and Petrick 2002).
Failing to meet the quality requirements or standards can have negative consequences for all project stakeholders and impact the other project objectives. More specifically, adding additional work or repeating project activities will probably extend the project schedule and expand the project budget. According to Barry Boehm (Boehm 1981), a software defect that takes one hour to fix when the systems requirements are being defined will end up taking one hundred hours to correct if not discovered until the system is in production. Moreover, poor quality can be an embarrassment for the project manager, the project team, and the project organization. For example, one of the most widely publicized software defect stories was the faulty baggage-handling software at the Denver International Airport. Bugs in the software delayed the opening of the airport from October 1993 to February 1995 at an estimated cost of $1,000,000 a day! Newspaper accounts reported that bags were literally chewed up and contents of bags were flying through the air (Williamson 1997).
The concepts and philosophies of quality management have received a great deal of attention over the years. Although popularized by the Japanese, many organizations in different countries have initiated quality improvement programs. Such programs include ISO certification, six steps to Six Sigma initiatives, or awards such as the Deming Prize or the Malcolm Baldridge National Quality Award. More recently, the Capability Maturity Model (CMM) has provided a framework for software quality that focuses on assessing the process maturity of software development within an organization. Based on writings and teachings of such quality gurus as Shewhart, Deming, Juran, Ishikawa, and Crosby, the core values of these quality programs have a central theme that includes a focus on the customer, incremental or continuous improvement, problem detection and correction, measurement, and the notion that prevention is less expensive than inspection. A commitment to these quality initiatives, however, often requires a substantial cultural change throughout the organization.
In this chapter, you will learn how the concepts of quality management can be applied to IT project management. We will also extend these concepts to include a broader view of PQM in order to support the overall project goal and objectives. As illustrated in Figure 10.1, PQM will not only include the concepts, teachings, tools, and methods of quality management, but also validation/verification and change control.
Verification and validation (V&V) activities within PQM should be carried out throughout the project life cycle. They require the project team to continually ask, Are
we building the right product? Are we building the product the right way? Therefore, the project quality plan should not only focus on final testing of the system at the end of the project life cycle, but also on all project deliverables. Finding and fixing problems earlier in the project life cycle is less costly than having to deal with them in the later stages of the project. Finding problems early not only leads to less rework later, but also saves the project manager and project team from having to deal with embarrassing issues and problems once the project's product is in the hands of the project sponsor or end-customer.
In addition, software development often requires a number of people to work on multi-versions of documents, programs, and database files that are shared and distributed among various project stakeholders. Change control in the form of configuration management, therefore, is a method of code and document management to track and organize the different versions of documents and files. It keeps the project team more focused and reduces the likelihood of errors.
In addition, knowledge management and the lessons learned can be implemented as best practices and incorporated in projects throughout the organization. Such changes lead to both continuous improvement and to a maturing of IT project management processes. Taken together, the concepts of quality management, V&V activities, change control, and knowledge management support the overall PQM plan. The plan not only helps improve the overall quality of the project's product and processes, but can also lead to a competitive advantage for the project organization because the project will have a greater likelihood of achieving its expected organizational value and support the scope, schedule, and budget objectives.
Was this article helpful?
What you need to know about… Project Management Made Easy! Project management consists of more than just a large building project and can encompass small projects as well. No matter what the size of your project, you need to have some sort of project management. How you manage your project has everything to do with its outcome.