Then the team does it all over again...
So I've now shown how training my dog not to jump meant that I first performed a little bit of requirements gathering and then I had to do a little bit of design, coding and testing along the way:
I did this by initially starting in very small increments of time (given my dog's short attention span) and then mark and reward in order to encourage even longer stays (increased increments of time). As the stays became longer, I also added other actions, i.e., door knocking, rattling the door knob, etc.. Finally, I tested (or "proofed,") the sit/stay, first by using her favorite person inside the house and then moving the entire process to outdoor areas (dog parks, hiking trails, etc.), ever increasing both time and distance.
As I've mentioned, my dog has about a 98% success rate of not jumping on her favorite people. Actually, this number is probably statistically higher -- we'll say 99%. Liffey jumping on her favorite folks is entirely random -- I haven't quite figured out what makes her "lose her mind for a minute" and forget her training.
Is it because the favorite people are accompanied by her favorite (dog) friends? Is it because x number of days have passed since we've seen these people? And, since she doesn't do this every time she sees her favorites - be they dog or human - then it's much more difficult to pin down a solution. Is it something I'm doing or not doing that's triggering her jump mechanism?
Thus, the requirement for this second iteration has slightly changed from the first to: no jumping; specifically, no jumping on anyone, ever.
The difference in this new requirement is that her behavior is sporadic and has no particular pattern that's apparent to me. Or, as a QA tester might put it, "this bug isn't perfectly reproducible." My response to this is: but it isn't perfectly irreproducible, either; until we confirm one way or the other, it's still a valid, OPEN defect.
For now, I'll just consider this feature to be still in the re-design phase...