A Brief Introduction to Scrum Methodology
An Introduction to Scrum
Scrum is an agile process for managing complex projects, especially software development that has dynamic and highly emergent requirements. Scrum software development proceeds to its completion via a series of iterations called Sprint. Small teams consisting of a 6-10 people (it may vary) divide their work into “mini projects (iterations)” that have duration of about one – four weeks during which a limited number of detailed user stories are done.
We can consider sprint as an iteration of a full project, which is treated as a small meaningful project usable by the customer.
Sprint has different phases, just like waterfall model.
Planning: Any Sprint starts with planning. In the sprint planning meeting, a small chunk from the top of the product backlog are pulled and it is decided how to implement those pieces. The pieces, generally called user stories are taken into the sprint and points are provided to them as per their complexity. Some specific points (depending on team size and sprint duration) are taken to be completed within a given duration. After taking the user stories to the sprint, all the user stories are broken down into sub tasks and the sub tasks are assigned to the team in “To Do” state. Sometimes, all the user stories are not pulled during the sprint planning meeting. Some of the stories can be pulled in the middle of the scrum when any user story is completed before the time.
Daily Scrum: Daily scrum is the meeting where team members meet every day on a scheduled time to share updates to scrum master on the following things:
- What did they do in their tasks since last meeting?
- What are they planning to do before next daily scrum meeting?
- Is there anything that is preventing them to do what they planned?
Note: Duration of this meeting is very short (15-20 minutes).
Story Time: This can also be called as a Mid-Sprint meeting, which is generally conducted after spending one week. In this meeting, existing user stories (which are in the current sprint) are broken down for upcoming backlog items if required.
Show and Tell: In this meeting, developers show what they have developed with the sprint.
Sprint Review and Retrospective: The sprint ends with sprint review and retrospective meetings. In sprint review, it is observed how the sprint went. In retrospective, it is observed what the problem occurred during sprint completion, which can be improved for the next sprint in order to make the sprint more productive. Team members share their ideas so that next sprint could be more productive.
Burn down chart: Team’s effort and progress are denoted in a graphical manner, which shows where we are in the sprint.
Roles of people in Scrum
Each person within the team plays a different role in scrum.
Product Owner: Product owner represents the voice of the customer from a business perspective and creates a prioritized wish list of the user stories called a product backlog. Product owner administers a product backlog – a current “To Do” list where all the functional specifications for a product are listed within the user story as acceptance criteria according to business perspective. So, we can also denote Product Owner as ‘Customer’.
Scrum Master: The responsibility of scrum master is to arrange different meetings so that team members can meet with each other for different perspectives with the sprint tasks. Scrum master always aims at providing the team with the best possible circumstances for realizing the goals fixed for the sprint. He ensures that every team member has an appropriate task to do. We can call him coach of the team.
The Scrum Team Members: Team members work on actual sub tasks/ bugs assigned to them. They resolve the sub tasks to make them “Done” and share their updates to scrum master.