QA Labs brings you practical tips and tools on testing, quality assurance (QA), and related topics through this monthly e-newsletter.
Continuous Quality Improvement and Outsourcing
TQM vs CQI
The credit for developing the concept
of Total Quality Management (TQM) is given to Dr. W. Edwards
Deming, who was requested by the Japanese government of
1950 to come and assist them with turning around the public
perception of the poor quality of Japanese products. Following
his principles of "total quality control" to continually
measure and correct your progress in achieving customer
service goals, in less than a generation, "Made in Japan"
became associated with quality product.
Sometimes Deming's concepts are referred
to as Continuous Quality Improvement (CQI) to reflect that
improving quality is a continuous process following the
never-ending cycle of "Plan-Do-Check-Act".
Benefits of Quality
Having a high quality product translates
into a large number of benefits to the organization such
as:
- Less time reworking the code and re-testing interim
bug fixes and patches.
- Effort for product updates can focus on new features
rather than bug-fixing.\
- Low levels of technical support calls.
- No refunds and recalls of the product.
- Lower expense of supporting multiple versions of the
product in the field.
- Good publicity rather than bad.
With a product recognized as high-quality,
the number of referential accounts, total sales and customer
goodwill will be much higher.
Costs of (Poor) Quality
In "Quality
Cost Analysis: Benefits and Risks" (Software QA, Volume
3, #1, 1996), Cem Kaner defines quality costs as those costs
associated with preventing, finding, and correcting defective
work. He notes that these costs can be of the order of 20%
- 40% of sales, and that many of these costs can be significantly
reduced or completely avoided through the involvement of
effective quality engineering.
In his article, Cem Kaner outlines four
types of costs that when added together comprise the overall
cost of the current quality of the application. The four
types of costs are:
* Prevention - Costs of activities
that are specifically designed to prevent poor quality including
coding errors, design errors, mistakes in the user manuals,
as well as badly documented or unmaintainable code.
* Appraisal - Costs of activities
designed to find quality problems, such as code inspections
and any type of testing.
* Internal Failure - Failure costs
that arise before your company supplies its product to the
customer. If a bug blocks someone in your company from doing
their job, the costs of the wasted time, the missed milestones,
and the overtime to get back onto schedule are all internal
failure costs.
* External Failure - Failure costs
that arise after your company supplies the product to the
customer, such as customer service costs, or the cost of
patching a released product and distributing the patch.
External failure costs can be huge. It is much cheaper to
fix problems before shipping the defective product to customers.
Total Cost of Quality: The sum of the
costs: Prevention + Appraisal + Internal Failure + External
Failure.
How Testing Fits In
As we discussed in a previous
newsletter (Issue #9: March 1, 2002: Test Throughout
the Development Lifecycle) testing is much more than just
finding bugs to squash. It is not an event, but a set of
diverse activities capable of playing a critical role in
identifying problems of varied types throughout the project
lifecycle, far in advance of public access to the software.
Tracking the real costs of software failure
such as patches, support, and rework can be difficult, but
it is clear that effective testing can help optimize Cost
of Quality. Performing reviews, thoughtful test planning,
risk-based testing, and strategic automation on your software
before it goes to market is a direct investment in the product.
An organization can reap significant returns
through investment in Prevention and Appraisal activities
- such as QA and Test.
Outsourcing as a Tool for Improving Quality
Put this question to your in-house team
and contract service providers:
- How are they helping you keep and satisfy your current
customers and attract more?
Put these questions to yourself:
- How would you know if your current Cost of Quality
could be reduced by 20% through a handful of "Quick Wins"?
- How would you know if you could get more quality out
of your current project budgets?
- How would you know if your current testing solution
can do more for you?
In "Roadmap To Successful Outsourcing",
Wolfgang Strigel notes that outsourcing parts of software
development and maintenance activities is becoming a competitive
imperative and that according to research by the Gartner
Group, 75% of all Information Technology (IT) companies
will outsource parts of their IT efforts by 2003.
In his paper, Wolfgang Strigel also points
out that outsourcing is a tool in an organization's toolbox
that allows one to:
* Realize significant cost savings with
respect to resources. Companies can take advantage of global
resources to cut costs while retaining the permanent foundation
of expertise in those capabilities that represent their
competitive differentiation.
* Use their core staff for strategic work
while contracting out other activities. This improves company
focus and increases margins by using specialty knowledge
only when needed, and avoiding make-work projects for in-house
staff who are suddenly not on the critical path.
* Shorten delivery cycles and get quick
reaction and greater flexibility to ramp resources up or
down as project needs and market conditions demand.
* Access the experts in a Just-In-Time
fashion through a reliable pool of freelance or outsource
contractors. Increasing complexity and specialization of
new technologies make it difficult for companies to have
in-house expertise in all areas.
Making Outsourcing Work
Building long-term relationships with
a service provider does not mean anything as dramatic as
a switch from the current solution to a new one. Serious
vendors of contract services will want to participate in
an evolution and growth of services that are backed-up with
proof by performance while working within and improving
the organization's current project process framework.
Starting with a sample or "pilot project"
of a controlled size and scope will allow you to measure
the results and judge the potential value of the vendor
for the future.
For more information...
QA Labs offers a clear alternative to
hiring individual contractors, and even to hiring permanent
full-time employees. When our clients hire us, they hire
a company, not an individual or group of individuals. We
can provide the exact skill set at exactly the right time.
Contact us at services@qalabs.com or visit
our website
for more information on our QA and Testing services.
QA Labs is a powerful player on your team supplying the critical competitive advantage you need today. Our mission is to help you make your software products succeed in the marketplace, whatever the climate. We work with you to make wise choices that reflect project constraints, industry trends, and business considerations. We are the largest independent software quality assurance and testing service provider in Canada. For more information, please visit www.qalabs.com.