A friend of mine works as a manager for a major international IT company. A while back she complained about being very busy throughout the day, and tired at the end of it, but feeling as though she hadn't accomplished anything. There were a lot of meetings and interruptions, and the tasks that she had planned to do kept getting broken up and left unfinished at the end of the day. This made her feel unmotivated and burned out.
This kind of thing can be common, both for managers and developers, and I'd like to share some thoughts about it.
One common mistake is to set goals that are too ambitious, and then to experience disappointment when those goals aren't met. If you know that you will have a lot of meetings and interruptions in a given day, then give those tasks the importance they deserve.
Meetings are often met with derision, but if they're handled effectively, they serve an important purpose: They allow people to take input from stakeholders and to use that information to make the right decisions. Ideally meetings are about exchanging information and building up an accurate picture of what's happening, so that the team or organization can meet its goals.
If your job requires going to a lot of meetings, I think the right answer is to invest in being prepared for those meetings, and making yourself heard in an effective way. Those meetings are your main tasks for the day - they're not just distractions or nuisances.
The same idea applies to other "distractions," like answering people's questions. It may be a more important part of your job than you realize.
Now, let's suppose that you do have some important other tasks that you want to get done, and things like meetings, phone calls, slack threads, etc. are preventing you from making progress on them. What then?
In that case, I recommend deciding how much uninterrupted time you need to make meaningful progress on those tasks. Often just being able to set aside an hour or two to focus completely on a single thing can work wonders. Whatever the smallest unit of uninterrupted time you need is, find a way to allocate that time. It might mean saying something to your boss or colleagues like "I have this important task that I want to make progress on tomorrow, so from 9-11 AM, I'd like to work on it without any interruptions."
I believe that if your boss (or team members, whatever the case may be) can see that this task really does matter, they'll give you the time you need. You can catch up on meetings, emails, etc. later. In my experience, people are usually more reasonable about this sort of thing than we think they will be, and it's our fears (fear of missing out, fear of being reprimanded, etc.) that prevent us from simply asking for what we need.
As with everything, it may have more to do with how you say it than what you say. Make sure to frame your request in a clear way and highlight the reason for it. Also make sure to state when you will get back to your normal routine. It's important for it to come across as a request, not a demand, and for it to be clear that you're trying to do what's best for the team/organization.
We all want to be superhuman, but everyone, no matter how talented and productive they are, has limits. Those limits are different for each person, but they still exist for each one of us. A juggler can keep adding balls, but eventually they'll end up dropping all of them. When we try to make progress concurrently on too many tasks at a time, we're making the same mistake.
In general, the research seems to indicate that people aren't especially good at multitasking. Therefore, I suggest selecting a reasonable number of tasks to work on, and to get those done before adding a bunch of new ones. There's no value in setting yourself up for failure from the very start.