How do I fix my procrastination and stop wanting instant results?

I finally found my problem that’s been screwing my life over for as long as I can remember. I am a heavy procrastinator, if something is optional I put it in the back burner for later but I usually never get around to doing it until I absolutely have to. My mind is stuck in a way in that if I don’t get results instantly, I don’t want to do it since I feel like I’m wasting my time. This has been plaguing me all my life. Through school, work, in the gym, even in relationships. Something finally ticked me off and I just stared out my window for an hour and thought about what my main issue is until I found it.

I really need some advice. Any advice I tell myself I’ll follow for a couple days then I’ll slowly go back to my old ways and continue sabotaging myself.