If I had to choose a list of topics that are important in Scrum, self-organization would make my top 5 list. Empiricism would be at the very top, but I'll save that for another time. There are many ways this question can be broken down, and it may get asked in different ways. Some examples:
What does the Scrum Guide say about self-organization, and how does Scrum help with it?
How can the Scrum Master promote and encourage self-organization within the Development Team?
What is needed for self-organization to flourish?
Why is self-organization so important?
What are signs that a Development Team is self-organizing? How do you ensure self-organization does not go too far?
Let's look at each question above, which will give you insight into how to break this down in order to provide a thoughtful answer.
How does Scrum in General Help with Self-organization?
The Scrum framework itself helps with self-organization, because it is lightweight and is not prescriptive, with just 3 roles, 5 events and 3 artifacts. It isn't a methodology or 'how to' guide. Various techniques and tactics for working within the framework are left up to the team to figure out, within boundaries such as the length of the Sprint.
As an example, the recommended optimal Development Team size (3-9) helps a self with self-organization because it makes communication easier and reduces unnecessary complexity. I once joined a Scrum Team as a Scrum Master that had 14 developers. It was immediately obvious how they struggled with communication and coordination of work. One of the many mistakes I made in my career as Scrum Master was recommending to management to break the team into two, rather than ask the developers how they wished to be organized. While having two smaller teams benefited everyone in the end, there are some good insights on better ways for developers to organize into teams from Ken Schwaber's blog.
The Scrum Guide directly mentions self-organization seven times, and implies it even more. Here are just a few examples:
Scrum Teams are self-organizing and cross-functional.
Development Teams are structured and empowered by the organization to organize and manage their own work.
Self-organizing teams choose how to best accomplish their work, rather than being directed by others outside the team.
Every day, the Development Team should understand how it intends to work together as a self-organizing team to accomplish the Sprint Goal and create the anticipated Increment at the end of the Sprint.
[Development Teams] are self-organizing. No one (not even the Scrum Master) tells the Development Team how to turn Product Backlog into Increments of potentially releasable functionality.
How Scrum promote and encourage self-organization within the Development Team?
The Development Team decides how many Product Backlog items they should take on in a Sprint. They also self-organize around the Sprint Backlog, deciding the best way to meet the Sprint Goal. Scrum expects the Development Team to decide the best way to accomplish their work to meet the Sprint Goal, and no one may tell the Development Team how to accomplish their work.
Within the Development Team, Scrum has no roles or sub teams. This is another way Scrum helps. By not formally describing a role such as Tech Lead, hierarchies can be broken down. Developers are free to help each other and work on multiple facets of the codebase, known collective code ownership, rather than the mindset that only a specialist can touch that area of the code. Handoffs are minimized and collaboration grows by not specifying sub teams (e.g I write code, you test).
How does the Scrum Master promote and encourage self-organization within the Development Team?
We've already mentioned how the Scrum Guide helps with self-organization. Since the Scrum Master is the one who promotes and supports Scrum as defined in the Scrum Guide...
Think about this. If the Scrum Master solved all the team's problems, fixed all their conflicts, and provided solutions, would a team ever learn how to go about this on their own?
The Scrum Master acts as a Servant Leader, coaching the Development Team to solve their own problems and to resolve their own conflict. The Scrum Master teaches the Development Team to remove their own impediments while supporting them, and helps to remove the ones they cannot. The Scrum Master also teaches the team to continuously improve. The Scrum Master never tells anyone what to do with regards to producing the Increment.
The Scrum Master facilities "Scrum events as requested or needed". Often a Scrum Master may harm self-organization by facilitating every event, and it can be important to learn how to step back. Take the Daily Scrum, this is where the training wheels can come off for self-organizing teams. If you're a Scrum Master, don't show up at the next Daily, and see what happens. Support the Development Team to run their own Daily Scrum. Isn't the purpose of the Daily for the Development Team to plan their work for the next 24 hours? To inspect progress towards the Sprint Goal, and adapt their plans?
The Product Owner collaborates with the stakeholders, and has the final say on what will be worked on by the Scrum Team, and their decision must be respected. The Development Team self organizes to determine how much work they can accomplish in a Sprint, determine how they will accomplish the Sprint Goal, and self organize daily at the Daily Scrum to plan their work to deliver on the Sprint Goal and to have a "Done" Increment at the end of a Sprint.
What is needed for self-organization to flourish?
For self organization to flourish, trust within the team is necessary, and the Scrum values help build trust. Consistent Sprint lengths and adhering to the time-boxes also help. Living through Scrum values also helps it flourish.
The Development Team is starting to make their own decisions, solve problems on their own, even deal with conflict within the team. They usually do this without the help of someone from outside the Scrum Team. During the Sprint the Development Team selects their own work (no one tells anyone else what to do). They are starting to learn from each other. There are less hand offs, as the team self organizes to become more cross functional. During the Daily Scrum they collaborate and re-plan their work through collaboration. They act like a team rather than individuals. There is complete Development Team ownership to accomplish the Sprint Goal, rather than individually assigned Sprint Backlog tasks. The team will also ensure that the Definition of "Done" is met for the Increment. Scrum time-boxes events, as a Sprint is no longer than 30 days, providing checkpoints to inspect and adapt, and making it transparent if the Scrum Team has broken any organizational boundaries.
For self organization to flourish, trust within the team is necessary, and the Scrum values help build trust.
Why is self-organization so important?
"Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done."
Self-organization helps with motivation of people. In Dan pink's book Drive, is a great read for Scrum Masters by the way, he shows us that intrinsic motivation comes from autonomy, mastery and purpose.
It also is important because it helps with people be creative. The best solutions most likely will come from within your development team rather than from outside the team, and more importantly, because the team came up with the solution they are more likely to embrace it, buy into it and see it through.
What are signs that a Development Team is self-organizing? How do you ensure self-organization does not go too far?
Self-organization does not happen overnight, and is built over time. You will usually start to see that the Development Team is starting to make their own decisions, solve problems on their own without involving someone from outside of the team, even deal with conflict within. And some amount of conflict is needed to debate and come to the best solutions. They usually do this without the help of someone from outside the Scrum Team, such as a manager. During the Sprint the Development Team selects their own work (no one tells anyone else what to do) and offering to help each other. Developers are starting to learn from each other.
You may also start to see that there are less hand offs, as the team self organizes to become more cross functional. During the Daily Scrum the Developers collaborate and re-plan their work through collaboration. They act like a team rather than individuals. There is complete Development Team ownership to accomplish the Sprint Goal, rather than individually assigned Sprint Backlog tasks.The team will also ensure that the Definition of "Done" is met for the Increment.
For self-organization to flourish, trust has to be built up over time. The Scrum values can help build those behaviors.
When the values of commitment, courage, focus, openness and respect are embodied and lived by the Scrum Team, the Scrum pillars of transparency, inspection, and adaptation come to life and build trust for everyone.
Self-organization and autonomy does not mean all rules can be broken, with anarchy ruling supreme. Scrum puts some guardrails in place for self organization. Examples:
Scrum time-boxes events, as a Sprint is no longer than 30 days, providing checkpoints to inspect and adapt, and making it transparent if the Scrum Team has broken any organizational boundaries.
Consistent Sprint lengths of 30 days or less.
An organizations's definition of "Done".
Comments