The Scrum Team consists of one Scrum Master, one Product Owner, and Developers. Within a Scrum Team, there are no sub-teams or hierarchies. It is a cohesive unit of professionals focused on one objective at a time, the Product Goal.
-- Scrum Guide
👨 💻 A word on "Developers"
A Developer as described in the Scrum Guide is not the same as a software developer.‼️
Developers are the people in the Scrum Team that are committed to creating any aspect of a usable Increment each Sprint.📦
Ergo: developers can be marketeers, analysts, android developers, designers, UX-ers, testers etc. etc.
PART-I: There are a couple of dysfunctions that take place in organizations.
1️⃣ Not all roles exist
All the roles are needed in Scrum to be able to create products in this complex environment. Leaving out one of the roles will cripple your product and is not called Scrum.
1️⃣🅰️ Leaving out the Product Owner
The focus of the Product Owner is to maximize the value of the product resulting from the work of the Scrum Team and therefore deserves its own role.
1️⃣🅱️ Leaving out the Developers
I've seen cases where there are no Developers, just project managers shopping for development skills elsewhere, disabling them to deliver a "Done" increment of releasable product each Sprint. The Developers are needed to be able to continuously work.
1️⃣©️ Leaving out the Scrum Master
This role is most often discarded. Because it is not well understood. The Scrum Master fosters empiricism and makes sure Scrum is understood by all.
2️⃣ Roles are combined
Leaving out roles is often done for reasons of efficiency. ⏲️💰
Scrum doesn't mean being efficient. It means being effective.🎯
Saving time does not increase the impact.
The reason that combining roles is not a good idea is because of focus.🔍
3️⃣ Hierarchy exists between people in one Scrum Team
The starting point for Scrum to be effective is that this team is self-organizing.
Meaning that each role is equally important.🤝
PART-II: Equality: Services to the other roles
Each role is needed by the other roles and cannot function on its own.
1️⃣ Services to the Developers
Delivering valuable and releasable products for the customer is the purpose of the Developers.
The Product Owner serves the Developers by making sure they are constantly aware🧠 of the vision of the product and the goals that come with it.
The Product Owner trusts the Developers with decision-making related to the quality ✅, construction, and maintenance of the product.
The Scrum Master serves the Developers by helping them self-manage.
2️⃣ Services to the Scrum Master
The Scrum Master needs the support 💁♂️ of the Product Owner and Developers.
The Product Owner serves the Scrum Master by being open and transparent about organizational impediments.
Developers need to respect the authority of the Scrum Master on Scrum and the guidance of the empirical process.
3️⃣ Services to the Product Owner
Developers serve the Product Owner by taking ownership of the quality and construction of the product.
They are honest and transparent 🪟 about what is possible and what is not possible.
They offer help in the construction 👷♂️ of the Sprint Goals and the estimation of work.
The Scrum Master serves the Product Owner by being honest and transparent and offers help in the facilitation of events.📅
🔑1 Leaving out one of the roles means there is no Scrum Team, therefore no Scrum
🔑2 Combining the roles makes the team less effective and even disables it, despite some possible efficiency gains
🔑3 Each role serves the two other roles in different ways making a combined effective Scrum Team