Having played scrum master role for few years now, I have realized by doing few things right one can build a self-organized & efficient sprint teams which can increase velocity overtime and maintain it.
Keeping team intact:
Going by the team formation stages, ideally sprint teams will have the highest velocity achieved during performing stage. This would only hint that for a sprint team to be efficient and productive, one should not disturb the team. Any attrition in the sprint team, will kill the velocity of sprint teams. The sprint teams kept together for longer duration will have all the knowledge, they know shortcomings of each other’s, support when required and will be a focused team which will deliver incremental value in each sprint increments.
Clarity and being transparent:
For any sprint team to maintain the velocity once it reaches the peak is always a challenge, if there is a slight sluggish velocity seen it should be really taken as a warning by scrum master. There should be a clear roadmap available to the team on what is planned/expected in brief for next 6 months. Scrum master should always try to create strong shared sense of commitment from team towards the goals.
Rework and mundane tasks will kill the velocity of any team, because teams gets demotivated and exhausted with these kinds of task. Scrum master should always focus on doing things right for the first time, he should always try to clarify requirements on time and remove ambiguities. Rework will bring down the team morale. Sprint team with scrum master should always thrive to remove waste in terms of time (cut shorting unnecessary meetings, automating routine manual jobs, streamlining work flows), to improve efficiency of the team.