Luis,
Vou tentar dar uma explicação resumida para tentar ajudar sobre papeis e responsabilidades:
Product Owner - Tem como objetivo definir o backlog de priorizar qual historia deve ser feito primeiro para poder atingir um determinado objetivo.
Scrum Master - Tem como objetivo garantir que a metodologia vai ser seguida com as suas respectivas cerimonias, removendo os impedimentos do time e deixando o time motivado/engajado. Ele tem total preocupação com o bem estar do time.
Time de Desenvolvimento (Desenvolvedor / UX / QA / DevOps) - Tem como objetivo implementar as historias definidas pelo PO, quebrando as mesmas em tarefas e fazendo a devida implementação.
A questão que mencionou sobre autonomia, isso se aplica para o time todo, porem essa autonomia não deve ser total, pois isso tem um grande risco em virar uma "certa bagunça", ela deve ser guiada com as restrições da empresa, ou seja, dado determinadas restrições o time tem autonomia para fazer o que for necessário.
Exemplos de restrições: A linguagem de desenvolvimento deve ser Java ou .NET
A implementação deve ser feito em solução Cloud
A arquitetura deve ser baseada em microserviços.
Repare que existem direcionadores, mas a forma de implementar o time define a melhor forma.
Um ponto importante referente a sprint, que uma vez definida se uma única história da sprint não for entregue, a sprint inteira é considerada como falha, não existe entrega parcial de sprint.