As the basketball article mentioned, the easiest way to teach something is to re-learn it yourself. I've personally written tutorials for people on various libraries that I was myself learning the week before. I commented the heck out of the code I was writing at the time so I'd know what it meant next time I looked at it (for reference), and thought "If I added some exposition here, it'd be a great tutorial for other people".
I only have that unfiltered view of a new system that once, so now whenever I'm learning something that someone else is going to want to know, I take copious notes so I can write it up later. Usually the stumbling blocks that I hit are the ones that other new people to the topic will hit. The only downside is that I might do something wrong in the tutorial due to lack of knowledge on the topic, but once I release it I get corrected pretty quickly :)