Tuesday, March 13, 2012

New Unwanted Dog Behavior -- or Really? NOW? (Part 1)

A few months ago, I scooped up my worldly goods and pets and relocated to a different part of the U.S. How different,you ask? Well, it is SO DIFFERENT here that a great majority of people here use retractable leashes – yes, even for non-miniature sized dogs. To me, this signifies a few things:

  1. dogs on retractable leashes don't walk next to their people – they haven't been trained to;
  2. every time you see a dogs on retractable leashes, you are witnessing that dog being conditioned to pull while on leash; therefore,
  3.  dogs on retractable leashes pull constantly, ESPECIALLY when they see another dog on their walks.
Now – is pulling toward another dog an indication of aggression? Probably not; my guess is that, in most cases, these dogs want to do what comes naturally to them – to go and meet the other dog.

But if the dog's person misinterprets that pulling – the very pulling that they've unwittingly conditioned and reinforced, day after day after day – for aggressive behavior, then they will pull their dogs back, cross the street, scream at their dogs to “stop,” or some combination thereof. They will do anything but allow their dogs to meet the other dog.

What do you think happens to a dog who isn't allowed, let alone encouraged, to socialize with other dogs? An action that started off as (pre-conditioned) pulling morphs into something else altogether over time – unwanted behaviors develop. Leash reactivity then becomes the new normal.

And, as it turns out, this adversely affects the otherwise well-trained, well-socialized dog, too. Dogs like mine, who are used to daily interaction with other dogs of all kinds, are then deprived of the socialization they'd been accustomed to; they get frustrated.

The frustration then leads to leash-reactivity. So now, rather than simply passing by another dog (who is, of course, on the other side of the street) without incident, my dog lunges and growls and is generally a jerk: my beautiful, happy mutt now looks and sounds like a mean dog.

What's to be done?

Friday, January 13, 2012

An Excerpt from a Letter Written 49 Years Ago (which challenges you to consider just how much things have stayed the same in the States)


"Moreover, I am cognizant of the interrelatedness of all communities and states. I cannot sit idly by in Atlanta and not be concerned about what happens in Birmingham. Injustice anywhere is a threat to justice everywhere. We are caught in an inescapable network of mutuality, tied in a single garment of destiny. Whatever affects one directly, affects all indirectly. Never again can we afford to live with the narrow, provincial 'outside agitator' idea. Anyone who lives inside the United States can never be considered an outsider anywhere within its bounds." 

--Dr. Martin Luther King, Jr.
Letter from a Birmingham Jail, 1963



Rest in peace, Dr. King.

_____________________________________________

Saturday, August 20, 2011

An Epistemological View of QA...

In my last post I mentioned that "QA can be seen as an excellent example of a posteriori knowledge" and that it could reinforce arguments against a priori knowledge.

So lets start with the idea of the a priori. Put in very simple terms, this is knowledge you gain before (or prior to) experience. Philosophers like Kant* and Plato believed that there were just certain things you knew -- you didn't have to live through them to know what they were. For Plato, concepts like Love and Justice were gained a priori. 

A posteriori knowledge, on the other hand, is the knowledge that must be experienced in order to be gained; knowledge comes post-experience, so to speak.

And how does any of this relate to quality assurance? Well, QA is a great real-life example of a priori vs. a posteriori knowledge.

Say, for example, you have a specification -- we'll use product spec here, but it can be any number of specifications -- feature, design, whatever. So in your product spec, there is a combination of broad and specific product features -- the things you believe the product should do. You can't detail every single action possible in every feature because you just can't know beforehand that everything will work, or, sometimes, even how.  A product spec is generally written before anything gets built -- it is done a priori, because you have no experience of the actual product itself yet.

As soon as your product is in the build process, you can begin testing. Presumably, you're using a priori knowledge (the spec, in this case) as your basis, but upon closer investigation – or testing – you find that Feature X requires significantly more work (and therefore time and money) than what was planned. Your choice now includes either re-thinking your features/requirements or coming up with a new plan to accommodate for the additional time and budget that's needed.

That's one broad QA example. Another, more specific example would be the way that QA testing itself is done.

Let's say you think you found a bug. Unless that bug is reproducible, i.e., you can invoke that issue consistently each time you perform a particular action, and more importantly, OTHERS can consistently invoke that particular issue each time they perform a specific action – then it can't be considered a bug. Without its being reproducible, you're still in the a priori. You don't actually have (a posteriori) experience of it until you can see that bug and document the steps to get to it. Until then, you really don't Know.

Epistemelogically speaking, and in terms of software testing, we're asking the question: How do you know? 

If we answer in the a priori, we'd say, “Because that's what the spec says.” But once your software begins its testing cycle, you can answer in the a posteriori:  “Because we did x, then y, then z and we got this result.”

QA is a good real-life example of a posteriori knowledge because it is only through testing that we can Know.


---------------------------------------------------------
*Actually, Kant classified knowledge into: a priori, empirical (aka, a posteriori), analytic and synthetic.  It all gets very complicated and confusing, and I admit that I am over-simplifying here for argument's sake.