Faced with a scarcity of people available to grab for DebugByDescribing sessions, one engineering organization acquired a CardboardAnalyst from a local video store.
Why is that developer trying to explain two-phase commit to a big cardboard wookie?
Don't ask.
It is not unusual to be helping someone by listening to their tale of woe when all of a sudden they proclaim AHA I know what it is and suddenly you have been turned into a CardboardAnalyst.
And nice people say "Thank you" before hacking away on their keyboards. :)
Or after hacking away on their keyboards. It wouldn't do for them to forget whatever they just realized by doing something else before using it, such as calling a thank-you routine that potentially overwrites the register it's sitting in! Lack of register-saving around nested calls seems to be a design flaw in whatever it is that we were compiled with.
I wonder why we have to talk to activate our thinking. Just thinking in my mind is not effective as talking though the same issues.
Talking through an issue -- rather than just thinking about it -- certainly helps. This is simply because one is using a different part of one's brain when talking a problem through.
For me it's helpful because I'm forced to be aware of when I'm skipping over something. It's too easy to gloss over a potentially important issue when it's just in my head.
It marshals resources in the left temporal lobe and recruits them into the problem solving. That's a sizable chunk of grey matter. Using it might temporarily double your IQ. Hence my talking to myself during problem-solving.
''Unless you have an undeveloped TheoryOfMind, you know that other people don't have the understanding of the problem that you do, meaning that you have to explain non-obvious things. However, those non-obvious things weren't in active memory; you knew them but you weren't thinking with them. Now they're in active memory, you know the answer.''
See also: CardboardProgrammer See also: RubberDucking