I've found that the best aid to keeping a mental model of the structure of a project is to document it well using Literate Programming:
http://literateprogramming.com/
which then affords a PDF w/ a ToC, indices, and sidebars and other navigational aids all hyperlinked so as to make moving through the code and its documentation quick and fluid.
Then, when I arrive at the section of code which needs to be updated, the documentation and reasoning about its current state is right there.
Not sure if this scales up to multiple developers though....