Friday, August 23, 2013

From Quality by Chance, To Quality by Design

1. What is testing?

An integral part of engineering
Set of activities performed to verify that desired level of quality exists in the product
Remember Murphy?
If anything can go wrong, it will...If there is a possibility of several things going
wrong, the one that will cause the most damage will be the one to go wrong
Courtsey:http://www.edwards.af.mil/history/docs_html/tidbits/murphy's_law.html

2. What is software testing?

Integral part of software engineering
Set of activities performed to verify that desired level of quality exists in the software
An afterthought till recently
All quality movements (Unified process, agile methodologies, CMM, ISO etc.)
advocate serious software testing efforts
In practice, often done as a ritual, and often done, in isolation, without consideration
of overall software development effort
“Whatever you do, you are not done, until you have verified that you did what
you wanted to do”
Courtsey: Ivar Jacobson

Testing is not only an effort to verify that the software behaves as defined but also
to verify that it does not behave in an undesirable way even in the worst of
circumstances
Therefore, unlike other activities of software development, this requires traces of
pessimism and destructive approach
3. What is quality?

“In god, we trust”: a good quality policy ? No
“We do all right things, so the product should also be right”: : a good quality policy ?
No
Odds against error-free performance seem overwhelmingly high; there is only
one way of performing a task correctly or at best, very few; opportunity to stray
along a multitude of unintended or inappropriate pathways.... many ways to
bungle a simple operation
Courtsey: James Reason

There are as many definitions of quality as there are quality Gurus
From the practical business perspective, what satisfies, or better still delights, the
customer can be considered as a working definition
"Our job is to give the client not what he wants But what he never even dreamt
he wanted"
Courtsey: Sir Denys Lasdun

It is not an abstract notion but rather very specific & concrete, in the context of a
specific project, at the specific point in time
“Quality is not an act; it is a habit”
Courtsey: Aristotle

4. What is special about software?

Software development is inherently complex and creative activity, and involves
teamwork
“As such, I work from the premise that software development has been, is, and
will remain a fundamentally hard profession and no one thing will make a state
change in how we develop software”
Courtsey: Grady Booch
“Einstein argued that there must be simplified explanations of nature, because
God is not capricious or arbitrary. No such faith comforts the software engineer.
Much of the complexity that he must master is arbitrary complexity”
Courtsey: Fredreck Brooks
“Software is not limited by physics, like buildings are. It is limited by imagination,
by design, by organization. In short, it is limited by properties of people, not by
properties of the world..... We have not met the enemy, and he is us”
Courtsey: Martin Fowler

5. What goes wrong?
Software industry and, consequently software engineering, has been, and continues
to be, evolving at a drastic pace.
An average developer has an arduous task of building expertise on, and delivering
solutions using, brand new technologies that he has to work with.
This, combined with the pressure to churn out as much code as possible, leaves very
little room for adoption of the available process standards, methodologies and tools,
which in themselves are evolving.

No comments:

Post a Comment