Talking about a problem helps (software developing) I am 42 and doing software developer since 20 years.

Since several years I know that talking about a problem helps.

If I can't find a an easy solution myself I talk to a team mate or ask at a site like stackoverflow.

Often it is enough to speak about it (or write the question). If I do this, I often find the solution myself.

I would like to find a matching term (from 
psychology or neuroscience) for this.

Question: How do you call this?

If you have links to related studies, please leave a comment. Thank you.
I can think two reasons why talking about a problem helps :


Explaining your knowledge can reveal gaps and bugs


The following extract is from the book Smart Thinking by Art Markman :




Talking about a problem changes its mental representation



  Our mental representation is the ideas, concepts, stories, theories,
  and skills that make up how we internalize something in our mind. 
  Gardner writes:
  
  “Generically, mind change entails the alteration of mental
  representations.  All of us develop mental representations quite
  readily from the beginning of life.  Many such representations are
  serviceable, some have notable charm, others are misleading or flatly
  wrong.  Mental representations have a content:  we think of these
  contents as ideas, concepts, skills, stories, or full-fledged theories
  (explanations of the world).  These contents can be expressed in words
  — and in a book, that medium is customarily used.  However, nearly all
  contents can be expressed in a variety of forms, media, symbol
  systems: these systems can be exhibited publicly as marks on a page
  and can also be internalized in a ‘language of the mind’ or a
  particular ‘intelligence.’”


The mere fact of trying to formulate our thinking into speech, changes its representation (see this article).