(<-) Pair Programming
Driver writes code.
Navigator thinks and tells the driver what to write. - The highest possible abstraction that matches the knowledge and experience level of the driver.
The Observer is strictly observing what the current pair does.
Sometimes neither of them know what to do. Then talk. Then suddenly one has an idea. That person becomes the navigator and the other the driver. The navigator then needs to explain the solution and the driver types it in.