In my company, each team has a scrum master (a SM being part of 2/3 teams). They have near-zero technical knowledge, and this is what they do (no particular order):
- Give an organisation to the team, and make sure that this organisation does not decay with time
- Help the devs work faster by helping them with the methodology
- Help identifying & solving problems (a problem goes from "a dev spent one hour more than expected on this ticket" to "the client has no vision on what the product should be"). This is probably the most important task
- Help the client to lead his project. This is a huge part too, the client does not know how to lead a project (they just came to us with a business problem they want to solve): there's no way the project will succeed if the client doesn't manage to have a clear vision for his product, prioritise tasks, build indicators, get user feedback...
Minor tasks:
- Organise meetings/demos
- Lead the meetings, make sure they're productive
We're a service company without management, "communicating status up" is a concept that doesn't exist.
- Give an organisation to the team, and make sure that this organisation does not decay with time - Help the devs work faster by helping them with the methodology - Help identifying & solving problems (a problem goes from "a dev spent one hour more than expected on this ticket" to "the client has no vision on what the product should be"). This is probably the most important task - Help the client to lead his project. This is a huge part too, the client does not know how to lead a project (they just came to us with a business problem they want to solve): there's no way the project will succeed if the client doesn't manage to have a clear vision for his product, prioritise tasks, build indicators, get user feedback...
Minor tasks: - Organise meetings/demos - Lead the meetings, make sure they're productive
We're a service company without management, "communicating status up" is a concept that doesn't exist.