You live in the ADD generation brah. Too many distractions. Too many easy ways to change your whole emotional blueprint in a moment. It's easy to say, bump this calculus assignment, ima creep on instagram. lol
For real bruh, only thing that's helped me is severely limiting social networking. Also bro, think about the time where you do most your random roaming and distractions. For me its nighttime to early AM. I never plan on doing anything during that time because that's what I use the time for. So in the AM I get the ball running very quickly and try to finish everything important before afternoon.