Rohit Bhardwaj, Principal Software Engineer, Kronos Incorporated
Scrum is a agile development framework which relies on a self-organizing and
cross-functional team. The Scrum team is self-managing. The team decides the
most important stories to work to make the project successful. Product owner
helps in prioritizing the backlog and current sprint.
Direct Hit! |
Applies To: Programmers, Testers, Product |
There are three roles in Scrum; Product Owner, ScrumMaster and Team. The
ScrumMaster acts as a facilitator or a coach for the team helping to resolve
impediments. The Product Owner acts as an interface with customers, users and
other products. Each Scrum project consists of time boxed sprints for two to
four weeks. At the start of sprint, there is sprint planning meeting. The team
looks at priority stories to work on and commit for delivering features at the
end of sprint. At the end of sprint in retrospective meeting, team demonstrates
the features developed to the product owner and customers. This is the fastest
way to get feedback and self correct any feature developed. The ScrumMaster acts
as the team's coach who helps resolve any problem or blocking issues. Main
importance is to improve team performance. ScrumMaster does not give direction
to the team in creating stories and implementing them. He acts as a facilitator
resolving issues as they come and help keep the team focused in working on tasks
in hand and not get distracted by outside. Product Owner's job is to create a
vision for the product which sometimes called product roadmap. From this
roadmap, the backlog stories are created. Product Owner with the team's help
ensures that product backlog is prioritized. He presents the product to
customers for feedback while the project is in the development phase. This is
different than waterfall model where the customer needs to commit to
requirements.
Team consists of everyone who is responsible for making the project
successful. The team signs up for stories in sprint. Each person takes a story
and first put estimates for writing story tests, coding and acceptance testing.
The product backlog consists of list of stories which need to be done before
the product can be released to the customer. Product owner helps in prioritizing
feature list. The best way to create backlog is to define user stories. User
stories are description of feature functionality from the perspective of
customer who is going to use the system. First task for any project is sprint
zero planning, which consists of spikes for research items. Other artifact is
the spring burn down chart & release burn down chart. Burndown is a management
tool to find out the remaining work for a sprint or a release. Burndown helps
management understand how the project is performing and whether the promised
completion date for the project can be met. Daily Scrums help team to
synchronize work & help in resolving problems occured.