Teaching is like Programming.
Teaching goal is to make people understand concepts so they can use them. Programming goal is to instruct machine to execute a suite of steps.
Teaching target is people. Programming target is machine. But people are much more complex.
The XP-way coding, listening, testing and designing may have the analogy of listen to person to understand what they are, they know and then use some strategies to make them understand what they need to understand.
Feedback of Programming is kind of simpler than feedback from people. On a machine, the code runs or not (even this is not often true). To grasp what people really understand, you have to take into consideration past experiences, emotions, personalities, behavior and relationship with other people, things or concepts.
Is a programmer able to teach?