If newcomers ask me the question while we are in the old mode, say Waterfall or V-model. The typical answer will be :
1. ask your tutor if there are any documents or specifications, and who you can consult for
2. read those documents or specifications, try to understand by yourself
2.1 perhaps do some experiments if you have resources
3. ask former responsible people, have conversation with them
What we did?
Documents or specifications formally, sometimes thoroughly recorded all details regarding components, these are explicit knowledge. Normally it describes also why we have some functionalities or why we design it in this way, but unfortunately communication via doc always suck.
Conversation with people helps to know implicit knowledge, f-2-f provides the possibility to answer your doubts instead of following the way documents tell. Also, working with code or testcase gives the insights how real software works, instead of imaging abstractly how it should work.
Then what we should do?
Reduce those unnecessary, non-sense information from documents. We do not say "NO documents" in Agile, keep necessary documenting available, but rely on people and working software to give us the clues. People understand and learn from practice.
– Ask your scrum master or your team members (terms in Scrum)
– Read necessary document or code or testcase (they should be easy to get and compact)
– Practice (execute some code, case or modify)
– Conversation / Pairwork