Don’t ever start working on something without defining a deadline!
Not defining a time to finish the task or at least to decide on the next step/action is definitely counter productive.
Not setting a deadline, puts the task in the control seat! It controls the situation and you keep following it. At best the task will take way longer than expected. Worse, it gives your manager the impression that things are not under control, which is true! .
Always,strive to divide your task into small milestones, where you evaluate the situation and take corrective actions if needed. I have witnessed situations where engineers spent 2-3 days chasing minor issue like UI element alignments, while the real functionality implementation took less than a day!.
Even in research task define the time line for the next action, and most importantly communicate this to your manager. As you approach the deadline, you decide on the next action and so on.
Remember, nothing is really perfect and there is a room for improvement for everything! If you don’t set a time to stop by then you might continue working on one small task forever!
Decide when you should stop and stick to it! Be careful to get lost in the details!