Rebecca Wirfs-Brock's latest column in IEEE Software is titled "Explaining Your Design". She posits a hierarchy of importance in explanation:
  • things you can't change
  • problem description and requirements
  • things (entities)
  • organizing structures
  • the typical case
  • concrete examples
  • design principles
She also talks about the importance of story lines in explanations. It's thought-provoking, particularly as we're trying to think of requirements management and documentation components for DrProject.