We have studied the Agile methodology where Agile is a set of beliefs which should be followed to develop the software development project. On these beliefs or values, there is many models have developed, and in which one of the models is a scrum.
Before going to deep in Scrum, you should know the meanings of some basic terms:
- Scrum: Scrum is an agile framework that helps you to organize, iterate, and continue the same project that you are working on. In scrum, a product is built in the series of iterations known as sprints or parts.
- Sprint: Sprint is a time-boxed period in which the scrum team needs to finish the set amount of work. Each sprint has a specified timeline, i.e., 2 weeks to 1 month. The scrum team agrees with this timeline during the sprint planning meeting.
- Scrum Master: Scrum Master is defined as a facilitator or servant-leader to the Scrum development team. Scrum Master must ensure that scrum principles are followed.
- Scrum development team: A scrum development team is a collection of individual members that includes developers, QA, and scrum master. It decides and provides the effort estimate. The recommended size of the scrum team is between 5 and 9 members.
How does Scrum work
In the Waterfall model, we have read that the first whole requirements are done, then the whole designing is done, then whole development is done, and then whole testing and deployment is done. This model takes full lifecycle of the product, and then the only product is viewable to the client. While Scrum says that consider a small part of the software and then plan it, build it, test and finally review it. This small module which has been developed will be shown to the customers. For example, we need to develop the e-commerce website, which can be broken into a number of sprints or modules such as login page, payment page, cart page, etc. Then, each module is developed individually and shown to the customers simultaneously. Therefore, we can say that after the completion of each sprint, the product is shipped to the client, though not the complete product but the part of the functionality.
Artifacts of Scrum
The documentation and stuff which are prepared in scrum are known as Artifacts.
Following are the artifacts of Scrum:
- Product Backlog
Product Backlog is a collection of activities that need to be done within the project. When we want to develop software, then we need to perform the 'n' number of activities. For example, we need to develop the e-commerce website then we have to do the 'n' number of activities such we need to create the login page, payment system, cart system, etc. and these 'n' number of activities which are needed to develop the software is known as the product backlog.
- Sprint Backlog
We know that in a scrum, we break the scrum into 'n' number of sprints and the objective of a sprint is to bring the small functionality of the software and ship it to the client for demo. In Product backlog, we have to do all the activities which are required to develop the software while in the sprint backlog, a small set of product backlog activities are performed within that sprint. The 'n' number of sprint backlogs is equal to the 1 product backlog.
- Burndown chart
Burndown chart is the outcome of the sprint, which shows the progress in a sprint. After each sprint, we need to examine the progress of each sprint. The burndown chart tells how you are working on the sprint. In the burndown chart, the graph starts from some time, i.e., where the activity gets started, and at the end of the sprint, the graph reaches to zero where the activity ends. It is generally an inclined line from top to bottom.
There are three scrum roles:
- Product Owner
There is a client who wants to develop his software, so he approaches to the company who can develop his software. What does the company do? The Company assigns a role, i.e., Product Owner. Product Owner is the person who communicates with the clients understands their requirements. Product Owner is the responsible person from the company for software development.
- Scrum Master
During the sprint, Agile says that the team should meet together once daily. When the team is following scrum means that they are conducting meetings daily for 10 to 15 minutes. This meeting is known as a scrum meeting. Scrum Master is the person who handles the scrum meeting.
The team comprises of persons who work on the project. It can be developers, testers or designers. When we talk about Agile or Scrum then we talk about the team, we do not talk about developers, or testers as an individual. Agile says that developers can work as a tester or testers can work as a developer when the need arises.
Let's look at the following Scrum Ceremonies:
- Sprint Planning
Scrum consists of a number of sprints which have a different set of modules used to deliver the software. Before starting the sprint planning, we have a meeting known as sprint planning, and in sprint planning, we discuss what we are going to do in a sprint. In sprint planning, product owner discusses about each feature of a product and estimates the effort involved by the development team.
- Daily Scrum
In Scrum, meetings are conducted daily for 15 minutes by Scrum Master, where Scrum Master is the person who manages the meeting. Meeting consists of scrum master, developers, testers, designers, product owner, the client where product owner and client are optional.
- Sprint Review
After the completion of each sprint, the meeting is conducted with a client in which a product is shown to the client for demo and team discuss the features they added in the project.