Agile Methodology_3
Agile Methodology_3
Menu
I’m sure that by now we all must have been very clear about Agile Manifesto from
our last tutorial.
This tutorial is designed for Scrum Team Members who are new to Agile Software
Development to learn about their roles and responsibilities.
The tutorial will also help those who are already working in the agile model to brush
up their skills and to those who simply want to know about these roles. It will also
provide an insight into the responsibilities, and each of the role it withholds.
There is a lot to each of the role other than what we have cited in our tutorial,
however, the readers can definitely get a gist of each Scrum Role precisely without
any doubt.
What You Will Learn: [hide]
Anyone outside the core team doesn’t have any direct influence over the Team. Each
of these roles in the Scrum has a very clear set of responsibilities which we will
discuss in detail later in this tutorial. Under this section, let us focus on the
attributes of the Scrum Team as a whole and the ideal team size.
Cross-Functional Scrum Teams are the teams having all the necessary skills and
proficiency within the team to accomplish their work. These teams do not rely on
anyone outside the team for completing the work items. Thus, the Scrum Team is a
very creative amalgamation of different skills that are required to complete the entire
work item.
Each team member may not necessarily have all the skills required to build the
product but is competent in his/her area of expertise. Having said that, the team
member need not be cross-functional but the team as a whole has to be.
The teams with high Self-Organization and Cross Functionality will result in high
productivity and creativity.
Now, let us move ahead and discuss each of these roles in detail.
He is the one who ensures that the team understands the Scrum Values and
Principles and is able to practice them. At the same time, Scrum Master also assures
that the Team feels enthusiastic about Agile in order to achieve the best out of the
framework. Scrum Master also helps and supports the team to become self-
organized.
Apart from educating and training the team members regarding the importance of
Agile, he is also responsible to make sure that the team feels motivated and
strengthen at all times. He also works on boosting up the communication and
collaboration amongst the team members.
Scrum Master is a Process Leader who helps the Scrum Team and the others outside
the Scrum Team to understand Scrum Values, Principles, and Practices
#1) Coach – The Scrum Master acts as an Agile Coach for both the Development
team and the Product Owner. The Scrum Master in a way acts as an enabler for
proper communication between the Development Team and the Product Owner. The
Scrum Master stays responsible to eliminate the obstacle between both the other
roles.
If it is noticed that the Product Owner is not getting involved or not giving proper time
to the Development Team, then it is the Scrum Master’s job to coach the Product
Owner regarding the importance of his involvement to the overall team’s success.
#2) Facilitator – The Scrum Master also acts as a facilitator for the Scrum Team. He
facilitates and organizes all the Scrum Events requested by the Scrum Team
Members. The Scrum Master also facilitates the Team in making important decisions
that would increase the productivity of the Scrum Team as a whole.
The Scrum Master never orders the Team Members to do something rather, he helps
them in achieving it by coaching and guiding.
#3) Removing Impediments – The Scrum Master is also responsible for removing the
impediments that impact the team’s productivity in delivering business. Any
impediment that the team members cannot resolve on their own comes to the
Scrum Master for resolution.
The Scrum Master prioritizes these impediments based on their impact on the team’s
productivity and business and starts working on them.
#4) Interference Gatekeeper – The Scrum Master also safeguards the Scrum Team
from outside interference and distraction so that the team can remain focused on
delivering the best value to the business after every sprint.
The interference can be of a greater concern if the team is working in a Scaled Scrum
environment where multiple Scrum Team is working together and have the
dependencies amongst them.
The Scrum Master makes sure that the team stays out of any irrelevant discussion
and focuses on the Sprint items whereas he himself takes the responsibility of
addressing the queries and concerns coming from outside.
Scrum Master is responsible to protect the team from outside interference and for
removing the impediments in order to let the team focus on delivering the business
value.
#5) Servant Leader – The Scrum Master is often referred to as a Servant Leader of
the Scrum Team. One of his most important responsibility is to ask the Scrum Teams
for their concerns and to make sure that they are addressed.
It is the duty of the Scrum Master to confirm that the essential requirements of the
team are prioritized and met to let them work effectively and produce high
performing results.
#6) Process Improver – The Scrum Master along with the team is also responsible for
regularly improvising the processes and practices employed to maximize the value
being delivered. It is not the Scrum Master’s responsibility to get the work done but it
is his responsibility to enable the team to devise a process that would let them
complete their sprint goals.
Product Owner is set to be involved throughout the Sprint Activities and Development
efforts and plays a very crucial role in the success of a product.
#1) Bridging the Gap – Product Owner works closely with the internal and external
stakeholders to gather the inputs and synthesize a vision to place the product
features in the Product Backlog.
At the same time, the Product Owner ensures that the Development Team
understands what needs to be built and when. He collaborates with the team on a
daily basis. Product Owner’s engagement with the Team increases the feedback
frequency and response time which as a result boosts the value of the product being
built.
Product Owner ensures that the Product Backlog items are transparent & clearly
expressed and everyone in the team holds the same understanding of the item.
#2) Manages Product Backlog – As an outcome to the above point, the Product
Owner is responsible for the creating and managing the Product Backlog, ordering the
items in the Product Backlog to best achieve the Stakeholder’s requirements i.e.
prioritization of Product Backlog items and finally he should always be available to
answer or give clarification to all the Development Team’s queries.
Anyone who wants to add/remove an item in the Product Backlog or needs to change
the priority of an item should be directed to the Product owner
#3) Certifying a Product – His another responsibility is to certify the features being
built. In this process, he defines the Acceptance Criteria for each of the Product
Backlog Item. The Product Owner might also create the Acceptance Tests
representing the Acceptance Criteria defined by him or might take an assistance from
the SMEs or the Development Team in creating them.
Now, he is the one who ensures that the Acceptance Criteria are met by executing
the Acceptance Tests. He may choose to execute these Acceptance Tests on his own
or can ask the experts to do so to ensure that the functional and quality aspects are
fulfilled and expectations are met.
This activity is usually done throughout the sprint as and when the items are
completed so that the mistakes could be uncovered and can be fixed before the
actual Sprint Review Meeting.
#4) Participation – Product Owner is a key participant in the Sprint related activities.
He works closely with the Development Team in explaining the Items, their scope and
the value it holds.
He also acts as an enabler for the Development Team to be able to pick up the
Product Backlog items that they are supposed to deliver by the end of the Sprint.
Besides Sprint activities, Product Owner also works on the Product Release activities.
During the Product release activities, the Product Owner engages with the
Stakeholders to discuss the items of the next release. One of the key success factors
for a team to flourish is that the entire team should respect the Product Owner and
his decisions. No one other than the Product Owner should tell the team what items
to work on.
The Proxy Product Owner is also empowered to make the necessary decisions on
behalf of the actual Product Owner.
The Development Team
Another very important part of the Scrum Team is the Development Team. The
Development Team is comprised of developers proficient in their own area of
expertise. Unlike the other Scrum Team members, the Development Teamwork on the
actual implementation of the potentially deliverable software/increment which is to
be delivered at the end of each Sprint.
The Development Team may consist of people having specialized skills like Front-end
Developers, Backend Developers, Dev-Ops, QA Experts, Business Analyst, DBA etc.,
but they are all referred to as Developers; No other titles are allowed. The
Development Team cannot even have sub-teams within it like the testing team,
requirement specification team etc.
The Team is set up considering all the essential skill set required to successfully
develop, test & deliver the product increments every Sprint without the outside help.
Thus, the team is expected to be self-sufficient and cross-functional. The
Development Team doesn’t take any help from outside the Scrum Team and manages
their own work.
The accountability of developing Increments always lies with the Development Team
as a whole but everyone in the Scrum Team is responsible for the overall delivery.
It is solely the Development Team’s decision to add/remove a Team Member. If a new
skill set is required, the Development Team can choose to build that expertise within
the team or add a new member to the team.
#1) Development and Delivery – The Development Team is responsible for creating a
done increment based on the ‘Definition of Done’ at the end of each sprint. The done
Increment may not necessarily be a part of the next production release but it is
definitely a potentially releasable functionality that an end user can use.
It is the Product Owner’s call to decide what needs to be part of the release. The
Development Team though is accountable for developing and delivering the Done
Increment every Sprint that meets the criteria under Definition of Done.
#2) Tasking and Providing Estimations – The Development Team is also responsible
for picking up the User Stories/Items from the prioritized Product Backlog to be
delivered in the next Sprint. Thus, these Items then constitute a Sprint Backlog.
Sprint Backlog is created during a Sprint Planning meeting.
Nobody tells the Development Team what and how to do things. It is the
Development Team’s responsibility to pick up the items from the Product Backlog
that can be delivered in the next Sprint. Once the Sprint is started, the items cannot
be changed/added/removed.
Development Team size should be chosen wisely as it can directly hamper the
productivity of the team thereby impacting the product delivery. The Development
Team should not be very large as it might require a lot of coordination amongst the
team members.
However, for a very small team, it would be very difficult to have all the skills required
to deliver an Increment. Thus, an optimal number should be chosen for the
Development Team Size.
Summary
Scrum Team
Roles
Product Owner
Development Team
Scrum Master
Size
Self-Organizing Team
Cross-Functional Team
Has all the skill sets required to complete their work without needing any
outside help.
Product Owner
Scrum Master
Makes sure that the Scrum is clearly understood and adopted by the team.
Is a servant leader for the Scrum Team.
Removing Impediments
Safeguard the team from useless interactions to maximize the business value
created by the Scrum Team.
Facilitating Scrum events whenever requested.
Ensures that the meetings are time boxed.
Development Team
That is all we had in store on Scrum Teams Roles and Responsibilities. We discussed
the responsibilities that each of the team members holds and how they work as a
whole team.
Stay tuned to know more on Scrum Artifacts in our upcoming tutorial, where we will
discuss on the by-products such as Product Backlog, Sprint Backlog, and
Increments.