Heuristics for effective modeling

When I'm testing, I do a lot of explicit modeling. I say explicit, because I actually draw pictures. They aren't just in my head. I have a couple of heuristics I use to know when I'm done modeling a testing problem:

  1. If I can't derive explicit test cases from my model, perhaps it's not detailed enough and I need to keep working on it.

  2. If I can't explain it quickly to another tester, perhaps it's too detailed and I need to abstract it a bit more to simplify it.