When faced with a new system, it can be challenging to understand its features and capabilities, especially if it’s complex. However, with the right approach, you can quickly get up to speed and make the most of the system’s capabilities
1. Understanding the overall architecture.
Before diving to the codebase it’s important to understand the overall ecosystem of the project and what roles your system plays in this system. Asking following questions will help you to proceed forward.
a. Why this system exists?
b. List of all features this system provides?
2. Understand the underlying data schema
Knowing how the data has been stored well, gives you the super power to understand the datapoints, the tables and their relation.
3. Use the application
Understanding the user perceptive is also important to master the application. Trying to connect the dots between the data showed on the UI and the schema you mastered in point 2.
4. Read documentation and code
Reading the code is what I prefer and if the the system has a good documentation then it is cherry on top. Pick a feature and read the code from the controller to Data access layer, Identify all the conditional statements if you are able to understand why it is there well and go, if no noted it down.
5. Talk with the developers who are managing the system
Talking to the developers gives more clarity, because when we discuss something the chances to forget drops. This is also the time to verify all the hypothesis that you concluded and get the doubts cleared that you have noted down.