The best way I've found to learn is by teaching others what I'm learning. I'm actually working through a problem as I learn it.
The best way to learn by teaching is to ask others questions that challenge their thoughts and engage processing of solutions in their mind. This is somewhat like having a multiprocessor computer doing multiple calculations at the same time. You're essentially forming a Master Mind.
People like to help, and they'll help even when they have no idea what they're doing. How many times have you learned from helping someone else do something you didn't know how to do? Chances are, they didn't know either, but through forming the Master Mind, you both were able to learn from your combined skills.
If we used this strategy with our friends and family, we might be very surprised at the results. My son loves to help when he can. He's proud that he's part of the solution, and even though he doesn't realize it, were forming a Master Mind and I'm learning as well.
Some things that I've learned are how to better communicate with him and to engage his mind so he's more productive and less forgetful. I've used teaching to learn, and I didn't even realize it.
Often, we turn to outside sources when trying to learn how to work with specific people, but in my situation with my son, I've learned more about working with him, from him then talking to experts and other parents. I've opened my mind to what's going on in his mind.
The Master Mind doesn't necessarily have to be formed with people of greater intelligence or abilities than you have, it has to be formed with people that have a common goal in mind and can engage learning in the minds of others.