I was the same way, and still am to a certain degree, but I've been experimenting a bit.
I started out by trying the pomodoro thing again. 25 minutes of uninterrupted time. Ringer off, chat off, focused on the task at hand. I played around with a few different tools, but I've got at least a handful of machines that I work on, and it was a pain in the ass to try to find a cross-platform solution.
What I ended up settling on was to use my phone as the timer, and a spreadsheet to keep a list of what I'd accomplished and what I had left to do. I used Smartsheets, but google docs or whatever would work fine too. And here's where the interesting part came in!
For the first week or two, I followed it pretty closely. 25 minutes of work, 5 minute rest, repeat. And then... one day I realized that my phone was upstairs, I was feeling pretty good about doing some work, and so I figured I'd start a task and just keep an eye on the clock. Hour and a half of productive time goes by before I even look down at the clock again! On crappy days, I'm not anywhere near the point where I can stay focused for long stretches, and in those cases I fall back onto the 25-5 routine, but for good days I seem to have gotten my ability to focus back quite well!