Rubber Duck Testing

Rubber Duck Productivity

Are you easily distracted?
Have a tendency to “go down the rabbit hole” or “get lost in the weeds”?
I know I do.

I find that when I have someone to work with, even if they’re just watching and occasionally nodding their head when I ask questions that are really directed at my own mental process than anyone else, I work better, faster, and most importantly, stay focused on the task at hand — especially if there is a time limit.

I’ve tried pomodoro timers, task lists and focus apps, but none of them seem to work quite as well as just having someone there. And it’s great if that someone is vested — or at least interested in the work.

That’s one reason I love pair programming & testing.

I even like to return the favor, and see how other people think, code, and solve problems — and occasionally offer my advice, whether asked for or not.

Working together is just more fun. And it keeps me focused on getting the task done, especially if there is a time limit.

I don’t know who invented the concept of “Rubber Ducking” — but the general idea is that if you’re stumped on a problem, talking to a rubber duck (or some other inanimate object) will help you solve your problem as you explain it.

But some of us are too self-conscious (or as I like to say “self-aware”) to talk to a toy duck, or even a real live pet. (We have real life ducks that quack hello to me every time I go outside.)

I’ve tried talking to AI or sometimes my wife, but they get impatient with me and too readily point out the flaws in my reasoning. So I decided to create a tool, initially for myself, but maybe open it up for others to use well.

Rubber ducks as a service.

The idea is to find someone to pair with, and pay them a nominal fee for their time, and it doesn’t have to be someone who knows how to solve your problem;

in fact, it might be better if it’s someone who doesn’t know, but is interested (or at least good at pretending to be interested) in listening while you solve your problem, and maybe learning a bit while you listen.

So if you’d like to act like a rubber duck while I write automated tests or build software tools for testing software or learn how to do sales and marketing for my small consulting company, let me know.

And if you have something you’d like to bounce off of me and could use an ear to listen to you and help you keep focused while you’re working on something, give me a call, I’ll be your rubber duck too.

Chaotic Neutral – QA Roles and Alignment

Here are the slides for the talk I gave at the Innovate QA conference in Seattle in August 2024.

It was a blast and I met a lot of cool people. The hit of the talk was giving away stickers and polyhedral dice to the people listening to my talk.

Pair Testing and Other Radical Ideas

This is a link to the talk I gave at QA or the Highway conference in Columbus, Ohio back in June 2024.



https://www.youtube.com/watch?v=KdEL2bSHUEU

Mayonnaise Cake

My daughter came home from a church youth activity the other day with an interesting story to tell. She couldn’t wait to share it with us.

They made small chocolate cakes and a delicious butter cream frosting and brought sprinkles, chocolate syrup, and candies to decorate the cakes. And then they ate them.

When they were all done there was one plain cake left over, and plenty of decorations, but they were all out of frosting. She went to put the leftover cake in the fridge to take home later. There was nothing in the refrigerator except some old condiments from the summer church picnic — ketchup, mayonnaise, and mustard.

Some clever girl suggested they decorate the extra cake with those condiments for fun.

My daughter had a more sinister take. So instead, they spread they mayonnaise on the cake, drizzled chocolate sauce and sprinkles on the cake, and offered a slice to the boys — who had been playing basketball.

The first young man took a bite, struggled to maintain his composure and said “Thanks!” with a forced smile. The second young man came over and accepted a slice.

The first boy praised the delicious cake to his friend (and made exaggerated chewing motions), as he walked away to get a drink of water. “It’s good!”, he reassured the other boy, who eyed the cake skeptically.

He couldn’t imagine the girls would be this nice to him, and as he sniffed the cake he grinned as he recognized the scent of mayonnaise.

A third boy came over, and the second boy passed a slice to him. This last boy slowly and methodically ate the whole piece of mayonnaise cake without a grimace and thanked the girls afterward.

It was my son. And as I learned later, he just assumed the girls had made bad frosting, and he wanted to be polite.

Have you ever been given a slice of mayonnaise cake at work, and how did you react?

Mainframe testers

I’d love to talk with someone who does mainframe testing.

What does mainframe testing entail?
How did you get into it?
What tools do you use?
How much do you work with COBOL, Z/OS, JCL, RPG, PL/I, etc?
How do you interface with the mainframe & software — terminals, virtualization, etc. ?
What challenges are unique to testing mainframe system and what is common?

Testing Strategy and Supply Chain Data Pipelines

Reading “Your Data Supply Chains Are Probably a Mess. Here’s How to Fix Them.”

A good software testing strategy is like a supply chain data pipeline.

The purpose should be to get the relevant data in the right hands so they can make decisions about quality and risk.

Here are the common challenges:

1. The actual technical process of developing automation can be overwhelming and you can lose sight of the big picture in the implementation detains.

2. The right data to perform meaningful tests is often locked away in different silos. Whether developer knowledge of APIs or business understanding of requirements.

3. A common data communication language is necessary to communicate business priorities to QA and for QA to communicate their findings in a way that can provide contextual meaning to various stakeholders.

4. Different parts of the organization have different goals, and aligning them all with meeting customers need for quality and business need for the bottom line.

Solutions:

1. Leadership should drive the need for QA by communicating thier priorities and assigning test resources according to business goals and value.

2. QA should be demand driven. Developers, product owners, and leadership should seek the knowledge they need to make decisions from testers and enable them with the information needed to accomplish the testing.

3. Testers and developers should understand the business domain language and common communication channels should be open. If test reports and continuous delivery jobs are ignored, find out why: is the data accurate, relevant, timely, and meaningful?

4. QA leadership should align testing with customer and business leads and approach testing as a source of information for product decision makers not as a gateway or “check” on software quality.

The data you need to perform tests and the data you need to make decisions about quality are inter-related but not identical.

The ability to share (and transform) data for testing is critical, but I don’t think a unified tool or process is the solution. It’s why complex ERP deployments fail and why everyone hates Jira.