Wednesday, December 31, 2008

Metrics or a liquid in a container?

I was responding to a thread on "productivity in software - when the term is relevant" on test republic and posted following paragraph about quantification and metrics, which I thought would benefit larger audience ....

People (especially managers) when trying to make things that are not (easily, at least without changing the form of task or thing)quantifiable, quantifiable - end up in changing the core of the thing.... that is goal displacement. I once heard a manager asking us to change the way we do testing because the method we were using was not quantifiable (having more human elements etc). We then changed the approach to testing to meet the quantification needs of testing rather than original needs of "information" and "evaluation". Following this, the manager was happy, metrics were available, everything was quantifiable .. but testing suffered. When that happened, manager managed to shift the blame to something else (totally unrelated) and gotten away. He could do that and get away with it because metrics enabled him to do so ... metrics being numbers have no story or no descriptive form on their own. Given a metric, you can tell any story that you want to tell and manipulate the world.

Software Metrics are like gases or liquids, they do not have their shape or form, they take the shape of the container in which they are placed. Be careful about this when making or dealing with things in software that are "quantifiable" ...


Quantum Theory and Software Testing - Any connection?

Atomic physics, Atomic structure and history of how all those brilliant scientists discovered (still discovering) atomic structure, electrons (dual nature of wave and particle) etc always fascinated me. More so now, than in my college days. Often I dream of going back to college days and debate with my teachers about stuff like atomic structure. It is tester in me, who curiously looks for finding some answers to questions that keep popping up in my mind.

I happen to pick up a book on quantum theory titled “In search of Schrodinger’s Cat” by John Gribbin. What attracted me is a quote attributed to famous scientist Niels Bohr, that appeared on the back cover of the book.

“Anyone who is not shocked by quantum theory has not understood it.”

I immediately applied it to current state of practice and perception about “software testing” and I would say

“Anyone who is not shocked by popular practice and theory of software testing has not understood it (especially the human element of it”.

I will be shocked when people make claims (what I call as "popular perceptions") about software testing such as “all testing should be documented, test cases are important for performing testing, test cases must be traceable to requirements, you cannot test without specifications, tester’s role is to find bugs, testing assures quality of the product, testing needs to be more process oriented than person dependent etc. I can say that those who are not shocked by such claims have not understood about software testing that relies on human elements (thinking, questioning, observations etc).

Quantum theory is fascinating so is software testing …. I am looking for more connections between these two … Can you help me? Or I am just dreaming?