- Mind Maps
- Write down keywords and their definitions
- Typically to resolve confusing domain knowledge where a word might mean something else in "this" context.
- Diagrams
- UML
- Sequence
- Dependencies
- Database
- Read documentation
- Turn code back into pseudo code
- Map pseudo code back into documentation to make sense of rules
- Right down and understand each item in a contract between large logical components
- Try to find the author of the code
- Write tests to confirm assumptions at the component level
- State the goal of each function and how that goal relates to the outputs
When making assumptions break down each question into
- What I know
- What I think I know
- What I don't know