Documentation
If you document everything, you are giving everything an equal weight. Do that for a complex system, and you are buried in detail. In any system there are some aspects that are more important than the others, key aspects of the system that once understood, will help someone to learn more. The art in documentation is to find how to document these aspects as clearly as possible. In this you emphasize these areas, and leave the details for the code. Above all this documentation must be brief.
Ideas
- Document by module. Have a text document that describes the major interactions and uses cases in the modules. Highlight the most important things. Keep it brief enough so that updating it is not burdensome.
- Print out the architecture and interactions of a system, and post it on a wall in the office. Color code it.