Chapter 6

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 20

Chapter 6

Planning for Software Quality


The objectives of this chapter:

Defining quality in software projects


Working with your organization’s quality policy
 Creating a quality management plan
 Identifying how changes in time and cost will affect project
quality

1
Quality
• Quality, for everyone concerned, is the ability
of the project and the project’s deliverable to
satisfy the stated and implied requirements.

• It’s following a process, meeting specified


requirements, and performing to create the best
possible deliverable.

• Everything, from the project kickoff meeting to


the final testing, affects the project quality.
2
Quality
Ask your customers, your project team, your management team, and even
yourself what quality is and you get a variety of answers:

• What customers say: The software you create lives up to expectations, is


reliable, and does some incredible things the customer doesn’t expect (or
even think of).

• What your project team says: The work is completed as planned and as
expected, with few errors — and fewer surprises.

• What managers say: The customer is happy and the project delivers on time
and on budget.

• What you may say: The project team completes its work according to its
estimates, the customer is happy, and management is happy with the final
costs and schedule.

3
Referring to the product scope
• As the project manager, your primary concern is satisfying the
product scope.

• The product scope is the description of the software the


customer expects from your project.

• In order to satisfy the product scope you must first have several
documents:

Product scope description document


Project requirements document
Detailed design document
Metrics for acceptability 4
Referring to the project scope
• Figure 6-1 shows the project manager’s approach to project changes and
quality.

• Early in the project, during the initiation and planning stages, you can safely
entertain changes to the project.

• After you create the project scope, however, your rule when it comes to
changes should be “Just say no!”

• Changes to the project may affect the quality of the product. This isn’t to say
that changes should come into a project at all — far from it.

• But changes to the project must be examined, weighed, and considered for
the affect on time, cost, and impact on project quality.

5
Fig: 6.1: Stakeholder influence wanes as the project moves towards
completion

6
Working with a Quality Policy

 A quality policy is an organization-wide policy that dictates


how your organization will plan, manage, and then control quality
in all projects.

 This policy sets the expectations for your projects, and


everyone else’s, for metrics of acceptability.

 Quality policies fall under the big umbrella of quality assurance


(QA). QA is an organization-wide program, the goal of which is to
improve quality and to prevent mistakes.

7
Working with a Quality Policy
Working ISO programs
• The International Organization for Standardization (ISO) is a worldwide body with 153 members
that convenes in Geneva, Switzerland.

• The goal of the ISO is to set compatibility standards for all industries, to establish common
ground, and to maintain interoperability between businesses, countries, and devices.

• There are many different ISO programs, but the most popular is ISO 9000.

• An ISO 9000-certified organization focuses on business-to-business dealing and striving to ensure


customer satisfaction.

An ISO 9000-certified organization must ensure that it:

 Establishes and meets the customer’s quality requirements


 Adheres to applicable regulatory requirements
 Achieves customer satisfaction throughout the project
 Takes internal measures to continually improve performance,
not just once 8
Getting a Total Quality Management workout

• The U.S. Naval Air Systems Command originated the term Total Quality
Management (TQM) as a means of describing the Japanese-style management
approach to quality improvement.

• TQM requires that all members of an organization contribute to quality


improvements in products, services, and the work culture.

• The idea is that if everyone is involved in quality and works to make the total
environment better, then the services and products of the organization will
continue to improve.

• In software development, TQM means that the entire team works to make
the development of the software better, the process from start to completion
better, and the deliverable better as well. 9
Getting a Total Quality Management workout

• TQM is largely based on W. Edwards Deming’s 14 Points for Quality. Here’s how Deming’s 14
points and TQM are specifically applicable to software development.

1.Create constancy of purpose for improving products and services.


2.Adopt the new philosophy
3.Cease dependence on inspection to achieve quality
4.End the practice of awarding business on price alone; instead, minimize total cost by working
with a single supplier
5. Constantly strive to improve every process for planning, production, and service
6. Institute training on the job
7. Adopt and institute leadership
8. Drive out fear
9. Break down barriers between staff areas
10. Eliminate slogans, exhortations, and targets for the workforce
11. Eliminate numerical quotas for the workforce and numerical goals for management
12. Remove barriers that rob people of pride of workmanship, and eliminate the annual rating or merit
system
13. Institute a vigorous program of education and self-improvement for everyone
14. Put everybody in the company to work accomplishing the transformation
10
Slipping into the sixth sigma

• Six Sigma is a procedure that strives to reduce waste, errors, and constantly
improve quality through the services and deliverables an organization
produces.

• Six Sigma was developed by some really smart people at Motorola who
received the Malcolm National Quality Award in 1988 for their Six Sigma
methodology.

• Figure 6-2 shows the range of possibilities for sigma. According to ASQ, most
organizations perform at three to four sigma, where they drop anywhere
between 20 and 30 percent of their revenue due to a lack of quality.

• If a company can perform at Six Sigma, it only allows 3.4 defects per million
opportunities. 11
Fig: 6.4: Organizations operating at the Sixth Sigma allow
only 3.4 defects per million.

12
Organizations operating at the Sixth Sigma allow only 3.4
defects per million.

The primary points of Six Sigma are:


We don’t know what we don’t know
We don’t do what we don’t know
We won’t know until we measure
We don’t measure what we don’t value
We don’t value what we don’t measure

13
Using homegrown, in-house quality solutions

Any and all in-house solutions should have the following attributes:
• A written document that details the organization’s quality management
approach
• A defined system to identify quality, and identified procedures for
performing a quality audit
• Metrics and procedures on how to perform quality control (QC)
• A boilerplate quality management plan that all projects use to guide project
planning, execution, and completion
• Procedures on how to update, change, or challenge the quality management
Plan

14
Balancing Time, Cost, and Quality

• The Iron Triangle of project management, as shown in Figure 6-3, requires


that all three constraints of a project remain balanced in order for a project to
be successful. Right smack in the middle of the Iron Triangle is quality.

• This is because if the sides of the triangle are not kept in balance, quality is
most likely to suffer.

• So, if your scope increases, then your time, cost, or both will also need to
increase or quality will suffer.

Figure 6-3: Quality is affected by the balance of the Iron Triangle 15


Balancing Time, Cost, and Quality

• So how much quality is enough? When it comes to software development,


you may create a scale of errors, bugs, and gremlins that sneak into the code.

• Any bugs below a score of 20 may be accepted for now, while everything
over 20 needs to be fixed.

• Some organizations, however, would like to aim for a zero-tolerance policy on


bugs. Sounds great, but is it possible or profitable?

• You can test, complete peer reviews, and hire third parties to examine your
code for months or years on end and not find errors.

• Does this mean there are no errors within the software? No, it just means
that none have been found — yet. 16
Balancing Time, Cost, and Quality

• If your organization spends months or years examining, inspecting, and


testing code, the market window can easily open and shut for your software
before you even get the program packaged.

• And who pays for all of the inspection? It isn’t feasible to demand perfection
on most software projects because of the time and expense to prove the
existence of perfection

17
Examining optimal quality

• Optimal quality describes how much quality is expected in return for the cost
to achieve that level of quality.

• The optimal quality, in this instance, is how much quality should be built into
the software while still allowing for a profit margin.

• Ideally, the cost of quality is much lower than the final profit margin. That’s
the equation that keeps businesses in the black.

• Optimal quality, fun as it is, has two related costs for you to consider:

 Cost of quality: This is the amount that you have to spend to achieve optimal quality.
Cost of nonconformance to quality: This is the cost assigned to wasted labor, wasted
materials, and rework when your project team delivers poor and faulty code.
Considering quality when making changes

• One of the biggest influences on quality is changes to the project scope.

• Sometimes changes are absolutely necessary in order to make your


stakeholders happy.

• The two points to consider regarding change control are:

 Consider how changes may affect quality, and address this in your change
control plan and your quality management plan.

 Changes are not evil beings to be avoided. They are a necessary part of any
project, and your process for dealing with them should be addressed in your
change control plan.
19
Considering quality when making changes

What you need is integrated change control. Integrated change control is a


method to examine change and its influence on the project as a whole.

When changes are proposed, answer all of the following questions:

 What affect does this change have on the project scope?


 What affect does this change have on cost and time?

20

You might also like