51
Chapter 4: Project Quality Management

Chapter 4 · oJuran wrote the Quality Control Handbook and 10 steps to quality improvement. oCrosby wrote Quality is Free and suggested that organizations strive for zero defects

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

  • Chapter 4:

    Project Quality Management

  • Learning Objectives

    o Understand the importance of project quality management for IT products and services.

    o Define project quality management and understand how quality relates to various aspects of IT projects.

    o Describe quality planning and its relationship to project scope management.

    o Discuss the importance of quality assurance.

  • Learning Objectives (Cont.)

    o List the three outputs of the quality control process.o Summarize the contributions of noteworthy quality

    experts to modern quality management.o Describe how leadership, the cost of quality,

    organizational influences, expectations, cultural differences, and maturity models relate to improving quality in IT projects.

    o Discuss how software can assist in project quality management.

  • The Importance of Project Quality Management

    o Many people joke about the poor quality of IT products.

    o People seem to accept systems being down occasionally or needing to reboot their PCs.

    o But quality is very important in many IT projects.

  • What Went Wrong?o In 1986, two hospital patients died after receiving fatal doses of

    radiation from a Therac 25 machine after a software problem caused the machine to ignore calibration data.

    o Britain’s Coast Guard was unable to use its computers for several hours in May 2004 after being hit by the Sasser virus, which knocked out the electronic mapping systems, e-mail, and other computer functions, forcing workers to revert to pen, paper, andradios.

    o More than 100 incidents of lost or stolen financial information were reported over the past year, including personal informationof 1.2 federal employees, 200,000 online trading customers, and 33,000 Air Force officers

  • What is Quality?

    o The International Organization for Standardization (ISO) defines quality as “the degree to which a set of inherent characteristics fulfils requirements”(ISO9000:2000).

    o Other experts define quality based on:

    n Conformance to requirements: The project’s processes and products meet written specifications.

    n Fitness for use: A product can be used as it was intended.

  • What is Project Quality Management?

    o Project quality management ensures that the project will satisfy the needs for which it was undertaken.

    o Processes include:n Quality planning: Identifying which quality standards are

    relevant to the project and how to satisfy them. n Quality assurance: Periodically evaluating overall project

    performance to ensure the project will satisfy the relevant quality standards.

    n Quality control: Monitoring specific project results to ensure that they comply with the relevant quality standards.

  • Project Quality Management Summary

  • Quality Planning

    o Implies the ability to anticipate situations and prepare actions to bring about the desired outcome.

    o Important to prevent defects by:n Selecting proper materials.n Training and indoctrinating people in quality.n Planning a process that ensures the appropriate

    outcome.

  • Design of Experiments

    o Design of experiments is a quality planning technique that helps identify which variables have the most influence on the overall outcome of a process.

    o Also applies to project management issues, such as cost and schedule trade-offs.

    o Involves documenting important factors that directly contribute to meeting customer requirements.

  • Scope Aspects of IT Projects that Affect Quality

    o Functionality is the degree to which a system performs its intended function.

    o Features are the system’s special characteristics that appeal to users.

    o System outputs are the screens and reports the system generates. o Performance addresses how well a product or service performs

    the customer’s intended use. o Reliability is the ability of a product or service to perform as

    expected under normal conditions.o Maintainability addresses the ease of performing maintenance

    on a product.

  • Who’s Responsible for the Quality of Projects?

    o Project managers are ultimately responsible for quality management on their projects.

    o Several organizations and references can help project managers and their teams understand quality.n International Organization for Standardization

    (www.iso.org)n IEEE (www.ieee.org)

    http://www.iso.org)http://www.ieee.org)

  • Quality Assuranceo Quality assurance includes all the activities related to satisfying

    the relevant quality standards for a project.

    n Another goal of quality assurance is continuous quality improvement.

    o Benchmarking generates ideas for quality improvements by comparing specific project practices or product characteristics to those of other projects or products within or outside the performing organization.

    o A quality audit is a structured review of specific quality management activities that help identify lessons learned that could improve performance on current or future projects.

  • Quality Controlo The main outputs of quality control are:n Acceptance decisions determine if the products or services

    produced as part of the project will be accepted or rejected. If project stakeholders reject some of the products or services produced as part of the project, there must be rework.

    n Rework is action taken to bring rejected items into compliance with product requirements or specifications or other stakeholderexpectations. Rework can be very expensive, so the project manager must strive to do a good job of quality planning and quality assurance to avoid this need.

    n Process adjustments correct or prevent further quality problems based on quality control measurements.

  • Defining Software Qualityo For any software system, there should be three

    specifications:n Functional specificationo Describing what the system is to do.

    n Quality specificationo Concerned with how well the functions are to operate.

    n Resource specificationo Concerned with how much is to be spent on the

    system.

  • Software Quality Criteriao Correctnessn The extent to which a program satisfies its specifications and

    fulfils the user’s objectives.o Reliabilityn The extent to which a program can be expected to perform its

    intended function with required precision.

    o Efficiencyn The amounts of computer resources required by the software.

    o Integrityn The extent to which access to software or data by unauthorized

    persons can be controlled.

  • Software Quality Criteria (Cont.)o Usability n The effort required to learn, operate, prepare input and interpret

    output.o Maintainability n The effort required to locate and fix an error in an operational

    program. o Testability n The effort required to test a program to ensure it performs its

    intended function.o Flexibilityn The effort required to modify an operational program.

  • Software Quality Criteria (Cont.)o Portabilityn The effort required to transfer a program from one

    hardware configuration and/or software system environment to another.

    o Reusabilityn The extent to which a program can be used in other

    applications.o Interoperabilityn The effort required to couple one system to another.

  • ISO 9126 Software Qualities

    o Functionalityn Does it satisfy user needs?

    o Reliabilityn Can the software maintain its level of

    performance?o Usabilityn How easy is it to use?

  • ISO 9126 Software Qualities (Cont.)

    o Efficiencyn Related to the physical resources used when the

    software is executed.o Maintainabilityn Related to the effort needed to the make changes

    to the software.o Portabilityn How easy can it be moved to a new environment?

  • Correction of Errorso The later the error is found the more rework at more

    stages of development will be needed.o An error in the specification found in testing will mean

    rework at all the stages between specification and testing.

    o Later stages are more detailed and less able to absorb change.

    o Errors should be eradicated by careful examination of the deliverables of each stage before they are passed on to the next.

  • For each Activity, Define

    o Entry requirementsn These have to be in place before an activity can

    be started.n Example: ‘a comprehensive set of test data and

    expected results be prepared and independently reviewed against the system requirement before program testing can commence’.

  • For each Activity, Define (Cont.)

    o Implementation requirementsn These define how the process is to be

    conducted.n Example ‘whenever an error is found and

    corrected, all test runs must be completed, including those previously successfully passed’.

  • For each Activity, Define (Cont.)

    o Exit requirementsn An activity will not be completed until these

    requirements have been met.n Example: ‘the testing phase is finished only

    when all tests have been run in succession with no outstanding errors’.

  • Testing

    o Many IT professionals think of testing as a stage that comes near the end of IT product development.

    o Testing should be done during almost every phase of the IT product development life cycle.

  • Testing Tasks in the SDLC

  • Types of Tests

    o Unit testing tests each individual component (often a program) to ensure it is as defect-free as possible.

    o Integration testing occurs between unit and system testing to test functionally grouped components.

    o System testing tests the entire system as one entity.

    o User acceptance testing is an independent test performed by end users prior to accepting the delivered system.

  • Testing Alone is Not Enougho Watts S. Humphrey, a renowned expert on software quality, defines

    a software defect as anything that must be changed before delivery of the program.

    o Testing does not sufficiently prevent software defects because:

    n The number of ways to test a complex system is huge.

    n Users will continue to invent new ways to use a system that its developers never considered.

    o Humphrey suggests that people rethink the software development process to provide no potential defects when you enter system testing; developers must be responsible for providing error-free code at each stage of testing.

  • Modern Quality Management

    o Modern quality management:n Requires customer satisfaction.n Prefers prevention to inspection.n Recognizes management responsibility for

    quality.

    o Noteworthy quality experts include Deming, Juran, Crosby, Ishikawa, Taguchi, and Feigenbaum.

  • Quality Expertso Deming was famous for his work in rebuilding Japan and his

    14 points for management.o Juran wrote the Quality Control Handbook and 10 steps to

    quality improvement.o Crosby wrote Quality is Free and suggested that organizations

    strive for zero defects. o Ishikawa developed the concept of quality circles and

    pioneered the use of Fishbone diagrams.o Taguchi developed methods for optimizing the process of

    engineering experimentation.o Feigenbaum developed the concept of total quality control.

  • Inspections – General Principles

    o When a piece of work is completed, copies are distributed to co-workers.

    o Time is spent individually going through the work noting defects.

    o A meeting is held where the work is, then discussed.

    o A list of defects requiring re-work is produced.

  • Inspections – Advantages of Approacho An effective way of removing superficial errors from a piece

    of software.o Motivates the software developer to produce better structured

    and self-explanatory software because they know that other people will be criticizing it.

    o It helps spread good programming practice as the participants discuss the advantages and disadvantages of specific pieces of code.

    o It can enhances team-spirit.o The main problem maintaining the commitment of

    participants.

  • Improving IT Project Quality

    o Several suggestions for improving quality for IT projects include:n Establish leadership that promotes quality.n Understanding the cost of qualityn Focusing on organizational influences and

    workplace factors that affect qualityn Following maturity models to improve quality

  • Leadership

    o As Joseph M. Juran said in 1945,“It is most important that top management be quality-minded. In the absence of sincere manifestation of interest at the top, little will happen below.”

    o A large percentage of quality problems are associated with management, not technical issues.

  • The Cost of Quality

    o The cost of quality is the cost of conformance plus the cost of nonconformance.n Cost of conformance means delivering products that

    meet requirements and fitness for use.n Cost of nonconformance means taking responsibility

    for failures or not meeting quality expectations.

    o A 2007 study reported that software bugs cost the U.S. economy $59.6 billion each year and that one third of the bugs could be eliminated by an improved testing infrastructure.

  • Costs Per Hour of Downtime Caused by Software Defects

    Business Cost per Hour DowntimeAutomated teller machines (medium-sized bank) $14,500

    Package shipping service $28,250

    Telephone ticket sales $69,000

    Catalog sales center $90,000

    Airline reservation center (small airline) $89,500

  • Five Cost Categories Related to Qualityo Prevention cost: Cost of planning and executing a project so

    it is error-free or within an acceptable error range.

    o Appraisal cost: Cost of evaluating processes and their outputs to ensure quality.

    o Internal failure cost: Cost incurred to correct an identified defect before the customer receives the product.

    o External failure cost: Cost that relates to all errors not detected and corrected before delivery to the customer.

    o Measurement and test equipment costs: Capital cost of equipment used to perform prevention and appraisal activities.

  • Media Snapshot

    o A 2008 study by Nucleus Research Inc. estimated that spam would cost large companies nearly $2,000 per employee in lost productivity in 2008 alone, despite investments in software to block spam.n Spam currently accounts for more than 70 percent of total

    email volume worldwide.o In just one month (August 2007), at least 50 new Internet

    viruses surfaced, and losses related to computer viruses cost North American companies about $3.5 billion.

    o Businesses have suffered at least $65 billion in lost productivity because of computer viruses since 1997.

  • Organization Influences, Workplace Factors, and Quality

    o A study by DeMarco and Lister showed that organizational issues had a much greater influence on programmer productivity than the technical environment or programming languages.

    o Programmer productivity varied by a factor of one to ten across organizations, but only by 21 percent within the same organization.

    o The study found no correlation between productivity and programming language, years of experience, or salary.

    o A dedicated workspace and a quiet work environment were key factors to improving programmer productivity.

  • Expectations and Cultural Differences in Quality

    o Project managers must understand and manage stakeholder expectations.

    o Expectations also vary by:n Organization’s culturen Geographic regions

  • Maturity Modelso Maturity models are frameworks for helping organization

    improve their processes and systemsn The Software Quality Function Deployment (SQFD) model

    focuses on defining user requirements and planning software projects.

    n The Software Engineering Institute’s Capability Maturity Model Integration (CMMI) is a process improvement approach that provides organizations with the essential elements of effective processes.

    n Several groups are working on project management maturity models, such as PMI’s Organizational Project Management Maturity Model (OPM3).

  • CMMI Levels

    o CMMI levels, from lowest to highest, are:n Incompleten Performedn Managedn Definedn Quantitatively Managedn Optimizing

    o Companies may not get to bid on government projects unless they have a CMMI Level 3

  • Capability Maturity Models (CMM)o Level 1: Initialn The procedures followed tend to be haphazard. Some projects

    might be successful, but this tends to be because of the skills of particular individuals including project managers. Any organization would be at this level by default.

    o Level 2: Repeatablen Organizations at this level will have basic project management

    procedures in place to track cost, schedule, and functionality for software projects. Process discipline is in place to repeat earlier successes on similar projects. However, the way individual tasks are carried out will depend largely on the person doing it.

  • CMM (Cont.)o Level 3: Definedn At this level, the software processes for both management

    and software engineering activities are documented, standardization, and integrated into a standard software process for the organization. All projects use an approved, tailored version of the standard process in the organization.

    o Level 4: Managedn At this level, organizations collect detailed measures of the

    software process and project quality. Both the software processes and products and processes are quantitatively understood and controlled.

  • CMM (Cont.)

    o Level 5: Optimizingn Operating at the highest level of the maturity

    model, organizations can enable continuous process improvement by using quantitative feedback or data gathered from the measurement processes and from piloting innovative ideas and technologies.

  • Organizational Project Management Maturity Model

    o Ad-Hoc: The project management process is described as disorganized, and occasionally even chaotic. The organization has not defined systems and processes, and project success depends on individual effort. There are chronic cost and schedule problems.

    o Abbreviated: There are some project management processes and systems in place to track cost, schedule, and scope. Project success is largely unpredictable and cost and schedule problems are common.

  • OPM3 (Cont.)

    o Organized: There are standardized, documented project management processes and systems that are integrated into the rest of the organization. Project success is more predictable, and cost and schedule performance is improved.

    o Managed: Management collects and uses detailed measures of the effectiveness of project management. Project success is more uniform, and cost and schedule performance conforms to plan.

  • OPM3 (Cont.)

    o Adaptive: Feedback from the project management process and from piloting innovative ideas and technologies enables continuous improvement. Project success is the norm, and cost and schedule performance is continuously improving.

  • Using Software to Assist in Project Quality Management

    o Spreadsheet and charting software helps create diagrams, and so on.

    o Statistical software packages help perform statistical analysis.

    o Specialized software products help manage projects or create quality control charts.

    o Project management software helps create Gantt charts and other tools to help plan and track work related to quality management.

  • Summary

    o Project quality management ensures that the project will satisfy the needs for which it was undertaken.

    o Main processes include:n Quality planningn Quality assurancen Quality control

  • Questions and Answers