Many times we start on existing project.
First challenge is to understand existing code and flow.
The best tool I come across today is www.maintainj.com
Looked at the demos and they are really good.
License price is affordable as individual. 100$
Also generating diagrams at the end of the project helps us to find if there are any deviations by developers from given original design and architecture.
If you want to try free versions check my other post