We have a weekly on-call position on our team where that person tries to shield everyone else from non-sprint distractions. They would usually be on point for handling requests from other teams, production issues, release problems, helping stuck people, etc. It's generally a nice way to balance the workload across the team and make sure knowledge is spread evenly.<p>For a team without that, I would either context switch each time a problem comes up (which could be hard if you're pinged a lot) or make a more formal intake process. I've gotten pretty used to context switching so my general flow is to keep a list of the problems I'm working on and break each down into small sub-tasks with check marks for progress. It's sort of like caching your current work and thoughts on the problem but that is still not as good as just working through the issue uninterrupted. I don't think the tool for note taking matters, it could be a journal, org-mode, plain text, outlook, trello, or whatever you're comfortable with.<p>Some teams which I've worked with have built out intake systems to keep random fire drills under control. The system they have is to keep a triage channel open in slack and a triage board in Jira. If you have a small question or need a bit of help, it's usually fine to ping the on-call for their team in the slack channel. If their on-call is swamped or the issue is bigger, they'll usually request that you file an intake ticket with Jira. This probably seems like overkill (especially if the company is a small startup) but if you're spending a significant amount of time helping people and solving production problems, this should be tracked so people can see the extra work you're putting in. It's important that people don't burn out or become the sole person who know how everything works. Newer management may not understand why you're struggling unless you give them tools to see your actual workload.