Define your target
A crucial part of USMLE steps is the target score you want to achieve.
You should decide it on the factors some of which are the specialty you want to get a residency in, how early/late after the MBBS you want to start the residency, what college you want to target for residency, the contacts you have in US and some others.
Decide the time of exam
There are usually one of the two time periods when people give step 1
End of third year/starting of final year.
In the case that you want to score as high as possible and have no defined target score, the best time is to give the exam in a few months after completing internship, however, you must start your preparation from now itself.
However, if your target score is defined, is not too high or is easily achievable by you, you should give the exam at the end of 3rd year/start of 4th year, but also only if you are achieving your target score in mock exams(NBMEs) by the end of of your preparation/ nearing your exam date, if not, you have to take the decision if the score you are getting is acceptable for you or you have to postpone the exam.
Decide the study material
Check this answer for material of each subject.
Source: Quora Digest