This year at CAST I left my guitar at home and gave another talk on Requisite Organization, the theory of work and capacity brought forth by Elliott Jaques over several decades from the 1960s until his death in 2003. The thrust of the talk was describing the nature of context, and how there is no canonical “CONTEXT” that everyone has access to. Instead we have as much context as our capacity can hold. We rely on our bosses to put us in positions to succeed by ensuring that the tasks we are assigned are not too big for the context we can manage, and that if we need help that their context encompasses ours.
I wrote up the lyrics for “Rapid Tester” on another fallow blog of mine. So for those who are interested in the actual rhetorical content of the tune, click to see.
Sadly I have a couple of other blogs lying around, neglected for years now. Sigh. But I like to think my family and I have benefited from all the attention I’m not lavishing on them.
Smart can’t be just what you know. Prehistoric smart people didn’t have all the knowledge we have today, and what knowledge they did have, of weather and edible food and hunting and snow conditions and tribal differences, we do not have. Yet they were smart, as are we.
Smart can’t be just how much you know. Smart children may have very little knowledge.
Smart can’t just be how quickly you learn. I know many smart people who are stubborn and set in their ways (cough *Dad* cough).
So what is it?
I’m going to define “smart” for the purposes of this blog as “able to connect concepts effectively in unexpected ways.”
The simplest kind of concept connection is to call to mind a concept at an appropriate time and bring it forth. This is connecting a concept to the situation. If someone calls forth a concept inappropriately it will likely be ineffective in the situation and we will downgrade our opinion of how smart they are. This is a “Everything looks like a nail” situation.
If a person calls to mind a particularly effective concept, and if the connection is particularly unexpected, regardless of validity, then our estimation of their smartness will go up. The quality of unexpectedness also gives us a clue as to their sense of humor.
If a person calls to mind a range of concepts and arranges them around the situation, then our estimation goes up again. This kind of simple diagram is what this level of processing feels like:
If they arrange them using causal connections one to the other, our estimation goes up again, and we can begin to imagine that they can be effective working on tasks and problems over longer time scales. This kind of thinking is what creates Weinberg system diagrams like this one:
If a person calls to mind a broad range of concepts which are related in parallel chains of causation that intersect eventually, our estimation goes up again.
Why am I bringing up expectations? Since “smart” is a qualitative notion it exists only in relation to something. In this case it is the observer’s idea about what is normal for the class of person whom they are evaluating. The level of facility with concepts that we will be astonished by in a toddler is of course much lower than in an adolescent, which will be lower than in a 20-year pro. And our own ability to connect concepts at these different levels limits our ability to expect that others will be able to do so, meaning that we have a tough time not counting anyone as smart who surpasses our level.
At ProChain we are developing the capability for our software to be installed on operating systems using languages other than English. Naturally, I am called upon to test this capability. I chose to test in several languages: French, for the latin alphabet, Russian for Cyrillic, Hebrew for the right-to-left orientation, and Chinese for the massive character set. Unfortunately I am a monolingual guy, which poses some issues. For instance, I have no idea how to run a Hebrew language Windows XP installer.
Which does not daunt me, because I have confidence in my network. I contacted a tester with whom I’ve corresponded on a software testing Google group who works in Israel, and asked him to help. My teammate Anoop emailed him screen shots when it was time to click the next button and he responded with a note on which to click. It seems to have worked fine. Now I owe him a solid, and will gladly help him when he needs me.
I the same vein I have several cousins who are fluent Russian speakers, and a teammate is French. I will need a lead on someone to help with the Chinese setup, but I’ll cross that bridge when I get there. I count on my friends to be there for me when I need them, and just so you know, I’m here for y’all too.
This week I spent an hour testing with a complete stranger. And delivered a wallop of value to something he cared a lot about.
Let me back up a bit and offer some context…. I use Gmail for a lot of things: tracking discussions, keeping threaded conversations, creating and working on to-do lists, project management. I chose Gmail over some other GTD-type solutions because a) it has email built in (duh) and b) has a handy labeling feature for placing any particular conversation or thread into many different buckets, so that I don’t have to orthogonally categorize everything.
One thing that is frustrating about using Gmail in this fashion is that there is no clean way to annotate a thread or conversation or group of conversations. My big use case: as the eVoting SIG lead for the AST, I needed a convenient way to track and comment on the various threads of conversation that the IEEE working group was doing, as well as the internal work of the SIG. Since I was using Gmail to read and respond to the various discussions, that seemed like the logical place to annotate the conversation. I could write an email and pop a label on it, but once I send it it’s not editable, and if I don’t send it it clutters up my Drafts folder. Enter Gmail Notes.
A small group of developers decided that they had the same problem, and wrote a Greasemonkey script that used the Gmail API and the Gmail Apps capabilities to offer a note-taking capability, linked to a conversation or a label. This was just super for me, since I could finally do what I’d been unable to before, write an updatable, private note linked to a Gmail thread that would never get lost in the shuffle of a huge conversation. I installed the script, began working on it, and found a few bugs. I reported them back to the lead developer, John, and offered my testing services as part of his team.
Then in December, Gmail pulled support for the part of the API that supported Gmail Notes. So John had to punt. He switched over to using Jetpack instead of Greasemonkey, and came up with another method of identifying the conversation or label. I was called in to give it a spin, and had a hard time configuring it on my system. That’s when I set up an evening Skype session with John.
We used the screen sharing utility on Skype so that John could see my desktop (though not my cursor! Hey Skype, we testers need to see each other’s cursors!), and worked on setting up the Jetpack script correctly on my system. Then I led him through an exploratory test session, working all the functionality through a wide variety of states, and adjusting on the fly to the risks and issues that came up. We noted six separate issues, one of which appeared to happen only on the Mac I was using.
When we were done, I asked him how he liked pair testing like this. He was very pleased with the thoroughness of the testing and the flexibility of the format. He also said he’d be open to testing with a meetup group.