TransWikia.com

What are the key roles in a Scrum team?

Project Management Asked by Thabo on October 26, 2021

Based on my understanding, Product owner, Scrum Master and Development team are the major roles in a Scrum team. I have to setup a .Net Scrum team with 5-8 members. I don’t have enough knowledge about Scrum. Can any one please give a solution for this problems?

  • What are the key roles that should be in a Scrum team?
  • Who conducts the code reviews in a Scrum team?
  • Do Scrum Teams have a role called team lead, and tech lead?

3 Answers

What are the key roles that should be in a Scrum team?

Product Owners, Developers and Quality Assurance people are key to the success of .NET stack based projects. Note that, I have not mentioned Scrum Master role. I will explain it later.

If the team is developing a Web API, ASP.NET MVC website, Desktop or .NET Xamarin Mobile application, Product Owners, Developers and Quality Assurances staff is all you need. However, if you are developing Cloud based .NET solution then you will need DevOps engineer role as well who will manage Cloud. If you are using CICD, then DevOps engineer is even more necessary to setup CICD pipelines.

Developers could have a person with Architect role (at least 7 years of .NET experience). Architect will be a person who will help Product Owners to design the feature right, help them in Story Points and support developers in design decisions.

Similarly, Quality Assurances could have staff skilled for Automated Testing like xUnit, Selenium and JUnit.

Scrum Master role is really not useful unless the person is an accomplished Software Product Manager. Instead of hiring a Scrum Master hire an Agile Coach who supports team. If all Scrum Master is doing to gather people at specific time on Zoom, Skype or a place in an office then he/she should better be replaced by Google Calendar alerts. Software teams hurt the most if top man is not an accomplished software professional. Someone has to manage JIRA or similar ticketing system. Scrum Master could be used as a follow up role on tickets, road-map, releases, milestones, and deliverable.

Who conducts the code reviews in a Scrum team?

Architect or usually 2 other team members review code.

Do Scrum Teams have a role called team lead, and tech lead?

Developers should be a combination of Interns, Junior Developers, Senior Developers, Technical Leads and Architects.

Usually there are small teams of 1 Intern, 1 Junior Developer, 2 Senior Developers and 1 Tech Lead. If you have 2 such teams, then 1 Architect to mediate discussion between these two teams.

Each team should have 1 Product Owner. If there are more than 1 Product Owner then one will be Lead Product Owner. Product Owner is the single most critical role. He creates stories and prioritize backlog. If Developers are not getting stories, they will not be able to develop and QA will not be able to test them properly. It is better to have 2 Product Interns with each of Product Owners to facilitate accurate story writing.

If work is intense, then each 5 developer team should have 1 QA person and 1 Site Reliability Engineer or DevOps engineer.

Answered by Syed Rafey Husain on October 26, 2021

Core Roles in Scrum

What are the key roles that should be in a Scrum team?

Scrum defines only three core roles for the framework.

  1. A Product Owner, whose role is somewhat of an amalgamation of a traditional Product Manager and a Project Sponsor, but has a lot more interaction with the Development Team than a more traditional role would require.

  2. A Scrum Master, who is the process referee that ensures that the methodology is followed. A Scrum Master is also responsible for coaching the team and the organization on how to make the most of Scrum's processes and artifacts.

    The scrum master acts as a coach, guiding the team to ever-higher levels of cohesiveness, self-organization, and performance. While a team’s deliverable is the product, a scrum master’s deliverable is the self-organizing team.

    Sims, Chris; Johnson, Hillary Louise (2011-02-15). The Elements of Scrum (p. 74). Dymaxicon. Kindle Edition.

  3. A Development Team, which is a cohesive, self-organizing, cross-functional group that contains all the skills necessary to deliver on the project goals.

    Scrum teams are highly collaborative; they are also self-organizing. Team members have total authority over how the work gets done. The team alone decides which tools and techniques to use, and which team members will work on which tasks.

    Sims, Chris; Johnson, Hillary Louise (2011-02-15). The Elements of Scrum (Kindle Locations 976-978). Dymaxicon. Kindle Edition.

Code Reviews

Who conducts the code reviews in a Scrum team?

Code reviews are a practice, not a framework requirement, and not one that is universally embraced. For example, see Code Reviews Considered Hurtful.

Nevertheless, some Scrum teams do adopt code reviews, either because they are identified as helpful during a Sprint Retrospective or because they are required by the parent organization. Unless the parent organization provides a mandate, how code reviews are handled are an issue for a self-organizing development team to work out for themselves.

Ultimately, the goal is high-quality, maintainable code. If the development team finds code reviews helpful in meeting their accepted "definition of done," that's great. If not, perhaps test-driven development or some other practice will work equally well (or better!) for a particular team.

Your job isn't to task someone with doing code reviews; your job is to referee the process to ensure that the team is continuously inspecting and adapting its practices.

Titles for Development Team Members

Do Scrum Teams have a role called team lead, and tech lead?

The Scrum framework promotes collective code ownership, and the team succeeds or fails as a group. As a result, titles that differentiate team members are antithetical to the tenets of Scrum, although they are nevertheless used by the parent organization in job descriptions and Human Resources files.

Look at it this way: if you designate Bob as the team lead, then you are assigning responsibility for specific deliverables to Bob. Why should Alice take on Bob's responsibilities?

Likewise, if you formally make Alice "the QA person," why should Alice take collective ownership of code or work on architecture stories? Doubtless she was brought into the team to ensure that there was some specialized QA knowledge available to the team, but "cross-functional" doesn't mean siloed responsibilities within the project.

Team members will have titles within the organization, which occasionally reflect the skills they bring to a project team. However, it's up to the team to self-organize and distribute responsibility within the team. As a Scrum Master, you should only step in if it's obvious that the team is failing to self-organize--which you measure by whether or not the team is meeting its Sprint Goals and the "definition of done."

Assigning leadership roles within the team is not an agile practice, and is certainly not Scrum. If you find yourself in a position where this is necessary, then you should certainly revisit your overall process, and try to identify what is impeding the self-organization of the Development Team.

Answered by Todd A. Jacobs on October 26, 2021

To quote the Scrum Guide, "Scrum recognizes no titles for Development Team members other than Developer, regardless of the work being performed by the person; there are no exceptions to this rule;" In that regard, it would be counter-productive to restrict developers into specific duties. The idea is that the development team will self-organize to accomplish tasks and overcome obstacles as needs arise (and as resources become available).

As for code reviews, there are many methods for conducting code reviews (see chapter 3 of Best Kept Secrets of Peer Code Reviews). It is up to you and your team to conduct and evaluate the code review method(s) that best complement your team's culture (although a separate quality assurance branch may collect and analyze metrics that can assist in evaluating the effectiveness of a code review method). If you have developers who are better with client code, it may be a benefit for them to review client code for better defect detection. It may also be a benefit for developers not familiar with the client code to review it so that they become more familiar with the client-side in case they need to step-in and do client programming in the future. A benefit of agile and scrum is that the development team can self-organize to test various code review methods for effectiveness. Regardless, the development team should be responsible for reviewing the code created by the development team. There can also be an external quality assurance team that further reviews the code, but that is not at all necessary for a basic implementation of code reviews or scrum.

Answered by David Kaczynski on October 26, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP