This is a lot like Jim Coplien's MercenaryAnalyst.
Programmers often can't write good documentation because they know the system too well. They are especially bad an giving an overview of the system. They know how it all works, so it is hard for them to tell what a newcomer will need to learn.
One solution is for the documentation to be written by an outsider. The documentation writer comes in later, learns the system, and documents the things he or she had to learn. The result is documentation that is useful for newcomers to learn the system.