[1] Many other terms exist for this technique, often involving different (usually) inanimate objects, or pets such as a dog or a cat.
[3] More generally, teaching a subject forces its evaluation from different perspectives and can provide a deeper understanding.
[4] By using an inanimate object, the programmer can try to accomplish this without having to interrupt anyone else, and with better results than have been observed from merely thinking aloud without an audience.
[5] This approach has been taught in computer science and software engineering courses.
The duck appeared at the bottom right corner of the browser viewport, and attempted to help visitors by listening to their problems and responding with solutions.