Wednesday, July 21, 2021

Why Knowledge Transfer (KT) is not as easy as Fund transfer (FT)?

Those in IT industry - there is a familiar phrase called "Knowledge Transfer" or popularly known as KT. Having genesis in IT services industry this phrase was coined to indicate a training process between someone who is considered as SME (subject matter expert) and someone who is receiver of the training.

Typically happens between client side SME and an engineer/analyst from vendor side. In the early days of outsourcing between US and India - you could hear this term in all client and management meetings. "How is KT going on", "when are we completing KT and start doing work",  "Client SME does not have enough time to complete KT".

In its new avatar - this KT make its way into cross training within the team and breaking "key person dependency". 

I always wondered how knowledge is transferred between two individuals or one individual and a group of individuals? What knowledge we are talking about? What is knowledge after all? What it means to know anything? How do we measure level of knowledge that one person has at any given point of time.

These questions took me to the idea of Tacit knowledge and explicit knowledge.

From Harry Collin's Tacit knowledge book 

"Much of what humans know we cannot say. And much of what we do we cannot describe. For example, how do we know how to ride a bike when we can’t explain how we do it? Abilities like this were called “tacit knowledge” by physical chemist and philosopher Michael Polanyi, but here Harry Collins analyzes the term, and the behavior, in much greater detail, often departing from Polanyi’s treatment.

In Tacit and Explicit Knowledge, Collins develops a common conceptual language to bridge the concept’s disparate domains by explaining explicit knowledge and classifying tacit knowledge. Collins then teases apart the three very different meanings, which, until now, all fell under the umbrella of Polanyi’s term: relational tacit knowledge (things we could describe in principle if someone put effort into describing them),  somatic tacit knowledge (things our bodies can do but we cannot describe how, like balancing on a bike), and collective tacit knowledge (knowledge we draw that is the property of society, such as the rules for language). Thus, bicycle riding consists of some somatic tacit knowledge and some collective tacit knowledge, such as the knowledge that allows us to navigate in traffic. The intermixing of the three kinds of tacit knowledge has led to confusion in the past; Collins’s book will at last unravel the complexities of the idea.

Tacit knowledge drives everything from language, science, education, and management to sport, bicycle riding, art, and our interaction with technology.  In Collins’s able hands, it also functions at last as a framework for understanding human behavior in a range of disciplines."

This post from Michael Bolton takes the ideas around "tacit knowledge" and "explicit knowledge" using very entertaining video where kids give written instructions to make peanut butter sandwich  to their dad. See what happens.

Time to learn more about this....


Revisiting Jerry's famous Mary had a little lamb heuristic

 Let me propose a hypothesis "Anything written/expressed in natural language is inherently ambiguous".  As one of hallmarks of civilization and evolution - language evolved as a tool for communication. Language connected people, got embedded in culture, grown into world of literature and finally technologists (being human) started using natural languages to represent and communicate "technological content".  This is where the hypothesis I mentioned in the beginning of this post comes into being. 

For technological or any formal purposes such as finance, legal transactions -  absolute clarity on intent and meaning of constructs of the language - words and sentences is a mandatory requirement. As we can see sentences in natural language can be interpreted in many different ways. Each reader/consumer of such language constructs makes his/her own meaning based on context that is assumed. Also there are differences in spoken and written versions of same text. So we have a problem in use of natural language in formal cases like software development and other areas. In addition to fundamental ambiguity as part and parcel of natural language - transmission of content from person to person add's its own elements of complicating meanings.

Jerry Weinberg, father of testers - recognized and wrote about this long ago. In a book "Exploring Requirements - Quality before design" with Donald Gause - he introduces a tool/technique or heuristic with a catchy name "Mary had a little lamb" - to find out how ambiguous simple line from popular nursery rhyme can become. "Nursery rhymes are infamous examples of ambiguity because of some of them have been transmitted from child to child over hundreds of years, and the original meanings of the rhyme might have been lost of transformed" writes Jerry when introducing the technique.

"Is it possible that a line from Rhyme "Mary had a little lamb" have hidden meanings ?" asks Jerry. In order to bring out such hidden meanings - he proposes following trick.

"If we emphasis each word in a line, one by one and then in combinations we can easily identify 6 or with some additional effort up to 30 meanings of just one line of the rhyme"

Illustration:

Mary had a little lamb

(Its Mary's Lamb - Not Sophie or John)

Mary had a little lamb

(She no longer holds the lamb now)

Mary had a little lamb

(she had only one lamb not many)

Mary had a little lamb

(Its really surprisingly small)

Mary hand a little lamb

(she did not have a dog or a rabbit - it was a lamb)

With all emphasis

Mary had a little lamb

(As contrasted with Pallas who still has four turtles)


So you have one way to subject a sentence to a sharp scrutiny for ambiguities.  Jerry in same book provide yet another corollary to MHALL (Marry had a little Lamb) technique.

This is called MCTT  - Mary Conned the Trader. In this technique - we substitute synonyms for each word in the sentence. Once we have listed down probable synonyms for each word - we can create new sentences as probable interpretation of original sentence taken in another context. By changing context's we would try to identify hidden meanings and possible interpretations.

How does this work? First - take the help of dictionary and elaborate meanings and synonyms of words and list them down.

Let us take words "had" and "lamb"

Had - Past Tense of Have

Have - to hold possession, to acquire ownership, accept, to marked or characterized by, to build a position of disadvantage, beget, bear (have child), bribe, eat

Lamb - young sheep one year old or without permanent teeth, young of various other animals (antelope), person as gentle or as weak as lamb, dear or pet, a person easily cheated, flesh of lamb as food.

With these different meanings - let us get some more meanings of MHALL

- Mary owned a young antelope

-  Mary is (or was) mother of particular small, gentle person

- Mary bribed a small person trading securities who was easily cheated

- Mary ate a little of flesh of a lamb

- Mary held a little sheep under one year of age or without permanent teeth in a position of disadvantage or certain defeat

- Mary acquired a little sheep under one year of age or without permanent teeth.


Well - what if Mary is not a human  but another animal or tree or a group of people.

Mary (Sheep) had given birth to a little lamb last month.

Jerry concludes the section in the book with following comments -

"The commonly held view that the poem is about an innocent young lady with a loyal pet is naive in the extreme - not as naive, though as sophisticated adults who pick some line out of requirements document and without giving a second thought, proceed to develop a product based on single, wrong interpretation."

For testers - its important to look at requirements from multiple angles and perspectives. Application of these two techniques - MHALL and MCTT as heuristic (thumb rule) helps them to see ambiguities in natural language constructs.

Some additional resources about natural language and ambiguity

http://www.gray-area.org/Research/Ambig/

https://cs.uwaterloo.ca/~dberry/handbook/ambiguityHandbook.pdf

Before I end this post - a question. Why communication in natural language had to be fundamentally ambiguous?

When are you trying to use these in your projects? Do let me know.