Many programmers have had the experience of explaining a programming problem to someone else, possibly even to someone who knows nothing about programming, and then hitting upon the solution in the process of explaining the problem. In describing what the code is supposed to do and observing what it actually does, any incongruity between these two becomes apparent.
"Hey dude, are you talking to someone?" Nah dude, I'm just rubber duck debugging. "Oh cool, thought you were crazy."
A method of evaluating and debugging a set of one's code, where a programmer schizophrenically explains his or her logic to a rubber duck, line by line. This is delineated in a popular book called "The Pragmatic Programmer."
Ryan: I can't tell if Satish is crazy or if he's evaluating his Tinder clone app using Rubber Duck Debugging. Sasha: He's just crazy.