My team is also in this situation. We have many ongoing developments, but also support. And we support production services, so if there is a problem, we may need to drop everything and fix it.
We decided, so far, to continue to use the scrum, as before, but saving some time each sprint for current tickets and other works that were not known in advance. Every day there is a special person to handle incoming tickets, Nagios notifications, etc. If necessary, this person can always consult or transfer things to another engineer, but we try to avoid this. This reduces interference in the flow of other engineers.
Scheduling reserved time can seem very complicated: support loading tends to change. However, our experience is that most of the time our reserved time is in the right range. Obviously, there are exceptions where we lose a few man-days, but in the worst case, we throw items from the sprint. I can’t remember the last time this happened.
To summarize: most of the time, load support is quite predictable. Reserve time in the sprint for this, and it should work. But the most important piece of advice I can give is: try something, even if you are not sure about it, and look back in your retrospective. You only know for sure as soon as you try, and you thought.
user188041
source share