So far, University was mostly lectures, seminars and exams.
The scope of problems to solve was usually very narrow and the necessary knowledge was taught in the lecture or seminar.
Solving a given problem in a seminar or exam was done by picking the right tool from the toolbox that one gathered over the year. There was often one specific workflow/formula/strategy/etc. to solve a particular problem. Sure, some of them allowed for some tweaks to get the job done faster, but for the most part the goal was the solution that the problem was asking for. There was never a need nor time to explain the reason to choose a certain method.
Now doing research for thesis, things appear to be different. There's one bigger problem to be solved. There's also some paper to be filled with text about the solution I came up with. I could just solve the problem and document what I've done. However, I got the feedback on previous smaller "publications" that such a document should not just be a manual to understand the solution, but to show the research that was done.
Research seems to have the inherent property to be open ended and unpredictable. Whenever I make a decision, I have the nagging doubt that I should explore more/all the choices and compare them, so that nobody asks me at the end why I haven't tried that other option, too. Previously, the reason to solve a problem in a certain way was because I was taught to solve it that way and arriving at the solution was good enough.
For research, that seems to be different. As the existence of a solution is never guaranteed, it's not so important to actually arrive at a solution, but how to get there. An attempt at solving the problem (or any sub-problem) or really doing anything at all might fail or not, which begs the question why if failed or not. How do I make an educated decision about when to dig deeper and when not to? How do I choose the right level to explore variations? (for example, when to just modify some parameters of a program, use a different mode of the program, choose a different program altogether, use a different computer[, set everything on fire, throw it out of the window and start from scratch])
It's not possible to try everything and making the right decision on what to try and what not to try seems to be a matter of (a lot of) experience, which I do not have at all. How do I make those decisions? Should I just follow my gut feeling and try things, because even if they fail: that's a result? But what if it turns out that even trying those things wasn't a reasonable thing to do in the first place? That would be bad then, wouldn't it? How to get out of this dilemma?