BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Articles Characteristics of a Great Scrum Team

Characteristics of a Great Scrum Team

According to the Scrum Guide, Scrum is a framework that people can use to address complex problems, and productively and creatively develop products of the highest possible value. It's a tool organizations can use to increase their agility.

Within Scrum, self-organizing, cross-functional, and highly productive teams do the work: creating valuable releasable product increments. Scrum offers a framework that catalyzes teams’ learning through discovery, collaboration, and experimentation.

A great Scrum Team consists of a Product Owner, who maximizes value, a Scrum Master, who enables continuous improvement, and a Development Team, that focuses on delivering high-quality product increments.

For sure, this sounds great!

But what are the characteristics of such a great Scrum team? This article answers that question. It describes the characteristics and skills of a great Product Owner, Scrum Master, and Development Team.

Product Owner

The Product Owner is responsible for maximizing the product’s value and the work of the Development Team. It's a one-person role that brings the customer perspective of the product to a Scrum Team.

The Product Owner is responsible for:

  • Developing and maintaining a product vision and market strategy
  • Product management
  • Ordering and managing the Product Backlog
  • Involving stakeholders and end-users in Product Backlog refinement and backlog management
  • Alignment with other Product Owners when needed from an overall product, company, or customer perspective

A Great Product Owner ...

  • Embraces, shares and socializes the product vision. A great Product Owner represents the customer’s voice and creates a product vision with the stakeholders. Every decision is taken with the product vision in mind. This ensures sustainable product development, provides clarity for the development team, and increases the chances of product success drastically.

  • Exceeds the customer’s expectation. A great Product Owner truly understands the customer’s intentions and goals with the product and is able to outstrip its expectations. Customer delight is the ultimate goal!

  • Is empowered. A great Product Owner is empowered to make decisions related to the product. Sure, creating support for their decisions might take some time, but swiftly making important decisions is a primary condition for a sustainable pace of the development team.

  • Orders the product backlog. A great Product Owner understands that the product backlog should be ordered. Priority, risk, value, learning opportunities, and dependencies are all taken into account and balanced with each other. For example, when building a house, the roof might have the highest priority considering possible rain. But still, it's necessary to build the foundation and walls earlier and therefore prioritize them above the construction of the roof.

  • Prefers face-to-face communication. A great Product Owner understands that the best way to convey information is face-to-face communication. User stories are explained in a personal conversation. If a tool is used for backlog management, its function is to support the dialogue. It never replaces good old-fashioned conversation.

  • Knows modeling techniques. A great Product Owner has a backpack full of valuable modeling techniques. They know when to apply a specific model. Examples are Business Model Generation, Lean Startup, or Impact Mapping. Based on these models they know how to drive product success.

  • Shares experiences. A great Product Owner shares experiences with peers. This might be within the organization, and outside it: seminars and conferences are a great way to share experiences and gather knowledge. In addition, writing down lessons learned can be valuable for other Product Owners.

  • Owns user-story mapping. A great Product Owner should master the concept of user-story mapping. It's a technique that adds a second dimension to your backlog. This visualization shows the big picture of the product backlog. Jeff Patton has written some excellent material about the concept of story mapping.

  • Has a focus on functionality. A great Product Owner has a focus on functionality and the non-functional aspects of the product. Hours or even story points are less important. The goal of the Product Owner is to maximize value for the customer. It’s the functionality that has value; therefore, this is the main focus for the Product Owner.

  • Is knowledgeable. A great Product Owner has in-depth (non-)functional product knowledge and understands the technical composition. For large products, it might be difficult to understand all the details, and scaling the Product Owner role might be an option. However, the Product Owner should always know the larger pieces of the puzzle and hereby make conscious, solid decisions.

  • Understands the business domain. A great Product Owner understands the domain and environment they are part of. A product should always be built with its context taken into account. This includes understanding the organization paying for the development but also being aware of the latest market conditions. Shipping an awesome product after the window of opportunity closes is quite useless.

  • Acts on different levels. A great Product Owner knows how to act on different levels. The most common way to define these levels is strategic, tactical, and operational. A Product Owner should know how to explain the product strategy at board level, create support at middle management, and motivate the development team with their daily challenges.

  • Knows the 5 levels of Agile planning. Within Agile, planning is done continuously. Every product needs a vision (level 1) which will provide input to the product roadmap (level 2). The roadmap is a long-range strategic plan of how the business would like to see the product evolve. Based on the roadmap, market conditions, and status of the product the Product Owner can plan releases (level 3). During the Sprint Planning (level 4) the team plan and agree on Product Backlog Items they are confident they can complete during the Sprint and help them achieve the Sprint Goal. The Daily Scrum (level 5) is used to inspect and adapt the team's progress towards realizing the Sprint Goal.

  • Is available. A great Product Owner is available to the stakeholders, the customers, the development team, and the Scrum Master. Important questions are answered quickly and valuable information is provided on time. The Product Owner ensures that their availability never blocks the progress of the development team.

  • Is able to say 'No'. A great Product Owner knows how and when to say no. This is probably the most obvious - but most difficult - characteristic to master. Saying yes to a new idea or feature is easy; it's just another item for the product backlog. However, good backlog management encompasses creating a manageable product backlog with items that probably will get realized. Adding items to the backlog knowing nothing will happen with them only creates 'waste' and false expectations.

  • Acts as a "Mini-CEO". A great Product Owner basically is a mini-CEO for their product. They have a keen eye for opportunities, focus on business value and the Return On Investment and act proactively on possible risks and threats. Everything with the growth (size, quality, market share) of the product taken into account.

  • Knows the different types of valid Product Backlog items. A great Product Owner can clarify the fact that the Product Backlog consists of more than only new features. For example: technical innovation, bugs, defects, non-functional requirements and experiments, should also be taken into account.

  • Takes Backlog Refinement seriously. A great Product Owner spends enough time refining the Product Backlog. Backlog Refinement is the act of adding detail, estimates, and order to items in the Product Backlog. The outcome should be a Product Backlog that is granular enough and well understood by the whole team. On average the Development Team spends no more than 10% of the capacity of the Development Team on refinement activities. The way refinement is done isn’t prescribed and is up to the team. The Product Owner can involve stakeholders and the Development Team in backlog refinement. The stakeholders are involved because it gives them the opportunity to explain their wishes and desires. The Development Team is able to clarify functional and technical questions or implications. This approach ensures common understanding and increases the quality of the Product Backlog considerably. As a consequence, the opportunity to build the right product with the desired quality will also increase.

Scrum Master

According to the Scrum Guide the Scrum Master is responsible for ensuring Scrum is understood and enacted. Scrum Masters do this by ensuring that the Scrum Team adheres to Scrum theory, practices, and rules. The Scrum Master is a servant-leader for the Scrum Team. The Scrum Master helps those outside the Scrum Team understand which of their interactions with the Scrum Team are helpful and which aren’t. The Scrum Master helps everyone change these interactions to maximize the value created by the Scrum Team.

The role of a Scrum Master is one of many stances and diversity. A great Scrum Master is aware of them and knows when and how to apply them, depending on the situation and context. All that the Scrum Master does has the purpose of helping people understand and better apply the Scrum framework.

The Scrum Master acts as a:

  • Servant Leader whose focus is on the needs of the team members and those they serve (the customer), with the goal of achieving results in line with the organization's values, principles, and business objectives
  • Facilitator by setting the stage and providing clear boundaries in which the team can collaborate
  • Coach by coaching individuals with a focus on mindset and behavior: the team in continuous improvement, and the organization in truly collaborating with the Scrum team
  • Conflict navigator to address unproductive attitudes and dysfunctional behaviors
  • Manager responsible for managing impediments, eliminate waste, managing the process, managing the team's health, managing the boundaries of self-organization, and managing the culture
  • Mentor that transfers Agile knowledge and experience to the team
  • Teacher to ensure Scrum and other relevant methods are understood and enacted

A Great Scrum Master ...

  • Involves the team with setting up the process. A great Scrum Master ensures the entire team supports the chosen Scrum process and understands the value of every event. The daily Scrum, for example, is planned at a time that suits all team members. A common concern about Scrum is the amount of 'meetings' involving the team with planning the events and discussing the desired outcome will increase engagement for sure.
  • Understands team development. A great Scrum Master is aware of the different phases a team will go through when working as a team. They understand Tuckman's different stages of team development: forming, storming, norming, performing, and adjourning. The importance of a stable team composition is also clear.
  • Understands principles are more important than practices. Without a solid, supported understanding of the Agile principles, every implemented practice is basically useless. It's an empty shell. An in-depth understanding of the Agile principles by everyone involved will increase the chances of successful usage of practices drastically.
  • Recognizes and acts on team conflict. A great Scrum Master recognizes team conflict in an early stage and can apply different activities to resolve it. A great Scrum Master understands conflict isn't necessarily wrong. Healthy conflict and constructive disagreement can be used to build an even stronger team.
  • Dares to be disruptive. A great Scrum Master understands some changes will only occur by being disruptive. They know when it's necessary and is prepared to be disruptive enough to enforce a change within the organization.
  • Is aware of the smell of the place. A great Scrum Master can have an impact on the culture of the organization so that the Scrum teams can really flourish. They understand that changing people's behavior isn't about changing people, but changing the context which they are in: the smell of the place.
  • Is both dispensable and wanted. A great Scrum Master has supported the growth of teams in such a manner they don't need them anymore on a daily basis. But due to their proven contribution they will get asked for advice frequently. Their role has changed from a daily coach and teacher to a periodical mentor and advisor.
  • Let their team fail (occasionally). A great Scrum Master knows when to prevent the team from failing but also understands when they shouldn't prevent it. The lessons learned after a mistake might be more valuable than some good advice beforehand.
  • Encourages ownership. A great Scrum Master encourages and coaches the team to take ownership of their process, task wall and environment.
  • Has faith in self-organization. A great Scrum Master understands the power of a self-organizing team. "Bring it to the team" is their daily motto. Attributes of self-organizing teams are that employees reduce their dependency on management and increase ownership of the work. Some examples are: they make their own decisions about their work, estimate their own work, have a strong willingness to cooperate and team members feel they are coming together to achieve a common purpose through release goals, sprint goals, and team goals.
  • Values rhythm. A great Scrum Master understands the value of a steady sprint rhythm and does everything to create and maintain it. The sprint rhythm should become the team’s heartbeat, which doesn't cost any energy. Everyone knows the date, time and purpose of every Scrum event. They know what is expected and how to prepare. Therefore a complete focus on the content is possible.
  • Knows the power of silence. A great Scrum Master knows how to truly listen and is comfortable with silence. Not talking, but listening. They are aware of the three levels of listening - level 1 internal listening, level 2 focused listening, level 3 global listening, and knows how to use them. They listen carefully to what is said, but also to what isn't said.
  • Observes. A great Scrum Master observes their team with their daily activities. They don't have an active role within every session. The daily Scrum, for example, is held by the team for the team. They observe the session and hereby has a more clear view to what is being discussed (and what isn't) and what everyone’s role is during the standup.
  • Shares experiences. Great Scrum Masters shares experiences with peers. This might be within the organization, but also seminars and conferences are a great way to share experiences and gather knowledge. Of course writing down and sharing your lessons learned is also highly appreciated. And yes, for the attentive readers, this is exactly the same as for the Product Owner and the Development Team.
  • Has a backpack full of different retrospective formats. A great Scrum Master can apply lots of different retrospective formats. This ensures the retrospective will be a fun and useful event for the team. They know what format is most suitable given the team's situation. Even better: they support the team by hosting their own retrospective. To improve involvement this is an absolute winner!
  • Can coach professionally. A great Scrum Master understands the power of professional coaching and has mastered this area of study. Books like Coaching Agile Teams and Co-Active Coaching don't have any secrets for them. They know how to guide without prescribing. They can close the gap between thinking about doing and actually doing; they can help the team members understand themselves better so they can find new ways to make the most of their potential. Yes, these last few sentences are actually an aggregation of several coaching definitions, but it sounds quite cool!
  • Has influence at organizational level. A great Scrum Master knows how to motivate and influence at tactic and strategic level. Some of the most difficult impediments a team will face occur at these levels; therefore it's important a Scrum Master knows how to act at the different levels within an organization.
  • Prevent impediments. A great Scrum Master not only resolves impediments, they prevent them. Due to their experiences they are able to 'read' situations and hereby act on them proactively.
  • Isn't noticed. A great Scrum Master isn't always actively present. They don’t disturb the team unnecessarily and supports the team in getting into the desired 'flow'. But when the team needs them, they are always available.
  • Forms a great duo with the Product Owner. A great Scrum Master has an outstanding partnership with the Product Owner. Although their interests are somewhat different, the Product Owner 'pushes' the team, the Scrum Master protects the team. A solid partnership is extremely valuable for the Development Team. Together they can build the foundation for astonishing results.
  • Allows leadership to thrive. A great Scrum Master allows leadership within the team to thrive and sees this as a successful outcome of their coaching style. They believe in the motto "leadership isn't just a title, it's an attitude". And it's an attitude everyone in the team can apply.
  • Is familiar with gamification. A great Scrum Master is able to use the concepts of game thinking and game mechanics to engage users in solving problems and increase users' contribution.
  • Understands there's more than just Scrum. A great Scrum Master is also competent with XP, Kanban and Lean. They know the strengths, weaknesses, opportunities and risks of every method/framework/principle and how & when to use them. They try to understand what a team wants to achieve and helps them become more effective in an Agile context.
  • Leads by example. A great Scrum Master is someone that team members want to follow. They do this by inspiring them to unleash their inner potential and showing them the desired behavior. At difficult times, they show them how to act on it; they don't panic, stay calm, and help the team find the solution.
  • Is a born facilitator. A great Scrum Master has facilitation as their second nature. All the Scrum events are a joy to attend, and every other meeting is well prepared, useful and fun, and has a clear outcome and purpose.

Development Team

According to the Scrum Guide the Development Team consists of professionals who do the work of delivering a potentially releasable Increment of "Done" product at the end of each Sprint. Only members of the Development Team create the Increment. Development Teams are structured and empowered by the organization to organize and manage their own work. The resulting synergy optimizes the Development Team’s overall efficiency and effectiveness.

Development Teams have the following characteristics:

  • Self-organizing. They decide how to turn Product Backlog Items into working solutions.
  • Cross-functional. As a whole, they've got all the skills necessary to create the product Increment.
  • No titles. Everyone is a Developer, no one has a special title.
  • No sub-teams in the Development team.
  • Committed to achieving the Sprint Goal and delivering a high-quality increment

A Great Development Team ...

  • Pursues technical excellence. Great Development Teams use Extreme Programming as a source of inspiration. XP provides practices and rules that revolve around planning, designing, coding, and testing. Examples are refactoring (continuously streamlining the code), pair programming, continuous integration (programmers merge their code into a code baseline whenever they have a clean build that has passed the unit tests), unit testing (testing code at development level) and acceptance testing (establishing specific acceptance tests).
  • Applies team swarming. Great Development Teams master the concept of 'team swarming'. This is a method of working where a team works on just a few items at a time, preferably even one item at a time. Each item is finished as quickly as possible by having many people work on it together, rather than having a series of handoffs.
  • Uses spike solutions. A spike is a concise, timeboxed activity used to discover work needed to accomplish a large ambiguous task. Great Development Teams uses spike experiments to solve challenging technical, architectural, or design problems.
  • Refines the product backlog as a team. Great Development Teams consider backlog refinement a team effort. They understand that the quality of the Product Backlog is the foundation for a sustainable development pace and building great products. Although the Product Owner is responsible for the product backlog, it's up to the entire team to refine it.
  • Respects the Boy Scout Rule. Great Development Teams use the Scout Rule: always leave the campground cleaner than you found it. Translated to software development: always leave the code base in a better state than you've found it. If you find messy code, clean it up, regardless of who might have made the mess.
  • Criticizes ideas, not people. Great Development Teams criticize ideas, not people. Period.
  • Share experiences. Great Development Teams share experiences with peers. This might be within the organization, but also seminars and conferences are a great way to share experiences and gather knowledge. Of course, writing down and sharing your lessons learned is also highly appreciated. And yes, for the attentive readers, this is exactly the same as for the Product Owner.
  • Understands the importance of having some slack. Great Development Teams have some slack within their sprint. Human beings can't be productive all day long. They need time to relax, have a chat at the coffee machine or play table football. They need some slack to be innovative and creative. They need time to have some fun. By doing so, they ensure high motivation and maximum productivity. But slack is also necessary to handle emergencies that might arise; you don't want your entire sprint to get into trouble when you need to create a hot-fix. Therefore: build in some slack! And when the sprint doesn't contain any emergencies: great! This gives the team the opportunity for some refactoring and emergent design. It's a win-win!
  • Has fun with each other. Great Development Teams ensure a healthy dose of fun is present every day. Fostering fun, energy, interaction and collaboration creates an atmosphere in which the team will flourish!
  • Don't have any Scrum 'meetings'. Great Development Teams consider Scrum events as opportunities for conversations. Tobias Mayer describes this perfectly in his book ‘The People's Scrum': "Scrum is centered on people, and people have conversations. There are conversations to plan, align, and to reflect. We have these conversations at the appropriate times, and for the appropriate durations in order to inform our work. If we don’t have these conversations, we won’t know what we are doing (planning), we won’t know where we are going (alignment), and we’ll keep repeating the same mistakes (reflection)."
  • Knows their customer. Great Development Teams know their real customer. They are in direct contact with them. They truly understand what they desire and are therefore able to make the right (technical) decisions.
  • Can explain the (business) value of non-functional requirements. Great Development Teams understand the importance of non-functional requirements such as  performance, security, and scalability. They can explain the (business) value to their Product Owner and customer and thereby ensure its part of the product backlog.
  • Trust each other. Great Development Teams trust each other. Yes, this is obvious. But, without trust, it's impossible for a team to achieve greatness.
  • Keep the retrospective fun. Great Development Teams think of retrospective formats themselves. They support the Scrum Master with creative, fun, and useful formats and offer to facilitate the sessions themselves.
  • Deliver features during the sprint. Great Development Teams deliver features continuously. Basically, they don't need sprints anymore. Feedback is gathered and processed whenever an item is ‘done’; this creates a flow of continuous delivery.
  • Don't need a sprint 0. Great Development Teams don't need a sprint 0 before the 'real' sprints start. They can deliver business value in the first sprint.
  • Acts truly cross-functional. Great Development Teams not only have a cross-functional composition, they truly act cross-functionally. They don't talk about different roles within the team but are focused on delivering a releasable product for every sprint as a team. Everyone is doing the stuff that's necessary to achieve the sprint goal.
  • Updates the Scrum board themselves. Great Development Teams ensure the Scrum/team board is always up-to-date—it's an accurate reflection of reality. They don't need a Scrum Master to encourage them; instead, they collaborate with the Scrum Master to update the board.
  • Spends time on innovation. Great Development Teams understand the importance of technical/architectural innovation. They know it's necessary to keep up with the rapidly changing environment and technology. They ensure they have time for innovation during regular working hours, and that it's fun and exciting!
  • Don't need a Definition of Done. Great Development Teams deeply understand what 'done' means for them. For the team members, writing down the Definition of Done isn't necessary anymore. They know. The only reason to use it is to make the 'done state' transparent for their stakeholders.
  • Knows how to give feedback. Great Development Teams have learned how to give each other feedback honestly and respectfully. They grasp the concept of the 'Situation - Behavior - Impact Feedback Tool' and therefore provide clear, actionable feedback. They give feedback whenever it's necessary and don't postpone feedback until the retrospective.
  • Manages their team composition. Great Development Teams manage their own team composition. Whenever specific skills are necessary, they collaborate with other teams to discuss the opportunities of 'hiring' specific skills.
  • Practice collective ownership. Great Development Teams understand the importance of collective ownership. Therefore, they rotate developers across different modules of the applications and systems to encourage collective ownership.
  • Fix dependencies with other teams. Great Development Teams are aware of possible dependencies with other teams and manage these by themselves. This approach  ensures a sustainable development pace for the product.
  • Don't need story points. Great Development Teams don't focus on story points anymore. They've refined the product backlog so that the size for the top items doesn’t vary much. They know how many items they can realize each sprint. Counting the number of stories is enough for them. .

About the Author

Barry Overeem is an Agile Coach at Prowareness and Professional Scrum Trainer at Scrum.org. He is an active member of the Agile community and shares his insights and knowledge by speaking at conferences and writing articles. Since 2000 he fulfilled several roles with a software development environment, these vary from application consultant, project manager and team lead. Since 2010 his primary focus is applying the Agile mindset and the Scrum Framework. Barry is specialized in the role of the Scrum Master and helping people understand the spirit of Scrum and hereby using the Scrum framework better. Due his own practical experience as a Scrum Master, Barry gained a lot of experience with starting new teams, coaching teams through the different stages of team development and applying different types of leadership. Sharing these experiences and hereby contributing to other persons growth is his true passion!

Rate this Article

Adoption
Style

BT