A tutor asked a grammar question that got me thinking recently. He said, "I was having trouble explaining when to use the simple past tense vs. present perfect... A lot of the textbook's examples for when to use "have done something" would sound OK if you replaced it with the simple "did something" instead... What are some good ways to explain when you need to use this tense?" Good question.
The best book to answer technical questions about tense is Betty Schrampfer Azar’s Basic English Grammar and its companion books. The books, which I call the English Teacher’s Grammar Bible, have companion websites that I’ll share with you now. This website lets you search for worksheets and other materials: http://www.azargrammar.com/materials/index.html
This website has a Q & A feature that might partially answer the problem you described for me: http://www.pearsonlongman.com/ae/azar/grammar_ex/message_board/archive/index.html.
In the Q & A feature the instructor called it “a retrospective present,” meaning that it starts at the present and looks backward.
One cue that tells you a lot about how Present Perfect works is that, adding a word that makes the sentence exclusively about the past, e.g. the words yesterday or five years ago, makes the sentence sound wrong. Take this example: “I have hung out the laundry last Sunday” -- wrong. The Azar grammar book has diagrams that explain what period of time is covered by various tenses. The diagrams look like an X, Y axis grid with NOW at the center where the axes meet. The present progressive has a dot at the present and a series of dots going back into the recent past. It might work better if you saw it in the book. But not everybody’s mind takes immediately to graphs. We’re all different. I thought of something different, in fact, namely a game to practice present perfect tense.
You might or might not like the example, but do you know a game called “I Have Never?” When alcohol is involved, the goal is to get people to tell revealing stories about their own past histories. The player holds a beer and says something like, “I have never ____ [e.g. “lied when my girlfriend asked me if her jeans made her look fat”] Any other person in the room who has done what the first player said he hasn’t done then drinks. Everyone laughs. But you can play it clean, which is to say Rated G to PG and don’t even talk about drinking.
Instead of drinking beer you can use a stack of ten pennies. You put a penny in someone’s cup if you have done something that they haven’t. For instance, you can say “I have never traveled to Mexico. Have you?” If your learner has, she can put a penny in your cup and then say, “Yes I have, but I have never been to Germany.” If you have been there you give her a penny. The winner could be the one who has gained the most coins—or Skittles, or M&Ms.